JavaScript - Paypal API,如何更改收货地址?

Posted

技术标签:

【中文标题】JavaScript - Paypal API,如何更改收货地址?【英文标题】:JavaScript - Paypal API, how do I change the shipping address? 【发布时间】:2020-06-15 04:30:41 【问题描述】:

我一直试图在文档中弄清楚这一点,我在这里找到了地址:

https://developer.paypal.com/docs/api/payments/v2/#definition-address_portable

但我不知道如何在我的 Paypal 结帐按钮上实现该更改,没有关于如何实现它的示例,有人知道怎么做吗?

这就是我的 Paypal 沙盒结帐现在的样子(我跳过了createOrder 下面的所有内容)

<script>
   paypal.Buttons(

      createOrder: function(data, actions) 

         return actions.order.create(

            purchase_units: [
               amount: 
                  value: '<?=$total?>'
               ,
                  description: '<?=$description?>'
               ]
         );
      

      // Skipped...

</script>

【问题讨论】:

通常用户在结账时自己选择地址。您想何时更改地址?重要的是要非常具体地说明您需要更改地址的确切时间,因为根据您需要更改地址的确切时间以及原因,会有不同的答案。通常,您根本不需要更改它。由于您跳过了重要的代码,因此您实际上可能要问的是“我如何设置结帐的送货地址”。但是为什么需要这样做,当用户在结帐打开后选择不同的地址时会发生什么? @PrestonPHX 目前在网站上,用户选择一个送货地址然后继续使用 Paypal 付款,因此用户是否在 Paypal 结帐时更改地址并不重要(它将被忽略),那就是为什么我们要更改 Paypal 结帐收货地址,您也是对的,我的问题实际上是“如何在打开结帐之前设置收货地址”,您知道该怎么做吗? 很重要,不应被忽视。该新地址将成为 PayPal 交易的一部分。您运送有形商品吗? PayPal 希望您将货物运送到属于 PayPal 交易的地址。只要有可能,您应该设计一个流程,尽可能早地提供 PayPal 选项,并使用 PayPal 结账时选择的内容更新为订单选择的地址。 @PrestonPHX 我已经按照您描述的方式完成了,但是网站上发生了变化,所以现在必须这样做,我真的无能为力,这就是为什么我正在寻求有关如何更改结帐地址的帮助,如果您知道该怎么做,请帮助我 您或提出此要求的人员尚未考虑您所要求的所有含义。导致您网站的送货地址订单记录与相应 PayPal 交易的送货地址不一致的解决方案不是您应该要求的。我不会告诉你怎么做,因为到目前为止你所描述的是一个糟糕的解决方案,需要更多的思考。 【参考方案1】:

使用json的这种结构

create_payment_json = 
                "intent": "sale",
                "payer": 
                    "payment_method": "paypal"
                ,
                "transactions": [
                    
                    "amount": 
                        "total": totalPlusTax.toFixed(2), //"30.11",
                        "currency": "USD",
                        "details": 
                            "subtotal": totalPrice, //"30.00",
                            "tax": "0.07",
                            "shipping": "0.03",
                            "handling_fee": "1.00",
                            "shipping_discount": "-1.00",
                            "insurance": "0.01"
                          
                    ,
                    "item_list":  
                        items,
                        "shipping_address": 
                            "recipient_name": "Brian Robinson",
                            "line1": "4th Floor",
                            "line2": "Unit #34",
                            "city": "San Jose",
                            "state": "CA",
                            "phone": "12345678",
                            "postal_code": "95131",
                            "country_code": "US"
                          
                    ,
                    "description": "This is the payment description."
                
                ],
                "redirect_urls": 
                    "return_url": "http://localhost:3000/execute",
                    "cancel_url": "http://localhost:3000/cancel"
                ,
            ;

【讨论】:

以上是关于JavaScript - Paypal API,如何更改收货地址?的主要内容,如果未能解决你的问题,请参考以下文章

使用 cURL 和 JavaScript + Rest API 登录 Paypal

PayPal JavaScript API 通行证收货地址

PayPal 的 JavaScript API 强制“送货地址与账单地址相同”?

用于传递产品和金额的简单 PayPal Javascript API

Paypal PHP Rest API 用于信用卡支付,如何处理错误以显示给用户

Paypal:选择哪种产品和 api?