5

シンプルな[今すぐ支払う]ボタンがあります。これは、ボタンメーカーで作成されたコードで、それを識別するために「カスタム」の非表示フィールドが追加されています。PayPalに「この取引は2回行わないでください」と伝えるために追加できる隠しフィールドがあるのではないかと思います。

<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post">

    <input type="hidden" name="cmd" value="_s-xclick">
    <input type="hidden" name="custom" value="{MYUNIQUEID}">
    <input type="hidden" name="hosted_button_id" value="{MYHOSTEDBUTTONID}">
    <input type="image" src="https://www.sandbox.paypal.com/en_US/i/btn/btn_paynowCC_LG.gif" 
    border="0" name="submit" alt="PayPal - The safer, easier way to pay online!">
    <img alt="" border="0" src="https://www.sandbox.paypal.com/en_US/i/scr/pixel.gif" width="1" height="1">

</form>

現在、顧客が2回支払うことができる可能性は低いですが、サンドボックスに不具合があったときに、同じトランザクションを2回支払うことに成功したことに気付きました。絶対に避けたいもの。顧客だけでなく、確かに返金される可能性がありますが、データベースを台無しにしたくないので、重複した支払いをキャッチするための大規模なコーディングを避けたいのです...

4

2 に答える 2

12

「invoice」パラメータに一意の識別子を追加する必要があります。<input type="hidden" name="invoice" value="your unique invoice ID">www.paypal.comのアカウントの「プロファイル」>「マイセリングツール」セクションで「重複支払いのブロック」を有効にします

于 2012-08-01T16:39:52.510 に答える
8

ありがとうロバート!(上記の投稿)

私は実際にこれまで行ったので、PayPalマーチャントテクニカルサポートにそれについて尋ねるつもりでしたが、質問を送信する直前に、答えのあるページが見つかりました-

重複した支払いの回避: https ://ppmts.custhelp.com/app/answers/detail/a_id/165

上記のページを表示するためにログインする必要があるかどうかわからないため、便宜上、ここでページを引用しています。

請求書番号をPayPalシステムに渡すことで、重複した取引を回避できます。この機能は、WebsitePaymentsStandardおよびWebsitePaymentsPro(SOAPおよびNVP)で使用できます。PayPalシステムは、重複する請求書番号をブロックするようにプロファイルを構成している限り、渡した請求書番号がアカウントでまだ支払われていないことを確認します。

例:請求書001が支払われているため、001が2回目にPayPalアカウントに渡されると、拒否されます。

プロファイルでこれをブロックするには:

誤った支払いをブロックする:重複する請求書IDをブロックすることで、誤った支払いを防ぐことができます

  1. https://www.paypal.comでログインします

  2. [プロファイル]サブタブをクリックします

  3. 「販売設定」の下で「支払い受領設定」をクリックします

  4. 「請求書」変数を渡すときにこの機能を利用する場合は、「はい、請求書IDごとに複数の支払いをブロックする」を選択します。

  5. 一番下までスクロールして、[保存]ボタンをクリックします

Website Payments Standardの請求書番号を渡すには、既存のボタンコードにコード行を追加する必要があります。元々暗号化されて作成されたボタンにこのコードを追加することはできません。以下の例:

Website Payments Proの場合、渡すパラメーターは、実行するAPI呼び出しのタイプによって異なります。

SOAPの場合:InvoiceID

NVPの場合:INVNUM

Proを使用している場合、重複する請求書番号が検出されると、エラー10412が返されます。APIエラーコードの完全なリスト、および10412エラーに関する詳細については、ここをクリックしてください

于 2012-08-01T22:07:55.927 に答える