对接支付宝支付
编辑于 2021-06-20 23:38:26 阅读 1496
- 注册支付宝企业账号
- 申请支付产品
- 成为支付宝开发者
下面假如您已经申请了“手机网站支付”
开发设置
主要设置了接口加签方式
和IP白名单
,其他用不到
接口加签方式
普通公钥与公钥证书区别1️⃣
应用私钥、公钥和支付宝公钥2️⃣
- 应用公钥(public key)需提供给支付宝账号管理者上传到支付宝开放平台。
- 应用私钥(private key)由开发者自己保存,需填写到代码中供签名时使用。
- 支付宝公钥,应用公钥上传后会得到对应的支付宝公钥,供验签时使用(如支付回调)
应用网关是什么意思
官方文档这样描述3️⃣
生活号、口碑、现金红包、单笔转账接口等异步通知发送到对应appid应用的应用网关中…
签名
/**
* 签名
* @param $data
* @param $private_key
* @return array
*/
public function _sign($data, $private_key): array {
ksort($data);
//待签名字符串
$string_to_be_signed = urldecode(http_build_query($data));
$res = "-----BEGIN RSA PRIVATE KEY-----\n" .
wordwrap($private_key, 64, "\n", true) .
"\n-----END RSA PRIVATE KEY-----";
openssl_sign($string_to_be_signed, $sign, $res, OPENSSL_ALGO_SHA256);
$signature = base64_encode($sign);
$data['sign'] = $signature;
return $data;
}
alipay.trade.wap.pay(手机网站支付接口2.0)
这个是不需要网络请求的服务端接口,服务端完成参数构建和签名后抛个前端即可,没有网络请求!!! 返回给前端的可以是一个拼装好的form表单的html代码(POST),也可以是一个链接(GET)
参考
1️⃣ https://opendocs.alipay.com/open/291/105971/#普通公钥与公钥证书区别
2️⃣在线生成应用私钥和公钥 https://miniu.alipay.com/keytool/create
3️⃣ https://opensupport.alipay.com/support/helpcenter/193/201602472200
开发指引 https://opensupport.alipay.com/support/codelab/detail/711/713