judopay / judopay-sdk
Judopay API 的 SDK
5.3.0
2022-10-07 13:52 UTC
Requires
- php: >=5.5
- ext-curl: *
- ext-json: *
- ext-openssl: >=0.0.0
- guzzlehttp/guzzle: ~6.0 | ^7.0
- pimple/pimple: ~3.0
- psr/log: ^1.0
Requires (Dev)
- bossa/phpspec2-expect: ~1.0
- phpdocumentor/reflection-docblock: ^2.0
- phpspec/phpspec: ^2.0
- phpunit/phpunit: ^5.0
- squizlabs/php_codesniffer: ^2.0
- symfony/console: ~2.3
- symfony/finder: ~2.1
- symfony/process: ^2.6
- symfony/yaml: ~2.1
README
JudoPay SDK 提供了将卡支付集成到您的 PHP 项目中的能力。Judo 的 SDK 使您的应用程序中的支付体验更加快速、简单和安全。
***由于行业范围内的安全更新,此 SDK 的版本低于 2.0 将在 2016 年 10 月 1 日之后不再支持。有关这些更新的更多信息,请参阅我们的博客 这里。***
要求
为了确保 Judo PHP 库与您的开发环境正确工作,请确保满足以下要求
- PHP 5.5 及以上
- Composer
入门
1. 集成
SDK 的安装是通过 Composer 包管理器实现的。将 judopay 包添加到您的 composer.json 文件中
"require": { "judopay/judopay-sdk": "5.0.0" }
然后执行
$ composer install
确保您需要 'vendor/autoload.php' 文件,以便 Judopay SDK 类对您的应用程序可用。有关使用 Composer 的更多信息,请参阅 Composer 简介。
2. 设置
要开始使用 SDK,使用您的 API 凭证创建一个新的 Judopay 对象
$judopay = new Judopay( array( 'apiToken' => 'your-token', 'apiSecret' => 'your-secret', 'judoId' => 'your-judo-id' ) );
3. 进行支付
要使用完整的卡详情进行新的支付
$payment = $judopay->getModel('Payment'); $payment->setAttributeValues( array( 'judoId' => 'your_judo_id', 'yourConsumerReference' => '12345', 'yourPaymentReference' => '12345', 'amount' => 1.01, 'currency' => 'GBP', 'cardNumber' => '4976000000003436', 'expiryDate' => '12/25', 'cv2' => 452 ) );
注意:请确保您为每个不同的消费者使用唯一的消费者参考号,为每个交易使用唯一的支付参考号。
可以可选地包含卡地址详情,以便在 AVS 检查中使用,如下所示,(请参阅参数完整列表 这里)
$payment = $judopay->getModel('Payment'); $payment->setAttributeValues( array( 'judoId' => 'your_judo_id', 'yourConsumerReference' => '12345', 'yourPaymentReference' => '12345', 'amount' => 1.01, 'currency' => 'GBP', 'cardNumber' => '4976000000003436', 'expiryDate' => '12/25', 'cv2' => 452, 'cardAddress' => array('address1' => '1 Market Street', 'postCode' => 'E20 6PQ', 'countryCode' => 826) ) );
您可以在 Judopay REST API 参考 中检查所需字段和每个字段的格式。要将请求发送到 API,请调用
$response = $payment->create();
4. 检查支付结果
如果支付成功,您将收到如下响应数组(请参阅完整响应 这里)
Array ( [receiptId] => 520882 [type] => Payment [createdAt] => 2014-08-18T16:28:39.6164+01:00 [result] => Success ... [amount] => 10.00 ... [yourPaymentReference] => 12345 )
还重要的是在您的代码中处理不同的异常。有关错误处理的更多详细信息,请参阅我们的 错误处理部分。
try { $response = $payment->create(); if ($response['result'] === 'Success') { echo 'Payment successful'; } else { echo 'There were some problems while processing your payment'; } } catch (JudopayExceptionValidationError $e) { echo $e->getSummary(); } catch (JudopayExceptionApiException $e) { echo $e->getSummary(); } catch (Exception $e) { echo $e->getMessage(); }
下一步
Judo PHP SDK 支持一系列自定义选项。有关使用 Judo 的更多信息,请参阅我们的 文档。
许可
请参阅 LICENSE 文件了解许可权利和限制(MIT)。