Paypal 如何防止重复贝宝支付?

Paypal 如何防止重复贝宝支付?,paypal,paypal-sandbox,Paypal,Paypal Sandbox,我有一个简单的“立即付款”按钮,代码是通过按钮制造商创建的,添加了一个“自定义”隐藏字段来标识它。 我想知道是否有一些额外的隐藏字段,我可以添加,告诉贝宝,“这个交易不应该做两次” 现在,客户不太可能支付两次,但我注意到,当沙箱出现故障时,我成功地支付了同一笔交易两次。我绝对想避免的事情。不仅对客户而言,这可以得到退款,当然,而且因为我不希望数据库混乱,我希望避免大量编码以捕获重复付款…您希望在“发票”参数中添加唯一标识符并在您的帐户www.paypal.com上的“个人资料”>“我的销售工

我有一个简单的“立即付款”按钮,代码是通过按钮制造商创建的,添加了一个“自定义”隐藏字段来标识它。 我想知道是否有一些额外的隐藏字段,我可以添加,告诉贝宝,“这个交易不应该做两次”



现在,客户不太可能支付两次,但我注意到,当沙箱出现故障时,我成功地支付了同一笔交易两次。我绝对想避免的事情。不仅对客户而言,这可以得到退款,当然,而且因为我不希望数据库混乱,我希望避免大量编码以捕获重复付款…

您希望在“发票”参数中添加唯一标识符<代码>并在您的帐户www.paypal.com上的“个人资料”>“我的销售工具”部分启用“阻止重复付款”

谢谢!(以上职位)

事实上,我走了这么远,我想问一下PayPal商家的技术支持,就在提交我的问题之前,我发现了一个页面,上面有答案-

避免重复付款:

不确定您是否必须登录才能看到上面的页面,因此为了方便起见,我在这里引用该页面:

通过将发票号码传递给客户,可以避免重复交易 贝宝系统。此功能可用于网站付款 标准和网站支付专业版(SOAP和NVP)。贝宝系统 将检查以确保您传递的发票号码尚未更改 已在您的帐户中支付,只要您已配置配置文件 阻止重复的发票号码

示例:发票001已支付,因此如果将001传递给 贝宝帐户第二次,它将被拒绝

要在您的个人资料中阻止此操作,请执行以下操作:

阻止意外付款:您可以通过以下方式防止意外付款: 阻止重复的发票ID

  • 登录

  • 单击“配置文件”子选项卡

  • 在“销售首选项”下,单击“付款接收首选项”

  • 如果希望在传递“发票”变量时利用此功能,请选择“是,阻止每个发票ID的多笔付款”

  • 滚动至底部并单击“保存”按钮

  • 要传递网站付款标准的发票号,您将 需要在现有按钮代码中添加一行代码。你不能 将此代码添加到最初创建为加密的按钮。例子 下:

    对于Website Payments Pro,您传递的参数取决于类型 您正在进行的API调用的数量

    对于SOAP:InvoiceID

    对于NVP:INVNUM

    使用Pro时,如果检测到重复的发票号,则会显示错误 10412将被退回。有关API错误代码的完整列表, 以及有关10412错误的详细信息

    <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>