Android統合アリペイのショートカット支払いエラーのまとめ

1074 ワード

先日、支付宝のショートカット支払いを開通したばかりで、インタフェースの申請をしてすぐにテストをして、公式文書に従って書きましたが、支払い時にはいつも4001パラメータが正しくありません.一日中チェックしても私のパラメータに間違いは見つからなかった.オフィシャルテクニカルサポートに問い合わせたところ、ちょうど週末で、出勤しないので、いっそ置き去りにした.
数日後、コードは修正されず、再度テストし、4000エラーが発生した.前回の間違いとは違います.私は考えています.前にどうして4001の間違いがあったのですか.公式にエラーコードを細分化していないが、そのうち4001エラーの1つは権限の問題かもしれない.数日前にテストした4001は開通したばかりで、アカウントの支払い権限がまだ下りていないので、数日後に自動的に下りてきたと推測した. 
次に、新しい問題の解決に集中し、公式のDemoとドキュメントと照らし合わせても、パラメータに誤りは発見されなかった.その中で疑問なのは支払いのパラメータの順序の問題で、パラメータが署名を経なければならないため、パラメータの順序が異なって得られる署名は自然に異なって、もし署名のパラメータの順序とアップロードのパラメータの順序が異なっているならば、サーバーの検証は間違いを肯定して、この時公式の規定の順序が伝達するか、あるいは自分で署名のパラメータの順序とアップロードのパラメータの順序が同じであることを保証します.公式のカスタマーサービス担当者に聞いてみると、署名パラメータには順序があり、ドキュメントの順序に従って、順序について私はここで長い間悩んでいたという.文書に従っても、自分で定義した順序にしても、成功することはできず、返されるエラーコードは4000(支払い失敗)である.公式Demoと比較してみると、私自身がAlipayのsandbox属性を設定していることがわかりました.
//        ,          
// alipay.setSandBox(true);
Demoの中でそれを注釈して、そして1つの言叶のヒントがあって、私はテストしたので、手が安いのはSandBoxモードを设置して、4000の间违いが现れて、この言叶を削除してから、正常に支払いました.
パラメータの順序については、所定の順序はない、署名されたパラメータの順序がアップロードするパラメータの順序と同じであればよい.