PayPal API導入・活用ガイド

第4回 フレキシブルな支払いを実現するリファレンストランザクションの実装

この記事を読むのに必要な時間:およそ 2 分

リファレンストランザクションは,⁠PayPal(ペイパル)⁠でフレキシブルな支払いを実現する決済ソリューションです。リファレンストランザクションを使うと,一度購入者の間で契約が結ばれれば,その後はECサイト事業者が任意の額を任意のタイミングで決済できるようになります。購入者にペイパルアカウントにログインしてもらうことなどのアクションを起こしてもらわなくても決済が行えるようになるのです。

リファレンストランザクションは,たとえば携帯の使用料のように毎月の支払い金額が変わる決済時や,ゲームポイントの購入をペイパルにログインせずに決済するなどのシーンで使われています。

リファレンストランザクションをご利用いただくにあたってECサイト事業主はペイパルの審査を受ける必要があります。審査プロセスの詳細などは弊社まで直接ご連絡ください。

リファレンストランザクションに関するPayPalへの連絡先
wpp@paypal.com
paypal.com/jp/のリファレンストランザクション紹介ページ
http://bit.ly/hlr8aE

リファレンストランザクションについて,これより決済フローの概略について説明し,その上で実装のポイントを説明します。

リファレンストランザクションの決済フロー

画像

1.決済の事前承認に同意
購入者は商品選択後,ペイパルにログインし,決済の事前承認内容を確認,同意します。
2.Billing Agreement IDの取得
作成されたBilling Agreement IDをECサイト事業主が取得します。
3.ECサイトの事業主が決済を実行
ECサイト事業主は,取得したBilling Agreement IDを使って,購入者に対して,任意のタイミングで,商品やサービスの代金として任意の額を決済します。
4.支払い代金の振り込み
購入者に都度承認を得ることなく,購入者のペイパルアカウントから,ECサイト事業主のアカウントに商品やサービスの代金が振り込まれます。
5.商品,サービスの提供
ECサイト事業主は,支払いを確認した後,商品およびサービスを購入者に提供します。

なお,リファレンス トランザクションは,ECサイト事業主もしくは購入者が,契約を解除した時点で終了します。契約の解除はペイパルの管理画面もしくはAPI経由で行えます。

リファレンストランザクションの実装に必要なもの

  1. ペイパルのビジネスアカウント
  2. API 証明書
  3. sandbox内のテスト用アカウント
  4. (詳細は第2回 ペイパルのエクス プレスチェックアウトの実装「エクスプレス チェックアウトの実装に必要なもの 」セクションをご参照ください)⁠

リファレンストランザクションの同意の実装

画像

以下のステップでリファレンストランザクションへの同意フローを実装します。

  • ①SetExpressCheckout APIをコールします。リファレンストランザクションであることを指定するため,以下のパラメータを追加します。

    &BILLINGTYPE=MerchantInitiatedBillingSingleAgreement
    

    初回分の精算などの決済を行う場合は,その額を&AMTパラメータに指定してください。

    初回に決済を行う必要のない場合は以下の様に決済額を設定します。

    &AMT=0
    
  • ②SetExpressCheckoutのレスポンスにあるtokenを取得します。

  • ③tokenを付加してpaypal.comにリダイレクトします。ログイン後にペイパルのログイン画面を日本語で表示させる場合はリダイレクトのURLに&locale.x=ja_JPを追加します。

  • ④購入者がペイパルにログイン後,リファレンストランザクションに同意するための確認画面が表示されます。ここではリファレンストランザクションに同意する旨の同意文が表示されます。購入者が同意した後,SetExpressCheckoutのパラメータのRETURNURLで指定した戻り先のURLにtokenが付加されてリダイレクトされます。

  • ⑤tokenを含んだパラメータを渡してGetExpressCheckoutDetails APIをコールし,SetExpressCheckoutで指定した内容を取得できます(このステップは省略可能です)⁠

  • ⑥初回の決済額がある場合はDoExpressCheckoutPaymentAPIにtokenを含めてコールします。

    初回の決済額がない場合は代わりにCreateBillingAgreement APIをコールしてください。

    コールに成功した場合,レスポンスに以下の様な値が含まれて返ってきます。

    [BILLINGAGREEMENTID] => B-5M600700AAA05734S
    

    このB-ではじまる値がBilling Agreement IDになり,以降リファレンストランザクション経由での決済に必要になりますのでDB等に保存しておきます。

リファレンストランザクションでの決済

画像

リファレンストランザクションに購入者が一度同意する際に発行されるBilling Agreement IDをDoReferenceTransaction APIに渡すことで,決済を行います。

DoReferenceTransactionを呼ぶタイミングや額には制限はありません。日本円の場合一回のPayPal決済での限度額は100万円になります。

以下のようにパラメータを渡してDoReferenceTransaction APIをコールします。

&REFERENCEID=(Billing Agreement ID)
&DESC=(商品名)
&AMT=1000 //決済額
&CURRENCYCODE=JPY //円を指定
&PAYMENTACTION=Sale

決済が成功するとその決済にひも付いたTransaction IDがレスポンスとして返ってきます。

リファレンストランザクションの管理画面での確認

購入者とのリファレンストランザクションの各契約は以下の手順でペイパルの管理画面から確認できます。

  1. ペイパルアカウントにログイン
  2. 「個人設定」をクリック
  3. 左側のタブの「販売ツール」をクリック
  4. 支払いとリスク管理以下の自動支払い内の「更新」をクリック
    この手順から表示される画面で契約済みのリファレンストランザクションを確認できます。ここから各契約の解除ができます。

次回の記事ではスマートフォンやモバイルといったデバイスでのペイパル決済についての紹介と実装の詳細をお伝えします。

リファレンストランザクション実装のためのリソース

PayPal Express Checkout Advanced Features - Enterprise Edition(PDF)
http://bit.ly/igZvTX(英語:最新版 95ページ以降)
NVP API Developer Reference Enterprise Edition(PDF)
http://bit.ly/dNr36J(英語:最新版 159ページ以降)

著者プロフィール

天野洸(あまのたけし)

カナダの大学でコンピュータサイエンスと経済での学位を取得後,日本でWebプログラマとして仕事をしています。これまでweb制作エージェンシーのIMG SRCや電通アベニューAレイザーフィッシュを経て2009年の終わりからペイパルジャパンに参加しています。ペイパルジャパンではPayPal(ペイパル)のさまざまな商品を実装する際の技術的なサポートを行っています。

趣味は日本の商品をeBayで売ることと,体を鍛えることです。

コメント

コメントの記入