Paypal 立即购买按钮交易响应问题

Posted

技术标签:

【中文标题】Paypal 立即购买按钮交易响应问题【英文标题】:Paypal Buy Now button transaction response issue 【发布时间】:2012-04-04 06:33:02 【问题描述】:

我正在使用以下代码生成一个“立即购买”按钮来销售单个商品。 它使用沙箱将我带到 PayPal 并进行付款,但在我返回后,响应中没有收到任何内容(我得到的 URL 中没有额外的参数)。

<form name="_xclick" action="https://www.sandbox.paypal.com/webscr" method="post">
<input type="hidden" name="cmd" value="_xclick">
<input type="hidden" name="business" value="steve.johntestemail@gmail.com">
<input type="hidden" name="lc" value="US">
<input type="hidden" name="item_name" value="Book_1">
<input type="hidden" name="amount" value="0.09">
<input type="hidden" name="currency_code" value="USD">
<input type="hidden" name="button_subtype" value="services">
<input type="hidden" name="no_note" value="0">
<input type="hidden" name="return" value="http://www.thequeenoflean.com.au">
<input type="hidden" name="bn" value="PP-BuyNowBF:btn_buynowCC_LG.gif:NonHostedGuest">
<input type="image" src="https://www.paypalobjects.com/en_US/i/btn/btn_buynowCC_LG.gif" border="0" name="submit" >

</form>

我会在 get 或 post 中获取数据吗?

其实我也想找回买家的email和其他一些信息。

谁能指导我这里的错误是什么?

提前致谢。

【问题讨论】:

【参考方案1】:

我尝试了沙盒、实时 Paypal 支付场景,但它不起作用, 我尝试了很多教程,但这些教程中提到的步骤都不起作用,

终于找到原因了:

我试图在亚洲国家/地区使用 Paypal,但它不受支持且工作异常,这就是为什么我没有得到回应的原因。如果您使用任何其他 ***,例如(美国、澳大利亚等。支持的 ips),它将正常工作并准确返回您的响应。

谢谢,

【讨论】:

我不认为那是您从未收到信息的原因,那只是一个额外的原因,原因是因为您没有通知 url,碰巧您也有当前的情况。如果用户从不点击返回网站,您将永远无法获得付款数据,因此您需要在表单中实现 notify_url。【参考方案2】:

我知道您没有得到任何信息的原因。

看这里:https://***.com/a/11404356/279147

你看我的表单中有一个 notify_url 参数,这是一个 url,当支付完成时,无论成功还是失败,paypal 都会调用它。

url不是浏览器打开的,弹出窗口等,它是一个“反向通道”调用你的服务器只是发送数据,没有与客户端交互,所以不要放任何html,或者返回任何东西,这只是转储数据的“死点” url,如果你放类似的东西

<?php trigger_error(print_r($_POST,true)); ?>

在您的代码中,您的错误日志可能会显示一些信息,因此您知道您正在接收信息,

您错过了这一点,因此您永远不会获得任何信息,除非用户单击返回网站按钮,并且根据我的经验,这种情况永远不会发生。他们只是关闭浏览器。

所以看看我的网址,添加参数,然后再试一次。

【讨论】:

以上是关于Paypal 立即购买按钮交易响应问题的主要内容,如果未能解决你的问题,请参考以下文章

在 PHP 中创建动态 PayPal 立即购买按钮

PayPal沙盒立即购买问题

如何使用自定义字段制作 PayPal 加密的“立即购买”按钮?

具有可变/动态价格的 Paypal 立即购买按钮

Paypal 不会将沙盒交易数据发送到 IPN

如何更好地为第三方卖家集成 Paypal“立即购买”按钮?