Stripe - добавить недействительную карту покупателю в тестовом режиме?

Я хочу протестировать событие invoice.payment_failed с помощью видеомагнитофона

Псевдокод:

  1. создать клиента с недействительной картой
  2. создать счет-фактуру с позицией счета-фактуры (здесь счет-фактура оплачивается автоматически)
  3. получить событие invoice.payment_failed с помощью Stripe :: Event

На шаге 1 Stripe возвращает ошибку, говоря, что я хочу добавить недействительную карту. Я использовал номер карты "4000000000000119" из https://stripe.com/docs/testing

В основном я хочу создать сценарий, в котором у пользователя была карта, которая когда-то была действительной, когда они впервые что-то купили / подписались. Но через год это уже недействительно.

Я не хочу издеваться над данными события и хранить их в yml. Я беру событие прямо из Stripe и записываю его на видеомагнитофон.

Ответ: 4000 0000 0000 0341 номер карты. Описано в https://stripe.com/docs/testing (SO не позволил мне ответить на мои вопрос через 8 часов после публикации)


person David Hrachovy    schedule 30.05.2014    source источник
comment
Дэвид, теперь вы можете официально добавить свой ответ на этот вопрос.   -  person Edward D'Souza    schedule 28.11.2019


Ответы (1)


Здесь на нескольких уровнях вы не тестируете свой invoice.payment_failed код - вы тестируете все приложение или даже сам Stripe. Это не продуктивно.

Если вы хотите проверить, правильно ли обработчик веб-перехватчика обрабатывает неудавшийся платеж, это единственное, что вам нужно или вы хотите проверить. Если Stripe (или VCR-факсимиле Stripe) участвует в процессе тестирования, очень высока вероятность того, что у вас есть проблемы с дизайном приложения или тестированием, которые вам необходимо решить.

person colinm    schedule 30.05.2014
comment
Шаги 1,2,3 предназначены только для настройки. Я собираюсь протестировать обработку самого события. Это будет в моем ожидаемом блоке: электронное письмо должно быть отправлено клиенту с сообщением о неудавшейся оплате. Проблема с библиотеками имитации Stripe заключалась в том, что их реализация была некорректной / неполной. Если есть какие-то рекомендуемые практики, я был бы признателен! - person David Hrachovy; 02.06.2014