getsafepay / safepay-php
Safepay Checkout的官方PHP SDK
v1.0.0
2022-08-18 09:26 UTC
Requires
- php: >=7.4
README
为Safepay API提供的官方PHP SDK。
安装
composer require getsafepay/safepay-php
用法
通过传递配置来导入并创建一个Safepay客户端;
use Safepay\Safepay;
$config = [
"environment" =>'sandbox',
"apiKey" => 'sec_e9273e07a7ac',
"v1Secret" => 'a73e5dad7cd8b1e7fea2f6d93f4c8',
"webhookSecret" => '14509fdd8591a60427e'
];
$Safepay = new Safepay($config);
现在您可以创建支付和结账链接。
支付
$response = $Safepay->payments->getToken(['amount'=>1000,'currency'=>'PKR']);
//$response['token'];
// Pass `token` to create checkout link
结账
创建结账链接。
对于移动端,在负载中将source
设置为mobile
,而不是custom
。您也不需要传递success_url
或cancel_url
。
$link = $Safepay->checkout->create([
"token" => $response['token'],
"order_id" => 234,
"source"=>'custom',
"webhooks"=>'true',
"success_url" =>"url /success.php",
"cancel_url" => "url /cancel.php"
]);
//redirect user to url
if( $link['result'] == 'success' ) {
header('Location:'.$link['redirect']);
}
验证
在成功页面上的签名验证。
$tracker = $_POST['tracker'];
$signature = $_POST['sig'];
if( $Safepay->verify->signature($tracker,$signature) === true) {
//Signature is valid
}
Webhook
Webhook POST请求的签名验证
$X_SFPY_SIGNATURE = @$_SERVER['HTTP_X_SFPY_SIGNATURE'];
$data = file_get_contents('php://input');
if( $Safepay->verify->webhook($data,$X_SFPY_SIGNATURE) === true) {
//Web Hook request is valid
}