1

私は現在、PayPal を記事購読用のフォームに実装しています。以下のコードは、paypal の Web 画面に直接移動してトランザクションを処理するために正常に実行されます。

トランザクションが正常に行われた後に特定のパラメーターを取得したい場合はどうすればよいですか? echo $_REQUEST['custom']$_REQUEST['email']を試しました。paypal から返された URL にリダイレクトした後、表示のみ$_REQUEST['a3']ですが、これらのパラメーターをさらに処理するために戻すにはどうすればよいですか?$_REQUEST['p3']$_REQUEST['custom']

<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post">
    <input type="hidden" name="cmd" value="_xclick-subscriptions">
    <input type="hidden" name="business" value="someone_1360103868_biz@sitename.com">
    <input type="hidden" name="email" value="<?php echo $BuyerEmail ?>">
    <input type="hidden" name="item_name" value="<?php echo $ProdDesc ?>">
    <input type="hidden" name="item_number" value="1">
    <input type="hidden" name="no_shipping" value="1">
    <input type="hidden" name="rm" value="2">
    <input type="hidden" name="return" value="http://sitename.com/return.php?msg=Transaction+Complete">
    <input type="hidden" name="cancel_return" value="http://sitename.com/return.php?msg=Transaction+Canceled">
    <input type="hidden" name="notify_url" value="http://sitename.com/notify.php">
    <input type="hidden" name="no_note" value="1">
    <input type="hidden" name="currency_code" value="<?php echo $Currency ?>">
    <input type="hidden" name="lc" value="US">
    <input type="hidden" name="custom" value="<?php echo $RefNo ?>">
    <input type="hidden" name="a3" value="<?php echo $Amount ?>">
    <input type="hidden" name="p3" value="<?php echo $Duration ?>">
    <input type="hidden" name="t3" value="M">
    <input type="hidden" name="src" value="1">
    <input type="hidden" name="sra" value="1">
    <input type="submit" name="Submit" value="Pay now">
</form>
4

3 に答える 3

3

私が見つけた1つの方法:

生成されたフォーム コードにこのフィールドを挿入してみてください。

<input type='hidden' name='rm' value='2'>

rm戻りメソッドを意味します。

2手段(ポスト)

ユーザーが購入してサイトのURLに戻った後、そのURLもPOSTパラメーターを取得します

ps php を使用している場合var_dumy($_POST);は、リターン url (スクリプト) に挿入してから、テスト購入を試みます。サイトに戻ったときに、URL にどのような変数が含まれているかを確認できます。

于 2013-09-25T12:43:26.523 に答える
0

外出中に情報を記録しておけば、情報を取り戻そうとする必要はありません。つまり、Paypal に送信する前です。たとえば、すべての試行を記録して、失敗した取引を追跡できるようにすることをお勧めします。たとえば、ユーザーがカードの問題やコードのバグなどを抱えている場合などです。

「良い」ショッピング カートを使用している場合、これは既に含まれています。そのため、誰かが注文フォームに記入して送信すると、ショッピング カートにレコードが追加され、新しい注文番号 (ID 番号) が生成されます。Paypal に送信するフォームにはその ID 番号を含めることができるため、取引が成功した後に取得する必要があるのはその ID 番号だけです。その後、プログラムで注文を支払い済として更新し、データベース テーブルから入力された印刷可能な領収書をオンラインで提供できます。 .

これを行うには、Request("item_number")を取得するだけです

于 2013-03-29T03:46:02.933 に答える
0

どのように情報をサイトに返したいですか。購入者に表示できるようにサイトの返品ページに戻してほしいですか、それともデータベースを更新するためにシステムに戻してほしいだけですか。購入者に返品ページでこれを見てもらいたい場合は、変数「rm」を使用する return メソッドを使用し、ボタン コードで戻り URL を渡します。このメソッドに POST を使用するか、PDT を使用してこれを GET メソッドにすることができます。PDT では、PayPal に対してデータを検証することもできます。次に、購入者には表示されない IPN があります。これは、データベースの更新に使用されます。これにはさらに役立つ情報が含まれている可能性があるため、ここで作成した私の投稿も参照してください。

于 2013-03-29T12:50:32.083 に答える