Путаница с использованием веб-перехватчика, Stripe - PullRequest
0 голосов
/ 06 августа 2020

У меня возникла новая проблема, связанная с реализацией веб-перехватчиков Stripe. Моя платформа полностью интегрирована, однако в моей реализации есть несколько проблем. Итак, в настоящее время я работаю со стеком MERN, который выполняет аутентификацию с использованием Refre sh Tokens и Access Tokens. Срок действия токенов доступа составляет примерно 5 минут. Однако у меня возникло несколько вопросов о том, как мне управлять обновлениями пользователей. На данный момент моя схема подписки User.subscription выглядит следующим образом.

        subscription: {
            status: { type: String, required: false },
            customer_id : { type: String, required: true },
            subscription_id: { type: String, required: false },
            latest_invoice_id: { type: String, required: false },
            payment_intent_id : { type: String, required: false },
            billing_date: { type: String, required: false },
            payment_intent_status : { type: String, required: false },
            card_last4 : { type: Number, required: false },
            card_type : { type: String, required: false },
            cancel_at_end: { type: Boolean, required: false }
        }

По сути, каждый токен доступа будет подписан с помощью своего subscription.status, чтобы убедиться, что подписка активна. Затем, чтобы выяснить, какой поток управления обрабатывать во внешнем интерфейсе, я посмотрю как subscription.status, так и subscription.payment_intent_status. Это стоящая реализация? Я буду искать события, касающиеся payment_intents и подписок через webhooks. Однако в моей интерактивной кассе план состоит в том, чтобы обновлять пользователя при каждой попытке платежа, поэтому для пользователя может быть подписан новый токен доступа. Но в этом случае веб-перехватчик будет отправлен и повторно попытается обновить маршрут веб-перехватчика. Есть ли лучший способ решить эту проблему?

Спасибо, Нич

...