dofinity / creditguard
用于集成CreditGuard支付功能的PHP库。
dev-master
2024-03-10 21:23 UTC
Requires
- php: ^5.6 || ^7.0 || ^8.0
- guzzlehttp/guzzle: ^6.2 || ^7.0
- openlss/lib-array2xml: dev-master
Requires (Dev)
- phpunit/phpunit: >=5.7.27
- wsdl2phpgenerator/wsdl2phpgenerator: dev-master
This package is auto-updated.
Last update: 2024-09-10 22:26:31 UTC
README
CreditGuard
一个轻量级的PHP辅助库,用于集成CreditGuard API支付。
安装
通过Composer安装库
$ composer require dofinity/creditguard:dev-master
使用自定义WSDL(CreditGuard的自定义API)
目前为了使用自定义类,你有两种选择
- 将您的更改导出为补丁并应用于库(不推荐)
- 分支仓库并应用您的自定义WSDL
通过WSDL生成CG类
如上所述,库包含预先生成的CG类,这些类是从我们的演示端点生成的。如果您的终端提供了针对您特定需求的类,您将需要使用wsdl2phpgenerator
再次生成这些类,该工具已在我们的composer.json中定义为一个开发依赖项。
$ composer install --dev
然后执行generateWsdl.php?wsdl_path=https%3A%2F%2Fxxx.creditguard.co.il%2Fxpo%2Fservices%2FRelay%3Fwsdl
,现在您应该能在/wsdl
目录中看到更新后的类。
请注意,URL必须进行编码才能使其生效。
安全考虑和调整
- 请确保在生产环境中wsdlGenerate.php为只读(400)
- 不要在非开发环境中使用
composer install --dev
基本用法
支付页面设置
examples/newTransactionRedirectUrl.php
支付验证
// callback.php require __DIR__ . '/vendor/autoload.php'; $CreditguardTransactionId = $_GET['CreditguardTransactionId']; $CreditguardStatusCode = $_GET['CreditguardStatusCode']; $ConfirmationKey = $_GET['ConfirmationKey']; $Total = 100; $PaymentResponse = new \Creditguard\PaymentResponse( $CreditguardStatusCode, $CreditguardTransactionId, '', '', $ConfirmationKey, 100 ); $payment = new \Creditguard\CreditguardPayment(); $payment->setPaymentResponse($PaymentResponse); if ($payment->ValidatePayment()) { echo 'Ok. Payment has been verified'; } else { echo 'Fail. Payment forged'; }
检索交易信息
// callback.php require __DIR__ . '/vendor/autoload.php'; // change terminal, user and password to real credentials $terminal = '0123456'; $user = 'user'; $password = 'password'; $CreditguardTransactionId = $_GET['CreditguardTransactionId']; $transaction = new \Creditguard\CreditguardTransaction( $terminal, $user, $password, $CreditguardTransactionId ); // use properties from src/Creditguard/CreditguardTransaction.php class var_dump($transaction);