Как проверить отрицательные ответы для тестовых значений с PayumBundle и Paypal - PullRequest
0 голосов
/ 16 апреля 2019

Я использую PayumBundle (https://github.com/Payum/PayumBundle) с моим приложением Symfony (2.8.49).

Я хотел бы проверить, как мое приложение взаимодействует с ответами об ошибках оплаты.

При использовании Stripe gateway это не проблема, поскольку некоторые номера карт приводят к тому, что API Stripe выдает ответ об ошибке.

Но с Paypal я не знаю, как это сделать? Я прочитал документацию по API песочницы Paypal (https://developer.paypal.com/docs/api/test-values/#), и вот что они говорят:

Чтобы инициировать ответ симуляции SENDER_EMAIL_UNCONFIRMED, задайте для элементов [0] / значение примечания значение ERRPYO002 в вызове POST v1 / платежи / выплаты.

curl -X POST https://api.sandbox.paypal.com/v1/payments/payouts \
  -H "content-type: application/json" \
  -H "Authorization: Bearer Access-Token" \
  -d '{
  "sender_batch_header": {
    "sender_batch_id": "1524086406556",
    "email_subject": "This email is related to simulation"
  },
  "items": [
  {
    "recipient_type": "EMAIL",
    "receiver": "payouts-simulator-receiver@paypal.com",
    "note": "ERRPYO002",
    "sender_item_id": "15240864065560",
    "amount": {
      "currency": "USD",
      "value": "1.00"
    }
  }]
}'

Как мы можем проверить ошибки с Paypal, используя Payum Bundle?

Заранее спасибо

Ответы [ 2 ]

0 голосов
/ 17 апреля 2019

ОБНОВЛЕНИЕ / ОТВЕТ

На самом деле мне удалось провести отрицательные тесты.

Сначала вам нужно было включить отрицательное тестирование для своего бизнес-аккаунта в Paypal.Панель инструментов проверьте этот URL для документации: https://developer.paypal.com/docs/classic/lifecycle/nt-classic/#

Затем, после включения отрицательного тестирования, в поле оплаты во время проверки платежа необходимо выбрать суммы, соответствующие суммам Paypal, вызывающим ошибку, которые перечисленыпо этой ссылке: https://developer.paypal.com/docs/classic/api/errors/#10000-to-10099

Например, если вы хотите активировать код ошибки суммы 10009, на своем веб-сайте при выборе суммы, которую вы хотите оплатить с помощью учетной записи PayPal, выберите сумму "100,09" .Если вам нужен код ошибки 10014, выберите сумму «100,14» и т. Д. И т. Д.

. Причина, по которой я не нашел этого, заключается в том, что документация Paypal недостаточно ясна.В своей документации https://developer.paypal.com/docs/classic/lifecycle/nt-classic/#test-api-error-handling-routines,

они прямо не говорят вам «введите сумму, равную коду ошибки с двумя последними цифрами справа от десятичной точки».Вместо этого они говорят вам: «Чтобы вызвать условие ошибки в поле, относящемся к сумме, укажите значение кода ошибки в виде числа с двумя цифрами справа от десятичной точки. Например, укажите значение 107,55, чтобы вызвать ошибку 10755«.

Что мне не очень понятно.

Проблема решена.

0 голосов
/ 16 апреля 2019

Что вы должны оценить, это ответ и код состояния.Для генерации запросов вы можете использовать Guzzle, который упрощает все.

С уважением!

...