maxpay / hpp-client
Maxpay PHP 库
2.0.3
2021-12-21 14:33 UTC
Requires
- php: >=7.1
- ext-curl: *
- ext-iconv: *
- ext-json: *
- ext-mbstring: *
- psr/log: ~1.0
Requires (Dev)
- phpstan/phpstan: 0.8.5
- squizlabs/php_codesniffer: 1.5.3
This package is not auto-updated.
Last update: 2024-09-25 03:17:52 UTC
README
您可以在 https://my.maxpay.com/ 上注册 maxpay 账户
要求
PHP 7.1 及以上。
Composer
您可以通过 Composer 安装绑定。运行以下命令
composer require maxpay/hpp-client
要使用绑定,请使用 Composer 的 自动加载
require_once('vendor/autoload.php');
入门指南
简单的支付表单
$scriney = new \Maxpay\Scriney('publicKey', 'privateKey'); echo $scriney->buildButton('userId')->buildPopup();
预选产品的支付表单
$scriney = new \Maxpay\Scriney('publicKey', 'privateKey'); echo $scriney->buildButton('userId')->setProductId('productIdInMportal')->buildPopup();
填写用户信息的支付表单
$scriney = new \Maxpay\Scriney('publicKey', 'privateKey'); echo $scriney->buildButton('userId')->setUserInfo( new \Maxpay\Lib\Model\UserInfo( 'example@example.com', 'John', 'Anderson', 'USA', 'Los angeles', '90217', '2896 Providence Lane', '6267746913' ) )->buildPopup();
具有自定义返回 URL 的支付表单
$scriney = new \Maxpay\Scriney('publicKey', 'privateKey'); echo $scriney->buildButton('userId')->setSuccessReturnUrl( "https://example.com/success" )->setDeclineReturnUrl( "https://example.com/decline" )->setBackUrl( "https://example.com/back" )->buildPopup();
具有自定义参数的支付表单,参数将在回调中返回
$scriney = new \Maxpay\Scriney('publicKey', 'privateKey'); echo $scriney->buildButton('userId')->setCustomParams( [ 'custom_param1' => 'param value 1', 'custom_param2' => 'param value 2' ] )->buildPopup();
具有动态产品的支付表单
$scriney = new \Maxpay\Scriney('publicKey', 'privateKey'); echo $scriney->buildButton('userId')->setCustomProducts( [ new \Maxpay\Lib\Model\FixedProduct( 'myProducId1', 'Garden Table', 198.98, 'USD', null, null, 'Magic Garden Table & Set of 2 Chairs' ), new \Maxpay\Lib\Model\FixedProduct( 'myProducId2', 'Chair', 110.50, 'USD', null, null, 'Magic Garden Rocking Chair' ) ] )->buildPopup();
验证回调数据
$data - 从 file_get_contents('php://input') 读取的回调响应数据的 JSON 字符串;$headers - 回调响应头部的数组
$scriney = new \Maxpay\Scriney('publicKey', 'privateKey'); if ($scriney->validateCallback($data, $headers)) { echo 'callback data is valid'; } else { echo 'invalid callback data'; }
API
续订 API
通过现有产品创建简单的续订请求
$scriney = new \Maxpay\Scriney('publicKey', 'privateKey'); try { $result = $scriney->createRebillRequest( '569ded06-c1c0-4ecb-9b9c-59c1630f6969', 'userId' )->setProductId( 'p_3ba675d110' )->setUserInfo( new \Maxpay\Lib\Model\UserInfo( 'example@example.com', 'John', 'Anderson', 'USA', 'Los angeles', '90217', '2896 Providence Lane', '6267746913' ) )->send(); } catch (\Maxpay\Lib\Exception\GeneralMaxpayException $e) { // } if ($scriney->validateApiResult($result)) { //Api result is valid }
创建带有自定义产品和自定义参数的续订请求
$scriney = new \Maxpay\Scriney('publicKey', 'privateKey'); try { $result = $scriney->createRebillRequest( '569ded06-c1c0-4ecb-9b9c-59c1630f6969', 'userId' )->setUserInfo( new \Maxpay\Lib\Model\UserInfo( 'example@example.com', 'John', 'Anderson', 'USA', 'Los angeles', '90217', '2896 Providence Lane', '6267746913' ) )->setCustomProduct( new \Maxpay\Lib\Model\FixedProduct( 'myProducId1', 'Garden Table', 198.98, 'USD', null, null, 'Magic Garden Table & Set of 2 Chairs' ) )->setCustomParams( [ 'custom_param_name1' => 'value 1', 'custom_param_name2' => 'value 2' ] )->send(); } catch (\Maxpay\Lib\Exception\GeneralMaxpayException $e) { // } if ($scriney->validateApiResult($result)) { //Api result is valid //Api result example: /* Array ( [transactionId] => hppR1463555724.2658mId548aId9 [uniqueUserId] => userId [totalAmount] => 198.98 [currency] => USD [transactionType] => SALE [status] => success [message] => Transaction processed successfully [code] => 0 [productList] => Array ( [0] => Array ( [productId] => myProducId1 [name] => Garden Table [amount] => 198.98 [currency] => USD ) ) [customParameters] => Array ( [custom_param_name1] => value 1 [custom_param_name2] => value 2 ) [checkSum] => 285e7c239dd8945b49157e36c0000692932e3dca04e8581ffa43abecef260beb ) */ }
取消订阅 API
$scriney = new \Maxpay\Scriney('publicKey', 'privateKey'); $result = $scriney->stopSubscription('hppR1463555724.2658mId548aId9', 'userId'); if ($scriney->validateApiResult($result)) { //Api result is valid }
取消试用期产品的 API
$scriney = new \Maxpay\Scriney('publicKey', 'privateKey'); $result = $scriney->cancelPostTrial('hppR1463555724.2658mId548aId9'); if ($scriney->validateApiResult($result)) { //Api result is valid }
全额/部分退款 API
$scriney = new \Maxpay\Scriney('publicKey', 'privateKey'); $result = $scriney->refund('hppR1463555724.2658mId548aId9', 123.24, 'USD'); if ($scriney->validateApiResult($result)) { //Api result is valid } //Api result example /* Array ( [message] => Refund processed successfully, but all subscriptions already stopped. [status] => Success [transactionId] => hppAR1468587714.1807mId548aId9 [checkSum] => ee7ecd3b401735c40c5da4c3dcaf38952df5721d9626402cbbc1ccadd65b5616 ) */
开发
安装依赖项
composer install