1

過去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'>

しかし、運がありません。

質問

  1. 「a1=0」で 14 日間コールバック パラメータを取得できなかったのはなぜですか? しかし、「a1」を 0 よりも大きく設定すると、同じコードが機能しますか?
  2. パラメータがありませんか?または、コールバックで間違ったアプローチを使用していますか? (私はリターンURLを使用しています)
  3. IPNの使用はどうですか?PayPal サイトから、IPN はリアルタイムではないことがわかりました。私たちのアプリケーションは次のサインアップ フローでカスタム データに依存しているため、それを使用してもよいのでしょうか? もしそうなら、研究すべき最初の文書は何でしょうか?
4

1 に答える 1

0

私はこの質問に対してペイパルフォーラムから回答を得ました。これは将来他の開発者に役立つので、私はこれを答えとして追加しています。IPNの出発点としても適しています

応答は、

「PDTを使用している場合、支払いが行われないため、何も返送されません。情報は、支払いを行っている場合にのみ返送されます。IPNを使用することをお勧めします。rm変数とPDTはどちらも購入者によって異なります。サイトに戻る。ブラウザウィンドウが予期せずクラッシュして閉じたり、単に閉じたりした場合など、購入者が戻ってこない場合、情報は返送されず、失われます。これが、rm変数とPDTが使用される理由です。動的レシートを作成するための詳細。IPNは、購入者がサイトに戻ることに依存しないため、システムの更新に使用されます。」

「また、IPNを使用すると、必要に応じてデータをシステムに再送信できます。また、アカウント内からIPN履歴を表示することもできます。IPNは通常、支払いが完了した直後に行われます。」

元の質問については参照してください

于 2011-08-04T23:15:06.587 に答える