PayPal Smart Payments:更改货币代码

Posted

技术标签:

【中文标题】PayPal Smart Payments:更改货币代码【英文标题】:PayPal Smart Payments: changing the currency code 【发布时间】:2020-05-29 13:32:33 【问题描述】:

我正在尝试在网页上设置 PayPal 智能支付。我在这里使用他们给出的示例:https://developer.paypal.com/docs/checkout/integrate/

如果我将currency_code 设置为USD,它可以正常工作,但如果我将其更改为其他任何值,例如CADGBP,窗口将无法加载。我做错了什么?

<script src="https://www.paypal.com/sdk/js?client-id=sb"></script>
<script>
  paypal.Buttons(
    createOrder: function(data, actions) 
      return actions.order.create(
        'purchase_units': [
          'amount': 
            'currency_code': 'USD',
            'value': '5',
          ,
        ]
      )
    
  ).render('body')
</script>

由于某种原因,此示例无法在 Stack Overflow 上运行,但在 JSFiddle 上运行良好,因此我制作了两个示例,currency_code 设置不同。

'currency_code': 'USD':https://jsfiddle.net/liquidmetalrob/8y3p52fh/

'currency_code': 'GBP':https://jsfiddle.net/liquidmetalrob/8y3p52fh/1

第一个示例将加载 PayPal 窗口,您需要一个 PayPal Sandbox 帐户才能登录。因此,如果您想登录,可以使用我刚刚创建的一次性帐户。用户名:sb-ilukn1050819@personal.example.com 密码:pRKCu9.&gt; 但重要的问题是为什么在第二个示例中窗口甚至没有加载?

【问题讨论】:

【参考方案1】:

我在这里找到了答案:https://developer.paypal.com/docs/checkout/reference/customize-sdk/

您必须将货币代码添加到脚本 URL,然后将其从 JS 中删除。

<script
  src="https://www.paypal.com/sdk/js?client-id=sb&currency=GBP">
</script>
<script>
  paypal.Buttons(
    createOrder: function(data, actions) 
      return actions.order.create(
        'purchase_units': [
          'amount': 
            'value': '5',
          ,
        ]
      )
    
  ).render('body')
</script>

注意:client-id 可以设置为 sb 用于测试,但在生产中您使用自己的。

【讨论】:

以上是关于PayPal Smart Payments:更改货币代码的主要内容,如果未能解决你的问题,请参考以下文章

如何测试定期结算(Paypal Payments Pro)

Paypal Payments Pro 是不是与 Paypal 的 Adaptive Payments API 兼容?

PayPal开发文档整理(12)——paypal payments pro

通过 Braintree + Braintree Webhooks 从 PayPal Payments Pro(w/h 定期计费)+ IPN 迁移到 PayPal Payments

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

调用 PayPal API /payments/payment 时如何传递送货地址