【问题标题】:Customizing "PayPal" button for PayPal Marketplace (API)为 PayPal Marketplace (API) 自定义“PayPal”按钮
【发布时间】:2018-06-18 17:06:53
【问题描述】:

我是第一次使用 PayPal Marketplace API 开发我的应用程序。

在其他步骤中,我需要自定义一个“PayPal 结帐”按钮。我按照this page 上的说明执行此操作。

在函数“支付”(见下面的原始代码段)中,我应该为 CREATE_URL 提供一个回调 url:

            // payment() is called when the button is clicked
            payment: function() {

            // Set up a url on your server to create the payment
            var CREATE_URL = '/demo/checkout/api/paypal/order/create/';

            // Make a call to your server to set up the payment
            return paypal.request.post(CREATE_URL)
                .then(function(res) {
                    return res.id;
                });
            }
  1. 看了这篇,我很疑惑为什么CREATE_URL的值不是以“http”或“https”开头的全路径url?我在 html 文件的后续部分中对 EXECUTE_URL 有类似的问题。

  2. 我的 REST 控制器应该期待什么类型的 RequestBody?

  3. 我的应用应在“CREATE_URL”的 url 处采取什么操作?我的直觉是调用 Order API 来创建订单(以及我数据库中的其他内容)。这是正确的吗?

【问题讨论】:

    标签: paypal paypal-sandbox paypal-rest-sdk


    【解决方案1】:

    我可以一次解决一个问题:

    1. 读到这里,我很疑惑为什么CREATE_URL的值不是以“http”或“https”开头的全路径url?我在 html 文件的后续部分中对 EXECUTE_URL 有类似的问题。

    您不必拥有完整路径 URL(称为绝对路径),因为您为 CREATE_URL 提供的路径位于您自己的服务器上。因此,您拥有按钮的代码位于 exampleButton.html 之类的页面上,当您单击该按钮时,它会将您带到一个脚本,例如 var CREATE_URL = '/demo/checkout/api/paypal/order/create/'; 这是一个索引页面,它将使用您传递的数据运行Create Order API method。这是另一个实现payment button with checkout.js using a server side language 的示例。

    1. 我的 REST 控制器应该期待什么类型的 RequestBody?

    您的请求正文将接收来自 JavaScript data 参数的付款数据,该参数应为 JSON 格式。然后,当您收到 POST 数据时,将其传递给服务器端。 更简单的实现是使用client-side integration 来创建订单。

    1. 我的应用程序应该对“CREATE_URL”的 url 采取什么操作?我的直觉是调用 Order API 来创建订单(以及我数据库中的其他内容)。这是正确的吗?

    您的应用应自动运行创建订单方法。此脚本适用于 JavaScript 承诺,因此将等待响应,例如在尝试执行付款之前从客户那里获得成功的授权(或失败)。

    【讨论】:

      猜你喜欢
      • 2017-11-14
      • 2013-05-30
      • 2014-08-03
      • 2011-10-13
      • 2016-08-05
      • 2020-03-11
      • 2016-02-28
      • 2017-04-23
      • 2017-10-11
      相关资源
      最近更新 更多