2016-10-22 3 views
1
  1. Мой клиент впервые присоединился к нашему плану подписи, я создаю транзакцию (называемую транзакцией START) и использую API-интерфейс Stripe для создания новой подписки и сохранения возврата объекта подписки внутри выше сделка.Stripe: обрабатывать первую подписку и событие webhook

  2. Я также использую webhook, чтобы поймать события Stripe. Моя самая большая цель - ручная повторяющаяся оплата (отправьте уведомление об успешности или неудаче платежа, и что-то для взаимодействия с клиентом). Я поймаю событие invoice.payment_succeeded, чтобы обнаружить, что он является выставлением счетов. Я также создаю транзакцию (вызываю RECURRENCE), а couse, я храню объект события в транзакции. (База по абонементной информации в случае invoice.payment_succceeded, я узнаю по отношению С сделки и создать новую транзакцию, пока рекуррентный)

И проблема выставляет, в первый раз клиент создает план, там- событие, возвращенное к моей системе: customer.created; charge.succeeded; invoice.created; invoice.payment_succeeded; customer.card.created; customer.subscription.created. Итак, у моего клиента есть 2-транзакция: 1-START и 1-RECURRENCE в первый раз.

Вы предлагаете мне любую идею удалить транзакцию RECURRENCE?

спасибо.

ответ

3

Похоже, вы хотите узнать, действительно ли полученное событие invoice.payment_succeeded для первого платежа (которое вы уже обработали в своей транзакции «START») или нет (в этом случае вы хотите обработать его в «Операция RECURRENCE»).

Простейший способ сделать это - посмотреть на атрибут event objectrequest. Поскольку первый счет-фактура является прямым следствием вашего subscription creation request, первое событие invoice.payment_succeeded будет иметь ненулевое значение для атрибута request. Последующие счета-фактуры создаются в фоновом режиме по Stripe, поэтому события будут иметь нулевое значение для атрибута request.

+0

OMG, это так просто ???? Вы даете свет для моей жизни, ха-ха. Я тестирую. Спасибо. – thienhaxanh2405

+0

Посмотрите, все будет хорошо. Еще раз спасибо :) – thienhaxanh2405

+0

Рад, что я мог помочь! :) – Ywain

Смежные вопросы