通知PayPal的url
贝宝返回我成功地返回我指定的时候创build立即购买button的url。 但是,现在我很困惑。 我如何检索有关在Paypal上发生的交易的细节? 而且我也想在返回的url上设置一些数据库值。 但是,如果我的用户没有付费到paypal,那么他恐怕也会成为高端会员。 我如何确保这一点?
贝宝通过他们称之为IPN的方式将数据返还给您的网站。 它真的只是一个你指定的URL的callback。 您可以通过您可以发送给PayPal的variablesnotify_url来设置此URL。
例:
<input name="notify_url" value="http://yourdomain.com/notify_url.php" type="hidden">
上述示例中的notify_url.php在付款完成时从PayPal收到一些POSTvariables,即使客户永远不会返回到您的网站。
PayPal返回的一些重要variables是:
- mc_gross
- 发票
- settle_amount
- protection_eligibility
- address_status
- payer_id
- 税
- 街道地址
- 付款date
- 支付状态
- 字符集
- address_zip
- mc_shipping
- mc_handling
- 名字
- mc_fee
- address_country_code
- 汇率
- 地址名称
- notify_version
- settle_currency
- 习惯
- payer_status
- 商业
- ADDRESS_COUNTRY
- ADDRESS_CITY
- verify_sign
- PAYER_EMAIL
- txn_id
- 付款方式
如果您设置了发票,则会返回发票。 它可以用作你自己的order-id / transaction-id。
txn_id是由PayPal生成的,它是他们自己的交易的ID。
如果您自己添加项目,您将PayPal还返回num_cart_items,item_name1(item_name2,item_name3),quantity1(quantity2,quantity3)等。
当然,你仍然有问题要解决,如何检查所有这些数据,并将其连接到你自己的数据库中的客户,你可能有。
我所做的是在发送客户到PayPal之前保存一个临时的“订单”,并附上一张发票编号,我将这张编号作为发票发送到PayPal。 这样我的notify_url.php页面可以检查我的数据库的发票编号和比较订单/付款。