PayPal ExpressCheckout — у вас нет разрешения на выполнение этого вызова API

#paypal #express-checkout

#paypal #экспресс-проверка

Вопрос:

Я интегрировал простую онлайн-форму, которая требует некоторого ввода от пользователя и содержит информацию о товаре и ценах в скрытых полях. После того, как пользователь подтвердил свои входные данные, он нажимает кнопку для оплаты с помощью PayPal и будет перенаправлен на PP, где он может оплатить мгновенно.

URL-адрес PP

 https://api-3t.sandbox.paypal.com/nvp
  

для изолированной среды и

 https://api-3t.paypal.com/nvp
  

для живой среды paypemnt.

В изолированной среде все работает нормально, когда я использую учетные данные изолированной среды. После того, как я установил для URL-адресов значение live, изменив учетные данные API на текущие учетные данные, я получаю сообщение об ошибке

 You do not have permission to make this API call.
  

Я протестировал и проверил следующее:

  • учетная запись PP является бизнес-учетной записью и проверена
  • форма была проверена и одобрена PayPal как приложение PP
  • в форме используются правильные учетные данные API
  • установите для параметра «Принимать платежи из вашего магазина перед настройкой API» значение «ДА» и сохраните его с помощью кнопки отправки / сохранения
  • проверил параметр http-запроса в реальном времени, и они выглядят нормально

Ошибка возникает после отправки параметров из setExpressCheckoutData().

Теперь я в замешательстве. Я покрасил некоторые сведения, чтобы установить РЕЖИМ «test» на «live» в конце корзины, но не знаю точно, что это значит.

Пожалуйста, помогите.

Ответ №1:

Нашел причину и исправил ее.

Удален параметр «subject» из данных запроса. Если этот параметр не передан (я думаю, что это необходимо только для Unipay), ExpressCheckout работает нормально.

В изолированной среде не имеет значения, использовать этот параметр или нет.