定制" PayPal" PayPal市场(API)按钮

时间:2018-01-09 15:53:36

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

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

在其他步骤中,我需要自定义" PayPal结帐"按钮。我是按照this page上的说明做到的。

在功能"付款" (请参阅下面的原始代码段),我应该为CREATE_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"?我在html文件的后续段中有类似的EXECUTE_URL问题。

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

  3. 我的应用应该采取什么操作的网址为" CREATE_URL"?我的直觉是调用Order API来创建一个订单(以及我的数据库中的其他内容)。这是对的吗?

1 个答案:

答案 0 :(得分:1)

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

  1. 通过阅读本文,我很困惑为什么CREATE_URL值不是以" http"开头的完整路径网址。或" https"?我在html文件的后续段中有类似的EXECUTE_URL问题。
  2. 您不必拥有完整路径网址(称为绝对路径),因为您为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?
    2. 您的请求正文将从JavaScript data参数接收付款数据,该参数应为JSON格式。然后在收到POST数据时将其传递给服务器端。 更简单的实现是使用client-side integration创建订单。

      1. 我的应用应该在网址上采取什么操作?#34; CREATE_URL"?我的直觉是调用Order API来创建一个订单(以及我的数据库中的其他内容)。这是对的吗?
      2. 您的应用应自动运行创建订单方法。此脚本适用于JavaScript承诺,因此将等待响应,例如在尝试执行付款之前获得客户的成功授权(或失败)。