robustastudio / payfort-start-php
Payfort Start 让您在中东地区接受在线支付变得轻而易举
Requires (Dev)
- phpunit/phpunit: 4.2.*
This package is not auto-updated.
Last update: 2024-09-20 19:55:42 UTC
README
Start PHP
Start 让您在中东地区接受支付变得非常简单。在 https://start.payfort.com 注册一个账户。
入门指南
在您的 PHP 项目中使用 Start 简单易行。
通过 Composer 安装
如果您使用 Composer(实际上,现在谁不用呢?),您只需运行
php composer.phar require robustastudio/payfort-start-php
.. 或者将一行添加到您的 composer.json
文件中
{ "require": { "robustastudio/payfort-start-php": "*" } }
现在,运行 php composer.phar install
将直接将库拉到您本地的 vendor
文件夹。
手动安装
从 GitHub 仓库获取最新发布版本的源代码:https://github.com/RobustaStudio/payfort-start-php/releases/latest,并将其复制到您的项目中。
在您的 PHP 文件中添加以下内容
<?php
require_once("path-to-start-php/Start.php");
?>
注意(Windows):在开始使用 start-php 进行开发之前,请检查您的 php_curl 是否可以与我们的 ssl 证书(TLSv1.2)一起工作。您可以通过运行单元测试来完成此操作。如果看到 "SSL 连接错误",则表示您需要安装一个新的 php 版本(至少 5.5.19)。
注意:如果您在共享主机上运行,则可能需要为 php
命令设置 allow_url_fopen
标志。例如,对于安装命令,这可能看起来像 php -d allow_url_fopen=On composer.phar install
。这里的 -d
覆盖了 php.ini
设置,其中 allow_url_fopen
通常设置为 Off
。
使用 Start
如果您还没有账户,您需要创建一个 Start 账户(请快速在 start.payfort.com 注册一个,然后立即回来 .. 我们会等你的)。
有账户了吗?太好了 .. 让我们开始吧。
1. 初始化 Start
要开始,您需要使用您的密钥 API 初始化 Start。下面是这样做的方式(别担心 .. 我们使用的是测试密钥,所以没有真正的钱会交易)
require_once('vendor/autoload.php'); # At the top of your PHP file # Initialize Start object Start::setApiKey('test_sec_k_25dd497d7e657bb761ad6');
就是这样!但是,您可能想对 Start 对象做些什么 —— 如果它没有事情做,它会变得非常无聊。
我们来运行一笔交易,好吗。
2. 通过 Start 处理交易
现在,是时候进行有趣的部分了。以下是您处理 Start 交易所需的所有代码
Start_Charge::create(array( "amount" => 10500, // AED 105.00 "currency" => "aed", "card" => array( "number" => "4242424242424242", "exp_month" => 11, "exp_year" => 2016, "cvc" => "123" ), "description" => "Charge for test@example.com" ));
这笔交易应该会成功,因为我们使用了 4242 4242 4242 4242
测试信用卡。有关测试卡片的完整列表及其预期输出,您可以查看此链接 这里。
您如何知道它成功了?嗯,如果没有抛出异常,那么您就没有问题。
3. 处理错误
交易过程中可能发生的任何错误都会以异常的形式抛出。以下是如何使用 Start 处理错误的示例
try { // Use Start's bindings... } catch(Start_Error_Banking $e) { // Since it's a decline, Start_Error_Banking will be caught print('Status is:' . $e->getHttpStatus() . "\n"); print('Code is:' . $e->getErrorCode() . "\n"); print('Message is:' . $e->getMessage() . "\n"); } catch (Start_Error_Request $e) { // Invalid parameters were supplied to Start's API } catch (Start_Error_Authentication $e) { // There's a problem with that API key you provided } catch (Start_Error $e) { // Display a very generic error to the user, and maybe send // yourself an email } catch (Exception $e) { // Something else happened, completely unrelated to Start }
测试 Start
最好运行单元测试以确保一切正常。这也很简单,只需从您项目文件夹的根目录运行以下命令
php vendor/bin/phpunit tests --bootstrap vendor/autoload.php
注意:您还需要拉取开发依赖,使用composer update --dev
来运行测试套件。
贡献
请阅读我们的贡献指南以获取详细信息
版权所有 (c) Payfort。