Как использовать несколько 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, и да, я унаследовал этот код)