PHP服务端生成地址传给IOS端调用 一直显示系统繁忙 请稍后再试 ALI40247 密钥也正常 也按照官方说明来走。
官方的PHP端SDK是错误的 根本不加密biz_content 字段
随后百度找不到相关的资料 只有人说换成 1.0版本 也就是 移动支付
移动支付相关文档 https://doc.open.alipay.com/doc2/detail?treeId=59&articleId=103563&docType=1
使用移动支付的接口
把所有数组值以key= “value”进行组合,之后用“&”字符连接起来,支持无序,如:
1
|
service=
"mobile.securitypay.pay"
&partner=
"2088101568338364"
&_input_charset=
"utf-8"
¬ify_url=
"http://notify.msp.hk/notify.htm"
&out_trade_no=
"0819145412-6177"
&subject=
"测试"
&payment_type=
"1"
&seller_id=
"xxx@alipay.com"
&total_fee=
"0.01"
|
官方的老接口SDK也是错的 我们来看看官方的老接口SDK是怎么写的
/**
* 把数组所有元素,按照“参数=参数值”的模式用“&”字符拼接成字符串
* @param $para 需要拼接的数组
* return 拼接完成以后的字符串
*/
function createLinkstring($para) {
$arg = "";
while (list ($key, $val) = each ($para)) {
$arg.=$key."=".$val."&";
}
//去掉最后一个&字符
$arg = substr($arg,0,count($arg)-2);
//如果存在转义字符,那么去掉转义
if(get_magic_quotes_gpc()){$arg = stripslashes($arg);}
return $arg;
}
注意
$arg.=$key."=".$val."&";
这一行 他并没有把 value加上双引号 应该要自己手动改成
<span style="background-color: rgb(255, 0, 0);">$arg.=$key."=".'"'.$val.'"'."&";</span>
支付宝的工程师 我也是呵呵呵呵呵