PayPalの定期支払と遅延連鎖支払いの連携実装についてのまとめです。
実現したい支払い例
・有料会員に対して毎月1,000円の会費の徴収を行う(受け取り者Xとする)
・徴収した月会費を2者(A:700円/B:300円)で分配する
3つの方法があります。
①AdaptivePaymentsのPreapproval Paymentと遅延連鎖支払の組み合わせ
Preapproval Paymentsを利用するには、Chained PaymentsのようにAPP IDに権限追加の審査が発生します。
Preapproval Paymentsのについては下記参照。
https://developer.paypal.com/webapps/developer/docs/classic/adaptive-payments/ht_ap-basicPreapproval-curl-etc/
遅延連鎖支払については下記参照。
https://developer.paypal.com/docs/classic/adaptive-payments/ht_ap-delayedChainedPayment-curl-etc/
Xは支払者からpreapprovalKeyを取得し、KeyをつかってPay APIを実行して毎月1000円の定期支払を実現します。
この時、actionTypeをPAY_PRIMARYに指定することで、ExecutePayment APIを使ってA、Bに遅延連鎖支払を行います。
この一連の支払いで各者に発生する手数料です。
・X:1000円を受け取る手数料は、取り分が0なので発生しません。= 0円
・A:700円を受け取る手数料(3.6%+40円) = 65円
・B:300円を受け取る手数料(3.6%+40円) = 50円
※X=Aの場合、Xは700円の受け取り手数料を1000円受け取り時に徴収されます。= 65円
②ExpressCheckoutのRecurringPaymentsとPayout APIの組み合わせ
Xは、ExpressCheckoutのRecurringPaymentsで毎月の1,000円を徴収します。
次に、Payout APIでAに700円、Bに300円を送金します。
この一連の支払いで各者に発生する手数料です。
・X:1,000円を受け取るときの手数料(3.6%+40円)+700円/300円の送金手数料(上限120円までの2%) = 96円
・A:送金受け取りだけなので手数料なし = 0円
・B:送金受け取りだけなので手数料なし = 0円
※X=Aの場合、送金手数料は300円分のみになります。= 82円
※Payoutの手数料について(現時点ではMassPayと同様の料率になります)
https://www.paypal.com/jp/webapps/mpp/ua/useragreement-full
※Payoutの詳細は下記ページを参照。
https://developer.paypal.com/docs/api/#payouts
※Payout APIで送金する資金は残高の範囲に限られます。
③ExpressCheckoutのRecurringPaymentsとPay API(Implicit)の組み合わせ
XはExpressCheckoutのRecurringPaymentsで毎月1,000円を徴収し、
そしてPay API(Implicit)でAに700円、Bに300円を決済として支払います。
Implicit Paymentsの詳細は、下記のページのImplicit Paymentsのところを参照。
https://developer.paypal.com/webapps/developer/docs/classic/api/adaptive-payments/Pay_API_Operation/
この一連の支払いで各者に発生する手数料です。
・X:1,000円を受け取るときの手数料(3.6%+40円) = 76円
・A:700円を受け取る手数料(3.6%+40円) = 65円
・B:300円を受け取る手数料(3.6%+40円) = 50円
※X=Aの場合、Xは1000円を受け取る手数料だけです。= 76円
④手数料の考察
1000円を受け取る側Xから見た時の手数料は高い順に
②>③>①
となります。(X=Aの場合も同様)
分割払いを受ける側Bから見た時は、
①=③>②
となります。
ただし、①はfeepayerパラメータをつかって、Xに手数料を集めることもできるので、
その場合Xにとっては、
①>②>③
となり、
Bにとっては、
③>①=②
となります。