Paypal REST API : How to retrieve payment ID after user has approved the payment.

标签 paypal

按照 https://developer.paypal.com/webapps/developer/docs/integration/web/accept-paypal-payment/ 上的指南进行操作,我已成功创建付款并重定向用户以批准它。

创建的付款如下所示,我将其保存在用户 session 中以供进一步引用。

{
  "id": "PAY-6RV70583SB702805EKEYSZ6Y",
  "create_time": "2013-03-01T22:34:35Z",
  "update_time": "2013-03-01T22:34:36Z",
  "state": "created",
  "intent": "sale",
  "payer": {
    "payment_method": "paypal"
  },
  "transactions": [
    {
      "amount": {
        "total": "7.47",
        "currency": "USD",
        "details": {
          "subtotal": "7.47"
        }
      },
      "description": "This is the payment transaction description."
    }
  ],
  "links": [
    {
      "href": "https://api.sandbox.paypal.com/v1/payments/payment/PAY-6RV70583SB702805EKEYSZ6Y",
      "rel": "self",
      "method": "GET"
    },
    {
      "href": "https://www.sandbox.paypal.com/webscr?cmd=_express-checkout&token=EC-60U79048BN7719609",
      "rel": "approval_url",
      "method": "REDIRECT"
    },
    {
      "href": "https://api.sandbox.paypal.com/v1/payments/payment/PAY-6RV70583SB702805EKEYSZ6Y/execute",
      "rel": "execute",
      "method": "POST"
    }
  ]
}

用户同意付款后,Paypal 会将用户重定向到return_url .例如,http://<return_url>?token=EC-60U79048BN7719609&PayerID=7E7MGXCWTTKK2 .

为了执行支付,必须向 https://api.sandbox.paypal.com/v1/payments/payment/{payment_id}/execute/ 发出 POST 请求.

问题

URL中Paypal提供的唯一两条信息是tokenPayerID .怎么才能找到对应的payment_id

可能的解决方案

tokenapproval_url 的一部分,解析 URL 并存储 token -> payment关系可以解决问题。但我正在寻找不需要解析的更好解决方案。

最佳答案

我认为 paypal 文档对此并不清楚。但是您可以做一些简单的事情来解决通过返回 url 中的参数传递 de PaymentID 的问题。

像这样: return_url = 'http://www.yourdomain.com/paypal/success/?paymentID=PAY-1234567'

当 Paypal 重定向到您的站点时,它将返回 paymentID 以及其他参数。

关于 Paypal REST API : How to retrieve payment ID after user has approved the payment.,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18543958/

相关文章:

paypal - 交付过程

php - Paypal API - 客户接受来自其客户的 paypal 付款

php - 将 PayPal IPN 与 PHP 集成 - cURL 错误 : SSL CA cert

javascript - 当您使用新的 Checkout 按钮时,PayPal 如何禁用浏览器的工具栏访问

Android 和 Paypal API 集成

paypal - 如何以健壮的方式实现 Paypal 代码

ios - 授权未知金额的交易,并在以后收取服务费用

python - Paypal API : Get balance of other users?

paypal - 收款人不接受以这种货币付款

authentication - 将客户的钱直接转给第三方(Paypal Payments Pro)