贝宝退货网址

Posted

技术标签:

【中文标题】贝宝退货网址【英文标题】:PayPal return URL 【发布时间】:2011-02-13 18:17:38 【问题描述】:

这是我的 Paypal 按钮的代码:

<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post">
    <input type="hidden" name="cmd" value="_xclick">
    <input type="hidden" name="business" value="my@email.com">
    <input type="hidden" name="lc" value="GB">
    <input type="hidden" name="button_subtype" value="products">
    <input type="hidden" name="no_note" value="1">
    <input type="hidden" name="no_shipping" value="1">
    <input type="hidden" name="rm" value="0">
    <input type="hidden" name="return" value="http://www.example.com">
    <input type="hidden" name="item_name" value="My Item">
    <input type="hidden" name="amount" value="25.00">
    <input type="hidden" name="currency_code" value="GBP">
    <input type="hidden" name="bn" value="PP-BuyNowBF:proceed_btn.gif:NonHosted">
    <input type="hidden" name="item_number" value="4BD9569402CDE">
    <input type="image" src="http://www.example.com/image.gif" border="0" name="submit" >
    <img  border="0" src="https://www.paypal.com/en_GB/i/scr/pixel.gif"  >
</form>

是否可以将item_number 添加到返回 URL 中?

例如,在 PayPal 中完成付款后,用户会被发送回http://www.example.com?item_number=4BD9569402CDE

【问题讨论】:

为什么不直接将它添加到返回 URL 中? 忘了提一下:它被剥离并替换为http://www.example.com?merchant_return_link=Return+to+Merchant 【参考方案1】:

为什么不直接将其编码为文件名:

http://www.mysite.com/ppreturn/2938

然后使用mod_rewrite将其变成查询字符串:

RewriteRule ^/ppreturn/([1-9]+[0-9]*)  /ppreturn/myscript.php?prodid=$1

如果 paypal 将查询字符串数据添加到您的 url(总是),那么您可以使用 mod_rewrite 将其添加到末尾。

完整的 mod_rewrite 教程有点超出范围,但互联网上充满了信息。开始with the Apache docs。还有一个comparable system for IIS。

编辑

我在 2 年后发表评论,但我的回答是 不好。接受的答案是最好的。 GET 请求在理论上不应该改变状态,尤其是当它是像支付这样的东西时

【讨论】:

这是一个非常好的解决方案。我正在使用一个已经为我处理 url 映射的 MVC,所以做这样的事情真的很简单。非常感谢! :) 我在 2 年后发表评论,但我的回答很糟糕。接受的答案是最好的。 GET 请求在理论上不应该改变状态,尤其是在支付之类的情况下。【参考方案2】:

添加

<input type="hidden" name="rm" value="2" /> 

也可以

【讨论】:

【参考方案3】:

我决定换一种方式。

我意识到你可以告诉 PayPal 通过 POST 发回它的所有查询,所以我会在我的 PHP 中添加一些 POST 检查,它应该可以正常工作。

感谢您的回复。

【讨论】:

你是怎么告诉paypal用什么方法的? rm 变量负责。【参考方案4】:

我记得在他们的文档中读到,您可以添加一个具有任何自定义值的新隐藏字段,该字段将被发回给您。

您可以随意使用该字段 - 我不记得它是如何调用的,抱歉,但如果您手头有文档,您会很容易找到它。

【讨论】:

好电话 - 很有趣,我想它叫custom【参考方案5】:

据我所知,您无法在 paypal 退货链接中退货。 Paypal 最大的缺点,我不知道他们为什么不让你这样做。

我总是通过将变量存储在 cookie 中来解决这个问题——尽管它绝不是一个理想的解决方案。

虽然 PayPal Pro 中可能有更多选项?

【讨论】:

以上是关于贝宝退货网址的主要内容,如果未能解决你的问题,请参考以下文章

贝宝信用卡支付可以在像贝宝快递这样的托管页面中处理吗?

苦苦挣扎的贝宝通知网址

贝宝沙盒返回网址

贝宝支付流专业通知网址

贝宝改变了取消网址的含义吗?或者它是一个错误?

贝宝按钮中的退货功能不起作用