PayPal Smart Payments: изменение кода валюты

Я пытаюсь настроить PayPal Smart Payments на веб-странице. Я использую приведенный здесь пример: https://developer.paypal.com/docs/checkout/integrate/

Если у меня currency_code установлен на USD, он работает нормально, но если я изменю его на что-нибудь еще, например CAD или GBP, окно не загрузится. Что я делаю неправильно?

<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. Поэтому, если вы хотите войти в систему, вы можете использовать только что созданную мною одноразовую учетную запись. Имя пользователя: [email protected] пароль: pRKCu9.> Но важный вопрос: почему окно даже не загружается во втором примере?


person Rob Kwasowski    schedule 13.02.2020    source источник


Ответы (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 для тестирования, но в производстве вы используете свой собственный.

person Rob Kwasowski    schedule 13.02.2020