API決済の導入方法

実装概要

APIエンドポイント

Sandbox:

https://api-3t.sandbox.paypal.com/nvp
                            

本番環境:

https://api-3t.paypal.com/nvp
                            

PayPal決済を実行する

PayPal決済を開始する
PayPal決済を開始するには、SetExpressCeckout APIで決済に必要な情報を送信し、その後、PayPal決済画面に購入者をリダイレクトします。

1.SetExpressCheckout実行とバージョン、API認証情報を指定します

METHOD=SetExpressCheckout
VERSION=124
USER=API_username
PWD=API_password
SIGNATURE=API_signature
                            

2.決済金額と通貨を指定します

PAYMENTREQUEST_0_AMT=amount
PAYMENTREQUEST_0_CURRENCYCODE=JPY
                            

3.戻り先URLとキャンセル時戻り先URLを指定します
戻り先URLは購入者がPayPal決済画面で支払いに承認した後戻る貴社サイトです。キャンセル時戻り先URLは購入者がPayPal決済画面でキャンセルした場合に戻る貴社サイトです。

RETURNURL=return_url
CANCELURL=cancel_url
                            

4.Payment actionを指定します
Payment actionにはSaleを指定します。

PAYMENTREQUEST_0_PAYMENTACTION=Sale
                            

5.売り手保護プログラムの適用を受けるため配送先情報を指定します。
※ 適用を受けるためは、これに加えその他条件を満たす必要があります。

PAYMENTREQUEST_0_SHIPTONAME=氏名
PAYMENTREQUEST_0_SHIPTOZIP=郵便番号
PAYMENTREQUEST_0_SHIPTOSTATE=都道府県
PAYMENTREQUEST_0_SHIPTOCITY=市区町村
PAYMENTREQUEST_0_SHIPTOSTREET=番地
PAYMENTREQUEST_0_SHIPTOSTREET2=ビル名等
PAYMENTREQUEST_0_SHIPTOCOUNTRYCODE=国
PAYMENTREQUEST_0_EMAIL=メールアドレス
PAYMENTREQUEST_0_SHIPTOPHONENUM=電話番号
                            

その他のパラメータについてはAPI仕様書を参照してください。
リクエストサンプル:

curl -v https://api-3t.sandbox.paypal.com/nvp -d
  "USER={YourUserID}
  &PWD={YourPassword}
  &SIGNATURE={YourSignature}
  &METHOD=SetExpressCheckout
  &VERSION=124
  &PAYMENTREQUEST_0_AMT=7975
  &PAYMENTREQUEST_0_CURRENCYCODE=JPY
  &PAYMENTREQUEST_0_PAYMENTACTION=Sale
  &cancelUrl=http ://your.cancel.url/
  &returnUrl=http ://your.return.url/
  &PAYMENTREQUEST_0_SHIPTONAME=氏名
  &PAYMENTREQUEST_0_SHIPTOZIP=郵便番号
  &PAYMENTREQUEST_0_SHIPTOSTATE=都道府県
  &PAYMENTREQUEST_0_SHIPTOCITY=市区町村
  &PAYMENTREQUEST_0_SHIPTOSTREET=番地
  &PAYMENTREQUEST_0_SHIPTOSTREET2=ビル名等
  &PAYMENTREQUEST_0_SHIPTOCOUNTRYCODE=国
  &PAYMENTREQUEST_0_EMAIL=メールアドレス
  &PAYMENTREQUEST_0_SHIPTOPHONENUM=電話番号"
                                

SetExpressCheckoutが正常に処理された場合、返却されたtokenを付加した下記URLに購入者をリダイレクトします。

Sandbox:

https ://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout&useraction=commit&token=tokenValue

本番環境:

https ://www.paypal.com/cgi-bin/webscr?cmd=_express-checkout&useraction=commit&token=tokenValue

取引詳細を取得する (任意)

取引詳細を取得するにはGetExpressCheckoutDetailsを使用します。配送先情報などを取得できますので、サイト側の注文確認ページや完了ページで表示する場合などに使用できます。

1.GetExpressCheckoutDetails実行とバージョン、API認証情報を指定します

METHOD=GetExpressCheckoutDetails
VERSION=124
USER=API_username
PWD=API_password
SIGNATURE=API_signature
                            

2.SetExpressCheckout で返却されたTokenを指定します

TOKEN=token
                            

リクエストサンプル:

curl -v https://api-3t.sandbox.paypal.com/nvp -d
  "USER={YourUserID}
  &PWD={YourPassword}
  &SIGNATURE={YourSignature}
  &METHOD=GetExpressCheckoutDetails
  &VERSION=124
  &TOKEN={token}"
                                

PayPal決済を実行する

決済を完了するには、DoExpressCheckoutPayment APIを実行します。

1.DoExpressCheckoutPayment実行とバージョン、API認証情報を指定します

METHOD=DoExpressCheckoutPayment
VERSION=124
USER=API_username
PWD=API_password
SIGNATURE=API_signature
                            

2.SetExpressCheckout で返却されたTokenと貴社サイト戻り時に返却されたPayer IDを指定します

TOKEN=token
PAYERID=id
                            

3.決済金額と通貨を指定します

PAYMENTREQUEST_0_AMT=amount
PAYMENTREQUEST_0_CURRENCYCODE=JPY
                            

4.Payment actionを指定します
Payment actionにはSaleを指定します。

PAYMENTREQUEST_0_PAYMENTACTION=Sale
                            

その他のパラメータについてはAPI仕様書を参照してください。
リクエストサンプル:

curl -v https://api-3t.sandbox.paypal.com/nvp -d
  "USER={YourUserID}
  &PWD={YourPassword}
  &SIGNATURE={YourSignature}
  &METHOD=DoExpressCheckoutPayment
  &VERSION=124
  &PAYMENTREQUEST_0_PAYMENTACTION=Sale
  &PAYMENTREQUEST_0_AMT=7975
  &PAYMENTREQUEST_0_CURRENCYCODE=JPY
  &TOKEN={token}
  &PAYERID={PayerID}"