payop / sdk-php
PayOp PHP SDK
v0.0.1
2019-03-05 08:09 UTC
Requires
- php: >=5.6.0
- ext-curl: *
- ext-json: *
- guzzlehttp/guzzle: ^6.3
Requires (Dev)
- phpunit/phpunit: ^5.7
This package is auto-updated.
Last update: 2019-09-05 22:33:21 UTC
README
需求
PHP 5.6.0 及以上版本。
Composer
您可以通过Composer安装SDK。运行以下命令
composer require payop/sdk-php
要使用SDK,请使用Composer的自动加载
require_once('vendor/autoload.php');
手动安装
如果您不想使用Composer,您可以下载最新版本。然后,要使用SDK,请包含autoload.php
文件。
require_once('vendor/autoload.php');
依赖
SDK正常工作需要以下扩展
如果您使用Composer,这些依赖项应该会自动处理。如果您手动安装,请确保这些扩展可用。
示例
创建支付
<?php use Payop\Exception\RequestErrorException; use Payop\Exception\ValidationException; use Payop\Model\PaymentCustomer; use Payop\Model\PaymentOrder; use Payop\Model\PaymentRequest; use Payop\SDK; require_once __DIR__.'/../vendor/autoload.php'; $order = PaymentOrder::create('TEST_SDK_1', 101.04, 'USD'); $customer = PaymentCustomer::create('test@email.com'); $paymentRequest = new PaymentRequest($order, $customer); $sdk = new SDK('public key', 'secret key'); try { $redirectUrl = $sdk->createPayment($paymentRequest); } catch (ValidationException $e) { echo $e->getMessage().PHP_EOL; } catch (RequestErrorException $e) { echo "{$e->getMessage()}: {$e->getErrorCode()}".PHP_EOL; } catch (\GuzzleHttp\Exception\GuzzleException $e) { echo $e->getMessage().PHP_EOL; } echo $redirectUrl.PHP_EOL; # Result contains link: https://payop.com/en/payments/v1.1/payment/pay/1debf20a-3f1c-11e9-b00e-0656050605
结果
https://payop.com/en/payments/v1.1/payment/pay/1debf20a-3f1c-11e9-b00e-0656050605
获取商户支付方式
<?php use Payop\Exception\RequestErrorException; use Payop\Exception\ValidationException; use Payop\SDK; require_once __DIR__.'/../vendor/autoload.php'; $sdk = new SDK('public key', 'secret key'); try { $collection = $sdk->getPaymentMethods(); } catch (ValidationException $e) { echo $e->getMessage().PHP_EOL; } catch (RequestErrorException $e) { echo "{$e->getMessage()}: {$e->getErrorCode()}".PHP_EOL; } catch (\GuzzleHttp\Exception\GuzzleException $e) { echo $e->getMessage().PHP_EOL; } var_dump($collection);
结果
class Payop\Collection#33 (1) { protected $items => array(70) { [0] => class Payop\Model\PaymentMethod#30 (5) { protected $title => string(8) "7 ELEVEN" protected $image => string(69) "https://payop.com/public/front/image/payment_methods/seven_eleven.jpg" protected $id => string(36) "1de64ea0-a210-11e8-a646-379802902746" protected $type => string(4) "cash" protected $config => class Payop\Model\PaymentMethodConfig#23 (1) { ... } } ...
获取交易信息
<?php use Payop\Exception\RequestErrorException; use Payop\Exception\ValidationException; use Payop\SDK; require_once __DIR__.'/../vendor/autoload.php'; $sdk = new SDK('application-101', '8b30a6c9de9de06c5aae6e2aaddfcca7'); try { $collection = $sdk->getTransaction(912164324); // OR $collection = $sdk->getTransaction('445bbbbbb45bbbbbbbbbbbbb3434545'); } catch (ValidationException $e) { echo $e->getMessage().PHP_EOL; } catch (RequestErrorException $e) { echo "{$e->getMessage()}: {$e->getErrorCode()}".PHP_EOL; } catch (\GuzzleHttp\Exception\GuzzleException $e) { echo $e->getMessage().PHP_EOL; } var_dump($collection);
结果
class Payop\Model\Transaction#33 (8) { protected $id => int(912164324) protected $txid => string(64) "445bbbbbb45bbbbbbbbbbbbb3434545" protected $status => string(5) "error" protected $order => class Payop\Model\TransactionOrder#36 (3) { private $id => string(5) "orderid" private $amount => double(1) private $currency => string(3) "USD" } protected $language => string(2) "en" protected $error => NULL protected $isDeferred => bool(false) protected $deferredMessage => NULL }