我不完全确定这个问题有多受欢迎或者是否会得到任何答复,因为这个问题与中国开发者的关系比与国外开发者的关系更大,但是,我目前正在努力集成支付宝的服务器端脚本以接收移动电话成功请求字符串。
我已经成功地向我的移动人员(通过在可怕的支付宝 API 中眯起眼睛)提供他们向支付宝付款所需的字符串。它遵循以下格式[保留身份信息]:
_input_charset=\"utf-8\"&body=\"Order Number: 20141121_80\"&it_b_pay=\"30m\"¬ify_url=\"http://somePublicFacingIP:8080/index.php?route=payment/alipay/callback\"&out_trade_no=\"80\"&partner=\"2088611100000000\"&payment_type=\"1\"&seller_id=\"[email protected] /cdn-cgi/l/email-protection\"&service=\"mobile.securitypay.pay\"&subject=\"Order Number: 20141121_80\"&total_fee=\"10.01\"
上述字符串被支付宝支付类中的Android/iOS API使用,然后用私钥签名,然后发送到支付宝。支付宝收到他们的请求后,会验证我们的参数字符串,并发回 6000 - 9000 范围内的状态码。
到目前为止我们已经收到resultStatus=9000
在返回给手机用户的字符串中,这表明支付成功(通过检查支付宝的钱包历史记录,我们确实看到我们已经付款)
result = {
memo = "";
result = "_input_charset=\"utf-8\"&body=\"\U4ea4\U6613\U53f7 20141124_80\"&it_b_pay=\"30m\"¬ify_url=\"http://publicFacingIP:8080/index.php?route=payment/alipay/callback\"&out_trade_no=\"80\"&partner=\"208861100000000\"&payment_type=\"1\"&seller_id=\"[email protected] /cdn-cgi/l/email-protection\"&service=\"mobile.securitypay.pay\"&subject=\"\U65b0\U5143\U7d20\U7f51\U4e0a\U70b9\U9910 - \U8ba2\U5355\U7f16\U53f7 20141124_87\"&total_fee=\"0.01\"&success=\"true\"&sign_type=\"RSA\"&sign=\"reallyLongSignedString\"";
resultStatus = 9000;
}
这是一切停止工作的地方:
支付宝理论上应该发送一个结果字符串(参数比上面显示的更多)也发送给我们notify_url
我们在输入参数中指定我们的服务器需要验证是支付宝。该结果字符串还将用于更新我们的后端,以便我们知道订单确实已成功。
由于某种原因,支付宝根本没有将结果字符串发送到我们指定的notify_url
.
我尝试过的:
Put a var_dump()
POST 输入的payment/alipay/callback
。没有收到any要求。
我尝试过使用面向公众的 IP URLpayment/alipay/callback
我知道它正在工作,因为我收到了请求,因此排除了我的callback
URL 是否有效。
拉我的头发。我再次测试付款,可以确认拔掉头发并不能解决问题。
正如中国开发者常说的,有没有“大神”(或大师)可以为我提供一些建议和/或解决方案?