PayPal Smart Payment Buttons错误paypal.Buttons不是功能

时间:2019-08-17 15:15:24

标签: php paypal

我正在将智能付款按钮集成到我的网站中,然后才能正常工作,但是今天早些时候,我遇到了这些错误

enter image description here

在加载paypal.Buttons().render()文件中的paypal.js函数之前,我已经加载了paypal SDK

<script src="https://www.paypal.com/sdk/js?client-id=<MY_CLIENT_ID_HERE>&currency=PHP"></script>

<script type="text/javascript" src="paypal.js"></script>

这是我的paypal.js文件的内容

paypal.Buttons({
createOrder : function(data, actions){
  return actions.order.create({
    purchase_units : [{
      amount : {
        value : amount_to_pay
      }
    }],
    application_context: {
        shipping_preference: "NO_SHIPPING",
    },
    country_code : "PH"
  })
},
style: {
      color:  'gold',
      shape:  'rect',
      label:  'buynow',
       size: 'responsive',
       branding: true

  },
  onApprove: function(data, actions) {
    // Capture the funds from the transaction
    return actions.order.capture().then(function(details) {

      return fetch('/pay-with-pp', {
        method: 'post',
        headers: {
          'content-type': 'application/json'
        },
        body: JSON.stringify({
          orderID: data.orderID,
          product_id : product_id,
          _token : token
        })
      }).then(function(res){
        alert('Payment has been made! Please see the delivery status on orders page!');
        window.location.href = redirect_url
      });
    });
  },

}).render('#paypal-button-container');

1 个答案:

答案 0 :(得分:4)

我仔细分析了错误并找到了解决方法。

我在加载SDK的脚本标签中添加了<script src="https://www.paypal.com/sdk/js?client-id=AaJMejIDjhumOr48XsycjfvQegxAku1dHdrA0DNfkqFSg7bFFkpJTnnwyaLIGUFsPijWx1g51gxp9F-5&currency=USD" data-namespace="paypal_sdk"></script> 属性

data-namespace

然后在我的paypal.js文件中使用paypal.Buttons().render() 的值

所以而不是

paypal_sdk.Buttons().render()

我用过

User-Agent

它有效!