paypal - PayPal Rest API 是否具有等效的经典用户操作

标签 paypal

有没有办法使用 PayPal REST Api 跳过两步确认过程?

我已经使用 PayPal REST API 成功实现了标准流程,它将用户带到他们输入凭据的 PayPal 网站,然后显示订单摘要以及“继续”选项以及文本 - ”你快完成了。你将在 xxxx 商店确认你的付款。

有没有办法我们可以跳过这一步 - 这样就不会将用户返回到我的网站,在那里他们必须再次查看订单并选择“付款”,而是在 PayPal 上显示“立即付款”按钮,这会执行付款吗?

我已经搜索过了,经典的 API 似乎通过添加 url 参数 useraction commit 来处理这个问题。如果我能找到 REST api 的等效项就好了。

最佳答案

我遇到了同样的问题,我从 PayPal 支持人员那里得到了答案。

TL;DR:只需将 &useraction=commit 附加到 approval_url。

他们告诉我 REST API 重定向 URL 是常规的 Express Checkout 重定向 URL,因此您可以使用相同的参数。

如果您执行支付 API 调用,例如:

curl -v https://api.sandbox.paypal.com/v1/payments/payment
-H "Content-Type:application/json"
-H "Authorization:Bearer ACCESS_TOKEN_HERE"
-d '{
    "transactions": [{
        "amount": {
            "currency":"USD",
            "total":"12"
        },
        "description":"creating a payment"
    }],
    "payer": {
        "payment_method":"paypal"
    },
    "intent":"sale",
    "redirect_urls": {
        "cancel_url":"https://devtools-paypal.com/guide/pay_paypal/curl?cancel=true",
        "return_url":"https://devtools-paypal.com/guide/pay_paypal/curl?success=true"
    }
   }'

您将得到以下响应:

{
   "id":"PAY-XYZ",
   "create_time":"2015-02-26T15:14:27Z",
   "update_time":"2015-02-26T15:14:28Z",
   "state":"created",
   "intent":"sale",
   "payer":{
      "payment_method":"paypal",
      "payer_info":{
         "shipping_address":{

         }
      }
   },
   "transactions":[
      {
         "amount":{
            "total":"12.00",
            "currency":"USD",
            "details":{
               "subtotal":"12.00"
            }
         },
         "description":"creating a payment",
         "related_resources":[

         ]
      }
   ],
   "links":[
      {
         "href":"https://api.sandbox.paypal.com/v1/payments/payment/PAY-XYZ",
         "rel":"self",
         "method":"GET"
      },
      {
         "href":"https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=EC-FOOBAR",
         "rel":"approval_url",
         "method":"REDIRECT"
      },
      {
         "href":"https://api.sandbox.paypal.com/v1/payments/payment/PAY-XYZ/execute",
         "rel":"execute",
         "method":"POST"
      }
   ]
}

在此响应中,您将获得批准 url

https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=EC-FOOBAR

您只需使用参数 &useraction=commit 以编程方式扩展它。

因此您将用户重定向到

https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express-checkout&token=EC-FOOBAR&useraction=commit

例子来自the PayPal Developer Tools .

关于paypal - PayPal Rest API 是否具有等效的经典用户操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24956117/

相关文章:

php - paypal IPN php 脚本- mysql 不工作?

Paypal 管理员用户与 Paypal 用户

api - 自动化 PayPal 月结单检索

Paypal 订阅 + 定期付款

paypal - 在多卖家市场设置中跟踪 Paypal 付款

paypal - 在 paypal api 中通过 invoiceId 获取交易

PayPal Rest API 获取销售 - REQUIRED_SCOPE_MISSING

variables - Paypal IPN 变量 residence_country 属于商家还是客户?

paypal - 澳大利亚支持paypal直付吗?

php - paypal 成功 url 返回 null