この質問は中国以外の開発者よりも中国の開発者に関連しているため、この質問がどれほど人気があるか、または回答が得られるかどうかは完全にはわかりませんが、現在、モバイルを受信するための Alipay のサーバー側スクリプトの統合に取り組んでいます。成功リクエスト文字列。
私は携帯電話のユーザーに (恐ろしい Alipay 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=\"account@website.com\"&service=\"mobile.securitypay.pay\"&subject=\"Order Number: 20141121_80\"&total_fee=\"10.01\"
上記の文字列は、Alipay 支払いクラスの Android/iOS API によって消費され、秘密鍵で署名されてから、Alipay に送信されます。Alipay が要求を受け取ると、パラメーター文字列を確認し、6000 ~ 9000 の範囲のステータス コードを返します。
これまでresultStatus=9000
のところ、支払いが成功したことを示す文字列が携帯電話の担当者に返されます (Alipay のウォレット履歴を確認することで、実際に支払いが行われたことがわかります)。
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=\"account@website.com\"&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;
}
すべてが機能しなくなる場所は次のとおりです。
理論的には、Alipay は結果の文字列 (上記よりも多くのパラメーターを含む)notify_url
を、サーバーが検証する必要がある入力パラメーターで指定した、Alipay にも送信する必要があります。この結果文字列はバックエンドの更新にも使用されるため、注文が実際に成功したことがわかります。
何らかの理由で、Alipay は結果の文字列を指定された に送信していませんnotify_url
。
私が試したこと:
var_dump()
POST 入力のa を に置きpayment/alipay/callback
ます。リクエストは受け付けていません。公開 IP URL への cURL を試みましたが、リクエストを受信しているため機能していることがわかります。そのため、 URL が機能
payment/alipay/callback
しているかどうかが除外されます。callback
髪を引っ張ります。支払いを再度テストしましたが、髪を引っ張っても問題が解決しなかったことが確認できました。
中国の開発者がよく言うように、私にアドバイスや解決策を提供してくれる「大神」(または教祖) はいますか?