過去2日間、この問題に悩まされていました。
シナリオ
ユーザーが 14 日間無料でサインアップし、その後は毎月 60.00 ドルのサブスクリプションができる Web ベースの製品があります。ユーザーが「Paypal で支払う」ボタンをクリックすると、ページから Paypal に移動し、支払いが完了すると、当社の Web サイトにリダイレクトされます。商人およびユーザーとしてサンドボックスでテストしたため、渡されたすべてのパラメーターは正常に見えます。Web Payment Preferences のマーチャント プロファイル設定で Return URL プロパティを使用していました。
リサーチ
最もよく似た質問は、PayPal での無料試用期間の実装と、Paypal サブスクリプションの無料試用が機能しないというものですが、私の問題は少し異なります。また、最初の質問で指摘されたドキュメントは有効なリンクではありません。
問題
ユーザーが当社の Web サイトに戻ると、PayPal への最初のリダイレクト時に渡したカスタム変数を取得できません。基本的に、これはクエリ文字列や post パラメーターのない空白のリダイレクトでした。しかし、最初の 14 日間は無料ではなく料金を請求しようとすると、すべてのクエリ文字列が返されます。私たちのフローは、pay pal id を実際の顧客データにマッピングするカスタム パラメータに依存します。
コードは次のようになります。
<form name='paypal' action='https://www.sandbox.paypal.com/cgi-bin/webscr' method='post'>
<input type='hidden' name='business' value='xxx@xxxxx.com'>
<input type='hidden' name='no_shipping' value='1'>
<input type='hidden' name='cmd' value='_xclick-subscriptions'>
<input type='hidden' name='a3' value='60.00'>
<input type='hidden' name='item_name' value='Product A'>"
<input type='hidden' name='currency_code' value='USD'>
<input type='hidden' name='custom' value='parameter1|parameter2'>
<input type='hidden' name='item_number' value='PlanCode'>
<input type='hidden' name='p3' value='1'>"
<input type='hidden' name='t3' value='M'>"
<input type='hidden' name='a1' value='0'>"
<input type='hidden' name='p1' value='14'>"
<input type='hidden' name='t1' value='D'>
</form>
追加してみましたが、
<input type='hidden' name='rm' value='1'>
しかし、運がありません。
質問
- 「a1=0」で 14 日間コールバック パラメータを取得できなかったのはなぜですか? しかし、「a1」を 0 よりも大きく設定すると、同じコードが機能しますか?
- パラメータがありませんか?または、コールバックで間違ったアプローチを使用していますか? (私はリターンURLを使用しています)
- IPNの使用はどうですか?PayPal サイトから、IPN はリアルタイムではないことがわかりました。私たちのアプリケーションは次のサインアップ フローでカスタム データに依存しているため、それを使用してもよいのでしょうか? もしそうなら、研究すべき最初の文書は何でしょうか?