ibt-payment / merchant-php-sdk
商户PHP SDK
Requires
- php: >=5.6.0
- ext-curl: *
- ext-json: *
- ext-openssl: *
- monolog/monolog: 1.23.0
Requires (Dev)
- brainmaestro/composer-git-hooks: ^2.8
- friendsofphp/php-cs-fixer: ^3.5.0
- phpstan/phpstan: ^1.0
- phpunit/phpunit: ^9.5
This package is auto-updated.
Last update: 2024-09-19 13:08:45 UTC
README
官方网站 (https://didipay.didiglobal.com)
依赖项
需要PHP 5.6.0或更高版本
需要ext-openssl
需要ext-curl
需要ext-json
签名过程
获取所有请求参数,不包括字节类型参数,例如文件和字节流,移除签名字段,并按第一个字符的ASCII码值(按升序字母顺序)升序排序。两个字符的键值ASCII码按升序排序,依此类推。
过滤和排序
拼接:将排序后的参数及其对应的值组合成“参数=参数值”的格式,并用&字符连接这些参数,生成的字符串即为待签名字符串。
调用签名算法:使用对应语言的SHA256WithRSA签名函数,使用商户的私钥对待签名字符串进行签名,并进行Base64编码。将生成的签名分配给签名参数,并将其连接到请求参数中。
密钥格式问题
本项目中使用的私钥为PKCS1格式。Java语言需要移除密钥中的BEGIN、END行、换行符和空格。非Java语言保留原始密钥格式。
入门指南
我们建议使用Composer从Packagist管理第三方依赖项,它允许您添加新的库并将它们包含在PHP项目中。
安装Composer
从命令行下载Composer。
安装库
我们建议使用Composer安装库,这是PHP的包管理器
命令行
composer require didipay/merchant-php-sdk 安装库后,该库会自动添加到您的项目的composer.json文件中作为依赖项。例如
{ "require": { "didipay/merchant-php-sdk": "^${merchant-sdk-version}" } }
要使用绑定,请使用Composer的自动加载。例如
require_once('vendor/autoload.php');
您可以使用Composer安装此软件包。例如
composer require didipay/merchant-php-sdk
运行您的第一个请求
现在您已安装PHP SDK,您可以创建API请求。
require_once 'vendor/autoload.php'; use DidiPay\client\merchantClient; class MerchantClientTest { public function test_pay_query() { $params = ['merchant_order_id' => $merchantOrderId, 'pay_order_id' => $payOrderId]; $domain = "https://api.99pay.com.br"; $defaultOption = ['app_id' => $appId, 'merchant_id' => $merchantId, 'private_key' => $privateKeyContent, 'domain' => $domain]; $client = new merchantClient($defaultOption); $ret = $client->payQuery($params); echo $ret; } }
将文件保存为merchant_client_test.php。从命令行进入您刚刚保存的文件的目录,然后运行
php merchant_client_test.php
如果一切正常,命令行将显示以下响应。保存这些标识符,以便在构建您的集成时使用。这完成了快速入门。有关处理您刚刚创建的产品支付的不同方式的链接如下。