通知Paypal的网址

时间:2010-05-19 13:39:03

标签: paypal payment-gateway

Paypal成功返回我在创建立即购买按钮时指定的返回网址。但是,现在我很困惑。 如何检索有关Paypal上发生的交易的详细信息?我还想在返回网址上设置一些数据库值。但我担心,如果我的用户没有支付PayPal到该网址,那么他也将成为高级会员。我如何确保这一点?

1 个答案:

答案 0 :(得分:77)

PayPal通过他们称之为IPN的方式将数据返回到您的网站。它实际上只是对您指定的URL的回调。 您可以通过可以发送到PayPal的变量 notify_url 来设置此网址。

示例:

<input name="notify_url" value="http://yourdomain.com/notify_url.php" type="hidden">

上面示例中的notify_url.php会在付款完成后从PayPal收到一些POST变量,即使客户从未返回到您的网站。

PayPal返回的一些重要variables是:

  • mc_gross
  • 发票
  • settle_amount
  • protection_eligibility
  • address_status
  • payer_id
  • address_street
  • PAYMENT_DATE
  • PAYMENT_STATUS
  • 字符集
  • address_zip
  • mc_shipping
  • mc_handling
  • 如first_name
  • mc_fee
  • address_country_code
  • EXCHANGE_RATE
  • ADDRESS_NAME
  • notify_version
  • settle_currency
  • 定制
  • payer_status
  • 业务
  • ADDRESS_COUNTRY
  • ADDRESS_CITY
  • verify_sign
  • PAYER_EMAIL
  • txn_id
  • payment_type
如果您设置了

发票。它可以用作您自己的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并使用发票ID之前保存临时“订单”,同一ID我发送到PayPal作为发票。通过这种方式,我的notify_url.php页面可以检查我的数据库中的发票ID并比较订单/付款。