Ошибка «Нет такого клиента» при создании сеанса чередования с пользователем, у которого есть электронная почта - PullRequest
0 голосов
/ 26 апреля 2020

Вот соответствующий код. Я использую Django, с stripe- python (2.46.0) вместе с dj-stripe (2.3.0).

import stripe
from djstripe.models import Customer

customer, created = Customer.get_or_create(subscriber=my_django_user)
stripe_session = stripe.checkout.Session.create(
    customer=customer,
    ...
)

Когда поле my_django_user.email пусто, это работает просто отлично, и stripe_session создается успешно. Но если электронная почта установлена, создание сеанса завершается с ошибкой «Нет такого клиента»:

stripe.error.InvalidRequestError: Request req_bla: No such customer: <my_django_user's email>

Пожалуйста, исправьте меня, если я ошибаюсь, но я не думаю, что это дублирует этот вопрос потому что Customer.get_or_create делает запрос API для чередования, как и stripe.checkout.Session.create, и IIU C оба запроса обрабатываются под одной и той же учетной записью. (Также приведенный выше код работает с новым пользователем, если электронное письмо пусто.)

Заранее благодарим за любую помощь!

1 Ответ

1 голос
/ 26 апреля 2020

Поле customer должно быть идентификатором существующего клиента в Stripe. Вы передаете экземпляр модели Customer в это поле в своем коде.

Вероятно, вы должны передать customer.email в поле customer_email как:

stripe_session = stripe.checkout.Session.create(
    customer_email=customer.email,
    ...
)

Прочитать через документы здесь .

...