PayPal PDT未在查询字符串中返回tx值

PayPal PDT未在查询字符串中返回tx值,paypal,query-string,eclipse-pdt,Paypal,Query String,Eclipse Pdt,我已经浏览了PayPal的文档(不是很有帮助),找不到这个问题的简单答案。当用户从PayPal返回时,URL不包含查询字符串,因此我不会收到“tx”值(或任何其他值) 这是我发送给PayPal的一个示例: <form accept-charset="utf-8" action="https://www.sandbox.paypal.com/au/cgi-bin/webscr" id="paypal-form" method="post"> <input type="hi

我已经浏览了PayPal的文档(不是很有帮助),找不到这个问题的简单答案。当用户从PayPal返回时,URL不包含查询字符串,因此我不会收到“tx”值(或任何其他值)

这是我发送给PayPal的一个示例:

<form accept-charset="utf-8" action="https://www.sandbox.paypal.com/au/cgi-bin/webscr" id="paypal-form" method="post">
    <input type="hidden" name="business" value="dallas_bus@dallasjclark.com">
    <input type="hidden" name="cancel_return" value="http://localhost/checkout">
    <input type="hidden" name="cmd" value="_xclick">
    <input type="hidden" name="charset" value="utf-8">
    <input type="hidden" name="currency_code" value="AUD">
    <input type="hidden" name="custom" value="155">
    <input type="hidden" name="lc" value="AU">
    <input type="hidden" name="notify_url" value="http://localhost/paypal-ipn">
    <input type="hidden" name="return" value="http://localhost/checkout">           
    <input type="hidden" name="item_name" value="ABC Company - Order #155">
    <input type="hidden" name="item_number" value="155">
    <input type="hidden" name="amount" value="8.95">
    <input type="hidden" name="discount_amount" value="0.00">
    <input type="hidden" name="shipping" value="25.00">
    <input type="image" src="https://www.paypal.com/en_AU/i/btn/btn_buynowCC_LG.gif" name="submit" alt="Buy Now">
</form>


提前谢谢

您应该在上检查设置并确保

  • 自动返回设置为打开
  • 您已指定一个返回URL
  • 支付数据传输设置为打开

  • 通过实验,我还学到了另一件不太明显的事情:表单中不能包含“return”值,否则会覆盖设置中的返回URL,并阻止自动返回工作,最终没有必要的tx参数。这是Paypal的一个相对较新的开发(bug?),因为它过去是可以工作的。

    在测试过程中,我遇到了与沙盒相同的问题。为了修复它,我必须在沙盒环境中验证测试帐户。要验证它们,请使用内置测试电子邮件服务。验证后,paypal sandbox开始发送TX参数。

    我已经为此挣扎了一段时间,另一件似乎没有返回TX值的事情是,如果您有免费试用


    因此,如果您的服务费用在前20天内是免费的,那么在此后的4.99天内,您将无法获得第一次免费付款的
    tx
    值。如果您在最初的“免费”期间收取一便士(或您的相关货币)的费用,那么您将得到一个
    tx
    返回值。

    我们实际上向PayPal商户技术服务部门记录了一张票据,以了解这一情况。 我们发现,随着时间的推移,一些paypal商户帐户似乎会忘记其自动返回/PDT设置

    即使您可以进入网站首选项,并且自动返回和PDT都已启用;该帐户的行为将如同未启用它们一样

    按照以下步骤重置设置

    • 点击Profile
    • 点击“我的销售偏好”>
    • 点击“网站偏好”
    (*)如果您找不到此部分,请直接链接->

    • 禁用自动退货和付款数据传输
    • 保存您的更改
    • 再次访问网站首选项
    • 再次启用自动退货和付款数据传输
    • 保存您的更改

    您可能无法获得tx参数的一些其他原因:

    • 要使PDT发挥作用,您必须确认在按钮代码中用作业务价值的电子邮件地址。如果未确认此电子邮件地址,PDT将不起作用。如果您的电子邮件地址未确认,您将不会看到附加到返回URL的PDT查询字符串

    • 启用PDT时,用作默认自动返回URL的URL必须是有效的主机名或IP地址,否则用户将不会自动返回到该URL。确保使用有效的URL作为您希望用户返回的URL,否则将看不到预期结果


    发件人:

    我找到了一个适合我的方法-尝试将此字段插入到生成的表单代码中:

    <input type='hidden' name='rm' value='2'>
    
    
    
    rm表示返回方法

    2表示使用变量发布

    在用户购买并返回到您的站点url之后,该url也会获得POST参数


    p、 如果使用php,尝试插入
    var\u dump($\u POST)代码,然后进行测试购买,当您返回到您的站点时,您将看到url上有哪些变量。

    我遇到了类似的问题-在本地服务器上工作, 我用get代替了“tx”变量,我得到了一个“auth”变量。 在使用它一段时间后,我发现(出于某些有线原因),如果我将虚拟主机和主机文件更改为真实域,我会得到“tx”变量,其中与在本地环境域中一样,我会得到“auth”变量。 那帮我修好了。
    希望这对任何人都有帮助

    我还为此开了一张PayPal商户技术服务票

    对于由PayPal按钮启动的交易。PayPal后端有时会丢失定价结构的货币值(即使它显示给您,并且您可以编辑定价,后端也会丢失这些值,并且不接受更新)

    症状:在Sandbox中,PayPal过程在登录后,但在显示选择资金来源(即使用哪个备用帐户或信用卡)的屏幕之前将失败。你会收到“很抱歉,事情不顺利”的信息


    重新创建按钮,希望这次可以节省定价

    我在实时站点上实现了这一点,但是沙盒(dev)站点不工作。该死的沙盒区域并不总是像预期的那样工作,或者像活动区域一样工作:@@Daniel-虽然我当然同意沙盒站点看起来总是一团糟,但有一个“返回”值肯定会起作用,并且仍然包含在2011年11月底更新的PP文档中。这对我来说从来都不起作用。不得不求助于现场测试以获得tx值。贝宝的沙箱里肯定有个bug!我发现在沙箱站点上,如果用户手动单击返回到merchant,则不包括TX值。查看此url将仅在您使用业务沙盒帐户登录沙盒时打开。就我而言,它是****-Faciliator@****.com。此外,当您设置“支付数据传输”时,您将获得一个身份令牌。这很烦人,也不理解他们为什么会这样做。@12lanterns-您是如何做到的?我很熟悉沙盒,但每次我