通知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)等。

更多阅读https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_html_Appx_websitestandard_htmlvariables

当然,你仍然有问题要解决,如何检查所有这些数据,并将其连接到你自己的数据库中的客户,你可能有。

我所做的是在发送客户到PayPal之前保存一个临时的“订单”,并附上一张发票编号,我将这张编号作为发票发送到PayPal。 这样我的notify_url.php页面可以检查我的数据库的发票编号和比较订单/付款。