支付宝快捷支付 PHP服务端签名
程序员文章站
2022-06-07 22:03:24
...
进行支付宝快捷支付开发,希望使用PHP在服务端进行签名,然后发送给Android客户端进行发起支付请求。
下载的官方Demo中只有异步通知的代码,没有找到签名Demo。
自己通过Android客户端的demo,写出来了下面的签名过程,但是一直签名不成功。
变量都是已经设置好的,直接传入了。里面使用的函数,都是官方Demo里面的函数。
include __DIR__ . "/lib/alipay/alipay.config.php";
include __DIR__ . "/lib/alipay/lib/alipay_notify.class.php";
$order_info_array = argSort(array(
'_input_charset' => "utf-8",
'body' => "$body",
'notify_url' => "*******/buy/aliPayCallBack",
'out_trade_no' => "$out_trade_no",
'partner' => $alipay_config['partner'],
'payment_type' => 1,
'seller_id' => $alipay_config['seller'],
'service' => $alipay_config['service'],
'subjet' => "$subjet",
'total_fee' => "$total_fee",
));
// 组合数据
$order_info = createLinkstring(paraFilter($order_info_array));
logResult($order_info);
// 生成签名
$sign = rsaSign($order_info, $alipay_config['private_key_path']);
logResult($sign);
// 对签名进行url编码
//$sign = urlencode($sign, 'UTF-8');
$pay_info = $order_info . "&sign=\"" . $sign . "\"&sign_type=\"RSA\"";
logResult($pay_info);
echo json_encode(array(
'code' => 1,
'data' => $pay_info,
));
有没有哪位朋友做了PHP服务端签名的,可以指点一番吗?
或者给个Demo研究研究。
谢谢了!!!
回复内容:
进行支付宝快捷支付开发,希望使用PHP在服务端进行签名,然后发送给Android客户端进行发起支付请求。
下载的官方Demo中只有异步通知的代码,没有找到签名Demo。
自己通过Android客户端的demo,写出来了下面的签名过程,但是一直签名不成功。
变量都是已经设置好的,直接传入了。里面使用的函数,都是官方Demo里面的函数。
include __DIR__ . "/lib/alipay/alipay.config.php";
include __DIR__ . "/lib/alipay/lib/alipay_notify.class.php";
$order_info_array = argSort(array(
'_input_charset' => "utf-8",
'body' => "$body",
'notify_url' => "*******/buy/aliPayCallBack",
'out_trade_no' => "$out_trade_no",
'partner' => $alipay_config['partner'],
'payment_type' => 1,
'seller_id' => $alipay_config['seller'],
'service' => $alipay_config['service'],
'subjet' => "$subjet",
'total_fee' => "$total_fee",
));
// 组合数据
$order_info = createLinkstring(paraFilter($order_info_array));
logResult($order_info);
// 生成签名
$sign = rsaSign($order_info, $alipay_config['private_key_path']);
logResult($sign);
// 对签名进行url编码
//$sign = urlencode($sign, 'UTF-8');
$pay_info = $order_info . "&sign=\"" . $sign . "\"&sign_type=\"RSA\"";
logResult($pay_info);
echo json_encode(array(
'code' => 1,
'data' => $pay_info,
));
有没有哪位朋友做了PHP服务端签名的,可以指点一番吗?
或者给个Demo研究研究。
谢谢了!!!
最后在网上找到一个网友的分享代码,贴在下面:
支付宝快捷支付PHP服务端签名代码