支付成功后如何从paypal获取交易明细

2021-12-29 00:00:00 php paypal


我发送到贝宝的数据是


My sent data to paypal is

"https://www.paypal.com/cgi-bin/webscr/cmd=_cart&upload=1&business=seller.email@something.com&currency_code=USD&bn=BusinessName&return=http://www.sellersite.com&item_number_1=55&item_name_1=battery&amount_1=55&quantity_1=2&item_number_2=52&item_name_2=bat&amount_2=5&quantity_2=3"

我想在成功付款后在http://www.sellersite.com"上向买家显示那些发送的数据(商品编号、商品名称、金额、数量)和贝宝交易ID.(假设卖家有 paypal 的商家帐户,他会从网站的管理部分将该 paypal id 输入数据库.所以,我不会考虑他的 paypal 帐户设置,我的工作只是为 paypal 付款创建环境给卖家.)

如果我写一个像

And I want to show those sent data(item number, item name,amount,quantity) and the paypal transaction id to the buyer on "http://www.sellersite.com" after successful payment. (Suppose, the seller has the merchant account with paypal and he would enter that paypal id into database from admin section of the website. So,I would not think about his paypal account settings, my job is just to create the environment for paypal payment for the seller.)

If I write a script like

$T_ID=$_REQUEST['tx']; // or $T_ID=$_GET['tx']; **ref(tx):- "https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/howto_html_paymentdatatransfer"

$item=$_REQUEST['item_number_1']; // or $item=$_GET['item_number_1'];

那我会从贝宝那里得到这些数据吗?

Then would I get those data from paypal ?

请告诉我.

-谢谢.

推荐答案

事情不会那么简单.您需要设置 支付数据传输(PDT) 以便在买家完成付款后将详细信息发送回您的退货网址.

It's not going to be quite that simple. You'll need to setup Payment Data Transfer (PDT) in order to get details sent back to your return URL after the buyer completes the payment.

如果您只是想向用户显示详细信息,这很有用,但不建议更新您自己的数据库、发送电子邮件通知等.因为无法保证会访问此页面,因此代码不会总是运行.

This is useful if you're simply going to display details back to the user, but it's not recommended for updating your own database, sending out email notifications, etc. because there is no guarantee this page will ever be reached so the code won't always run.

对于这类事情,您需要使用即时付款通知 (IPN).这与 PDT 非常相似,不同之处在于它始终将数据发布到您服务器上的 IPN 侦听器,无论用户是否将其返回到您的返回 URL,并且它一起发生在您的结帐系统之外.

For that sort of thing you'll want to use Instant Payment Notification (IPN). This works very similar to PDT except that it will always POST data to your IPN listener on your server regardless of whether or not the user makes it back to your return URL, and it happens outside of your checkout system all together.

相关文章