Как использовать несколько API ключей Stripe в Djstripe webhook, возможно ли это вообще?

Я с трудом пытаюсь разобраться в этом вопросе - возможно ли как-то использовать более одного API-ключа Stripe в обработчике веб-хука Djstripe? Если да, то как?

У меня есть два клиентских приложения, оба используют Stripe. Ожидаемо, есть два набора ключей API Stripe, каждый набор для клиентского приложения. Нет никаких проблем с намерением платежа и начислением, приложение отправляет достаточно информации, а ключи явно определены (например, stripe.api_key = STRIPE_SECRET_KEY), так что та часть кода может успешно жонглировать API-ключами.

Сложная проблема, с которой я столкнулся, заключается в том, что обработчик вебхука Stripe не имеет информации для выполнения жонглирования - он терпит неудачу с ошибкой, говорящей:

stripe.error.InvalidRequestError: Request <req_id>: No such payment_intent: <payment_intent_id>

Конечно, если я использую только один набор ключей API, он будет работать, как ожидалось, но мне нужны оба.

Моя идея заключается в использовании двух конечных точек webhook, но я не уверен, как определить дополнительную конечную точку webhook в моем config/urls.py файле. В настоящее время я использую следующее:

urlpatterns = [
    ...
    path("stripe/", include("djstripe.urls", namespace="djstripe")),
    ...

В файле webhook.py я использую @webhooks декоратор:

@webhooks.handler('payment_intent.succeeded')
def payment_intent_succeeded(event, **kwargs):
    # code goes here...

Поскольку есть только два набора ключей API, я могу попробовать использовать один ключ в блоке try, затем использовать другой, если этот не сработает, но там используется какая-то магическая строка конфигурации, которую я не смог взломать, код внутри этого webhook никогда не выполняется, поэтому я не могу даже попробовать такой подход. Я хотел спросить, есть ли способ определить, какой API ключ использовать?

Спасибо за любые идеи!

(я использую dj-stripe версию 2.5.1, и да, я унаследовал этот код)

Вернуться на верх