質問: PayPalのSetExpressCheckoutのAPIを呼び出したところ、レスポンスでエラーコード10400が返ってきたのですが、 によると、「OrderTotalがありません。」との記載になっていますが、 下記のパラメータ以外に必要なものはありますでしょうか。 ``` [パラメーター] &METHOD=SetExpressCheckout &VERSION=52.0 &USER=*** &PWD=****** &SIGNATURE=XXXXXXXX &PAYMENTREQUEST_0_PAYMENTACTION=Sale &PAYMENTREQUEST_0_AMT=19.5 &RETURNURL=XXXXXXX &CANCELURL=XXXXXXX"" [レスポンス] TIMESTAMP=2015-05-28T08:22:13Z &CORRELATIONID=****** &ACK=Failure &VERSION=52.0 &BUILD=7333778 &L_ERRORCODE0=10400 &L_SHORTMESSAGE0=Transaction refused because of an invalid argument. See additional error messages for details. &L_LONGMESSAGE0=Order total is missing. &L_SEVERITYCODE0=Error ```
回答: 指定しているversionが古いので新しくしましょう。VERSION=122.0 で試してください。 古いバージョンではPAYMENTREQUEST_0_* というパラメータが認識されないので 必須である、PAYMENTREQUEST_0_AMTパラメータが指定なしとみなされて起こるエラーだと思います。 なお、通貨はデフォルトで米国ドルです。 日本円で決済する場合は、PAYMENTREQUEST_0_CURRENCYCODE=JPY を送信して下さい。 また、日本円の場合、PAYMENTREQUEST_0_AMTの値は整数を指定してください。