近期有自动打款到账户的需求,微信接口开通要求为企业账号+过往30天连续有交易;支付宝账户签约要求:仅支持注册满90天,且已实名认证的企业支付宝账户签约。微信暂时没达到要求,如下记录支付宝的。
基本集成
1.支付宝转账到支付宝账户产品介绍:https://opendocs.alipay.com/open/309
2.支付宝单笔转账接口文档:https://opendocs.alipay.com/apis/api_28/alipay.fund.trans.uni.transfer
3.下载服务端sdk:https://opendocs.alipay.com/open/54/103419/
4.支付宝普通公钥与公钥证书区别及其生成:https://opendocs.alipay.com/open/291/105971#LDsXr
开发中遇到的问题
1.isv.missing-app-cert-sn(缺少应用公钥证书序列号)
错误原因:资金类接口(强制必须要使用公钥证书)却使用了普通公钥方式进行签名导致的
解决办法:使用公钥证书
具体解释:https://opensupport.alipay.com/support/helpcenter/192/201602472805?ant_source=antsupport
支付宝普通公钥与公钥证书区别及其生成:https://opendocs.alipay.com/open/291/105971#LDsXr
2.无效支付宝根证书序列号
解决参考:https://developer.aliyun.com/ask/285113
我也遇到过这个问题,配置都是正确的,换了一个php版本可以正常跳转支付。调试了一下sdk代码,AopCertClient类下有一个hex2dec 方法,这里返回了一个round缺失精度类型,并且转为幂输出,修改如下,sdk版本php-4.9.1。
function hex2dec($hex) {
$dec = 0;
$len = strlen($hex);
for ($i = 1; $i <= $len; $i++) {
$dec = bcadd($dec, bcmul(strval(hexdec($hex[$i - 1])), bcpow('16', strval($len - $i))));
}
// return round($dec, 0);
return $dec;
}
支付宝接口证书加签
目前评论:0