支付宝APP支付 显示 系统繁忙 请稍后再试 ALI40247

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/jj3341332/article/details/52711193

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"&notify_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"
注意 所有的value是有双引号的!!  加密前也要有双引号

官方的老接口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>

支付宝的工程师 我也是呵呵呵呵呵   


展开阅读全文

没有更多推荐了,返回首页