質問
パラメータ リストを PayPal API に送信する正しい方法は何ですか? 正しく送信する方法を知りたいいくつかのパラメーターの具体例を次に示します。
TRXTYPE S
BILLTOSTREET 123 Marks & Spencer St.
CUSTREF 648=ZVC_Gxk
この件については一貫性のない文書があり、私がウェブ上で見つけたほとんどのコードは、PayPal が説明する長さの接頭辞を使用していません (まだ機能しているようです!)。
バックグラウンド
PayPal Payments Proのドキュメントでは、p44 およびその周辺のページで、カスタムおよび非標準準拠の NVP 形式について説明しています。また、PayPal API NVP Basicsページでは、「HTTP を使用して送信される PayPal API 操作を実行するすべてのリクエストは、URL エンコードする必要があります」と矛盾して説明されています。
大きなPDFドキュメントも矛盾しています:
PDF の「Name-Value Parameter Syntax Guidelines」セクションには、「値にスペースを使用しないでください」と記載されています。ただし、次に、BILLTOSTREET パラメータにスペースを含む「正しい」NVP 文字列の例を示します。
「Name-Value パラメータの構文ガイドライン」セクションには、「NVP パラメータ文字列を引用符で囲む」と記載されています。これは、エンコードされた値の文字列全体を参照していますか? 私の POST 本文は、引用符を含めて次のようになりますか? "TRXTYPE=S&TENDER=C..."
パラメータ文字列全体を二重引用符で囲む必要があると主張しています。