Top Banner
PayPal Reference Transaction API ををををををををををををををを Junichi Okamura @API Meetup #12 February 4 2016 ©2015 PayPal Inc. Confidential and proprietary.
23

PayPal Reference Transaction APIをお財布ケータイぽく使ってみる

Apr 15, 2017

Download

Technology

Junichi Okamura
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: PayPal Reference Transaction APIをお財布ケータイぽく使ってみる

PayPal Reference Transaction API をお財布ケータイぽく使ってみる

Junichi Okamura @API Meetup #12 February 4 2016

©2015 PayPal Inc. Confidential and proprietary.

Page 2: PayPal Reference Transaction APIをお財布ケータイぽく使ってみる

Who am I?

©2015 PayPal Inc. Confidential and proprietary. 2

岡村 純一 Junichi OkamuraPayPal Integration Manager/EvangelistScala/Java/Ruby/Python/Node.js/PHP/../Mobile/../ppt

Rock/Wine/DQ/JOJO/I18N/Marketing/Payment

API Lover/Midnight Creator

@benzookapi

[email protected]

Page 3: PayPal Reference Transaction APIをお財布ケータイぽく使ってみる

今日お話ししたいこと

PayPal Reference Transaction API の画期的な使い方!

©2016 PayPal Inc. Confidential and proprietary.

Page 4: PayPal Reference Transaction APIをお財布ケータイぽく使ってみる

PayPal Reference Transaction とは?

• 買い手に一度承認をもらえれば、その承認の ID だけで、任意の金額(通貨)を任意のタイミングで買い手から決済できる強力な API です。

• 強力な API なので実用には審査が要りますが、テスト環境( Sandbox )では、「 Upgrade to   Pro 」ボタン一発で使えるようになります。

https://developer.paypal.com/docs/classic/express-checkout/integration-guide/ECReferenceTxns/

https://developer.paypal.com/developer/accounts/

©2016 PayPal Inc. Confidential and proprietary.

Page 5: PayPal Reference Transaction APIをお財布ケータイぽく使ってみる

通常のユースケ ス−• ゲームや各種プラットフォーム向けの従量課金が一般的

• 2回目以降の支払いを自動化したり、月額定期払いに応用したりすることもできます

• 日本でも導入しているマーチャント(売り手)さんが続々増えています

©2016 PayPal Inc. Confidential and proprietary.

