サンドボックスでプレイし、SetExpressCheckout を介して定期的な支払いを設定している間 (ドキュメントで提案されているように)、BillingAgreement を正常に作成してトークンを受け取ることができます。ユーザーが https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=[トークンがここに入る] のようなリンクをたどった後、すべての利用規約などに同意すると、自動的にリダイレクトされますSetExpressCheckout メソッドで提供される returnUrl に、さらにこのトークン値が returnUrl に追加されます。
ここまでは順調ですね。問題は、returnUrl が常に呼び出されるという事実を信頼できるかどうかです。F. つまり、何らかの理由でユーザーのブラウザが指定された URL へのリダイレクトを拒否または失敗した場合はどうなりますか?
PayPal のドキュメントから理解できる限り、IPN を使用して、ユーザーが開始した新しいサブスクリプションを通知することはできませんが、IPN が理想的なオプションであることは明らかです。SetExpressCheckout リクエストを作成するときに notifyUrl を提供しようとしましたが、ヒットしていません。同じ IPN は、私が 1 回限りの購入に使用する「支払い」方法でも問題なく機能します。