Welcome to Delicate template
Header
Just another WordPress site
Header

支付宝无线支付的问题。

1月 9th, 2014 | Posted by 无 名 in php | thinkphp

这个问题困扰我几天了。
由于开始没有注意到无线产品用MD5签名方式也可以。

我开始就是用MD5签名方式支付,支付宝那边一直显示参数为空,所以以为一定要用RSA签名方式。
所以一直就停留在一个函数执行不了。
显示错误为:Fatal error: Call to undefined function openssl_get_privatekey() in。
php错误日志为:PHP Warning: PHP Startup: Unable to load dynamic library ‘D:/php/php5/ext/php_openssl.dll’。
这个错误一直困扰了我两天,到现在还没解决,

后台又重新试MD5签名方式。
开始一个一个排查,在提交到支付宝的时候迅速esc停止,然后查看源代码,发现token为空。

意思就是没有请求到token码。
然后在请求返回token码的地方,直接输出返回的内容。

print_r( $para_html_text);
echo '<br/><br/>';
echo $req_data;

发现是支付宝返回的错误是“req_data没有按照格式要求填写”,所以没获取到token。
然后我又把req_data显示出来。好像也没什么错误。
在网上查了后,发现了问题。原来notify_url,call_back_url,merchant_url这三个url不能带传递参数的符号&。
因为这样会支付宝会以为传了很多参数给他,所以就格式不对。
真是坑人。
正常返回的内容:
alipay
最后就剩下rsa签名方式没弄好了。希望有高手解答。

You can follow any responses to this entry through the RSS 2.0 Both comments and pings are currently closed.