• ペイパルクリップ( https://www.paypal.jp/jp/clip_cp/)の TOP ページ

• ※ 全てが Reference Transaction を導入しているわけではありません。

Page 6: PayPal Reference Transaction APIをお財布ケータイぽく使ってみる

©2016 PayPal Inc. Confidential and proprietary. 6

リファレンストランザクション 支払い同意取得( 支払い同意だけを単独で取得する場合 )

マーチャント様プログラムPayPal サイト

1. SetExpressCheckout → 決済金額を0円で送信 → MerchantInitiatedbilling を指定 ← token が返却される

決済選択PayPal

PayPalログイン

マーチャント様画面

PayPal 画面

Thank you

リファレンストランザクション同意画面

2. CreateBillingAgreement → token を送信 ← BillingAgreementD が返却されるのでシステムに   保存

PayPal サイトにリダイレクト( パラメタに token を付加する )

(1) (2)

PayPal からマーチャントサイトにリダイレクト( パラメタに token が付加される )

Page 7: PayPal Reference Transaction APIをお財布ケータイぽく使ってみる

©2016 PayPal Inc. Confidential and proprietary. 7

リファレンストランザクション 支払い同意取得( 初回の決済と同時に同意を取得する場合 )

マーチャント様プログラムPayPal サイト

1. SetExpressCheckout → 決済情報 ( 金額、商品名など ) を送信 → MerchantInitiatedbilling を指定 ← token が返却される

決済選択PayPal

PayPalログイン

マーチャント様画面

PayPal 画面

Thank you

支払い承認画面

2. DoExpressCheckoutPayment → 最終決済指示 ( 金額など ) を送信 ← TRANCTIONID 、決済結果、 BillingAgreementID   が返却されるので、 BillingAgreementID を保存

PayPal サイトにリダイレクト( パラメタに token を付加する )

(1) (2)

PayPal からマーチャントサイトにリダイレクト( パラメタに token が付加される )

Page 8: PayPal Reference Transaction APIをお財布ケータイぽく使ってみる

©2016 PayPal Inc. Confidential and proprietary. 8

リファレンストランザクション 毎回決済時

マーチャント様プログラム

1. DoReferenceTransaction → BillingAgreementID 、金額などを送信 ← TRANSACTIONID 、決済情報などが返却される

マーチャント様画面

決済選択PayPal Thank you

マーチャント様プログラム

Page 9: PayPal Reference Transaction APIをお財布ケータイぽく使ってみる

リファレンストランザクション API 詳細

• SetExpressCheckout − AMT = 0 ( 初回の決済と同時に同意を得る場合は、初回の決済額を指定 )− BILLINGTYPE = ‘MerchantInitiatedBilling’

• CreateBillingAgreement ( 支払い同意を単独で取得する場合 )− TOKEN = SetExpressCheckout で返却された token を指定

• DoExpressCheckoutPayment ( 初回決済と同時に支払い同意を取得の場合 )− TOKEN = SetExpressCheckout で返却された token を指定

− AMT = 初回決済額を指定

• DoReferenceTransaction− REFERENCEID = CreateBillingAgreement もしくは DoExpressCheckoutPayment で返却された

BillingAgreementID を指定

− AMT = 決済金額を指定

©2016 PayPal Inc. Confidential and proprietary. 9

リファレンストランザクションを組込む場合は、それぞれの API に以下のパラメタを設定します ( その他のパラメタについてはデベロッパーサイトを参照 ) 。

Page 10: PayPal Reference Transaction APIをお財布ケータイぽく使ってみる

僕の Demo でも確認できます

https://jo-pp-ruby-demo.herokuapp.com/cl

©2016 PayPal Inc. Confidential and proprietary.

Page 11: PayPal Reference Transaction APIをお財布ケータイぽく使ってみる

Reference Transaction ってすごいけど…

なんかもっと便利に面白く使えないか?

©2016 PayPal Inc. Confidential and proprietary.

Page 12: PayPal Reference Transaction APIをお財布ケータイぽく使ってみる

きっかけその①

味しめた

https://thinkit.co.jp/story/2015/11/12/6534

http://togetter.com/li/867390?page=8©2016 PayPal Inc. Confidential and proprietary.

Page 13: PayPal Reference Transaction APIをお財布ケータイぽく使ってみる

きっかけその②

BitCoin

http://gigazine.net/news/20131224-bitcoin-stolen-on-air/

©2016 PayPal Inc. Confidential and proprietary.

Page 14: PayPal Reference Transaction APIをお財布ケータイぽく使ってみる

思いつき

Billing Agreement ID を QR コード化すれば限定的だがハード非依存の

お財布ケータイができるのでは?

©2016 PayPal Inc. Confidential and proprietary.

Page 15: PayPal Reference Transaction APIをお財布ケータイぽく使ってみる

イメージしたユーザー体験

JAL さんのタッチアンドゴー

https://www.jal.co.jp/k-tai/appli/touchandgo/©2016 PayPal Inc. Confidential and proprietary.

1.Billing Agreement 2. Reference Transaction2. Reference Transaction

Page 16: PayPal Reference Transaction APIをお財布ケータイぽく使ってみる

決済できる ID を QR コード化って危ないのでは?

• クレジットカードとの比較−そもそも固定の生番号をいつも携帯している => 書き留められたり写されたら終わり−いろんなところで使える => 万能なゆえの被害拡散−止めるまで時間かかる => カスタマーセンターに電話して…

• BitCoin との比較−口座番号をそもそも QR コード化してるし…

• Billing Agreement は−自動生成のテキストデータ => エンコード( QR 化)しやすく再発行もしやすい−承認したマーチャントさんでしかつかえない => 盗まれても被害が小さい−PayPal にログインすればいつでも無効化できる=>買い手さんの方でいつでも止めれる

割とありなんではなかろうか…©2016 PayPal Inc. Confidential and proprietary.

Page 17: PayPal Reference Transaction APIをお財布ケータイぽく使ってみる

エンジニアなんで言うよりやるが易し

Demo作ってきました!

©2016 PayPal Inc. Confidential and proprietary.

Page 18: PayPal Reference Transaction APIをお財布ケータイぽく使ってみる

構成図

©2016 PayPal Inc. Confidential and proprietary.

②③  ⑧

Page 19: PayPal Reference Transaction APIをお財布ケータイぽく使ってみる

今後の展望

• ①PayPal の支払いボタンのようにガジェット化して事前承認を簡単に組み込めるようする

• ②QR チェックアウトが使えるマーチャントのポータルサイトの構築

• ③POS レジやチックイン・アウトサービスとの連携

• ④TDD ( Talk Driven Development=登壇により自らを追い詰め強制的に突貫工事で作ること)で作ったソースコードを誰かに清書してほしい

イノベーションを目指す開発者さんのインスピレーションになれば嬉しいです!

©2016 PayPal Inc. Confidential and proprietary.

Page 20: PayPal Reference Transaction APIをお財布ケータイぽく使ってみる

最後に…

PayPal の公式ソリューションではなく、単なるアイディアです!

(実用には審査がいります)https://www.paypal.jp/merchant/service/reference-transaction/

©2016 PayPal Inc. Confidential and proprietary.

Page 21: PayPal Reference Transaction APIをお財布ケータイぽく使ってみる

告知①

Qiita 、スタックオーバーフローで投稿、質問受付中!http://qiita.com/tags/PayPal

http://ja.stackoverflow.com/questions/tagged/paypal

©2016 PayPal Inc. Confidential and proprietary.

Page 22: PayPal Reference Transaction APIをお財布ケータイぽく使ってみる

告知②

明日パネルディスカッションに登壇します!http://2016.cross-party.com/program/d4

©2016 PayPal Inc. Confidential and proprietary.

Page 23: PayPal Reference Transaction APIをお財布ケータイぽく使ってみる

Thank YouJunichi Okamura @API Meetup #12

February 4 2016

©2015 PayPal Inc. Confidential and proprietary.