質問: ""定期決済"" と ""定期決済にかかる初期費用"" と ""最初の月の日割り料金"" を請求しようとしています。 1回の SetExpressCheckout ですべてを処理することは可能なのでしょうか。 定期決済は L_BILLINGTYPEn='RecurringPayments' で行い、 初期費用は CreateRecurringPaymentsProfile にある 'INITAMT' に含めようとしています。 日割り料金を SetExpressCheckout に含める場合にはどうすればよいでしょうか? L_BILLINGTYPEn を設定しようとしたのですが、 'RecurringPayments'以外のものを入れるとエラーになり何を入れればいいかわかりません。 また、L_BILLINGAGREEMENTDESCRIPTIONnを複数設定した場合(n=0,1)、 0番目のものしか表示されないのですが、すべて表示させたいと思っています。
回答: 以下の実装をおすすめします。 1. SetExpressCheckout APIで、AMTに初月日割り分をセットしてAPIを呼び出す。 (同時にこちらで初期費用の設定もされることをお勧めします。CreateRecurringPaymentProfleのINITAMTは、即座に決済されないので利用しないほうがよいかとおもいます) 2. PayPal画面に遷移。 支払い者は初月分(及び初期費用)決済と翌月以降の定期支払いに両方に同意する。 3. 戻ってきたら、DoExpressCheckoutPayment API(AMTに初月日割り分及び初期費用をセット)を呼び出す。 4. 引き続き、CreateRecurringPaymentProfile APIを呼び出す。 これにより、3のステップで初月分と初期費用がまず決済され、4のステップで翌月以降分が定期支払いとして定義されます。 SetExpressCheckoutでの具体的なパラメータですが、以下のような感じがよいかと思います。 (初期費用が1000円、日割り分が100円とした時の例) ``` PAYMENTREQUEST_0_AMT=1100 PAYMENTREQUEST_0_CURRENCYCODE=JPY L_PAYMENTREQUEST_0_NAME0=初期費用 L_PAYMENTREQUEST_0_AMT0=1000 L_PAYMENTREQUEST_0_QTY0=1 L_PAYMENTREQUEST_0_DESC0=初期費用の説明 L_PAYMENTREQUEST_0_NAME1=初月日割り分 L_PAYMENTREQUEST_0_AMT1=100 L_PAYMENTREQUEST_0_QTY1=1 L_PAYMENTREQUEST_0_DESC1=初月日割り分の説明 L_BILLINGTYPE0=RecurringPayments L_BILLINGAGREEMENTDESCRIPTION0=定期支払いの説明 ```