Stripe Checkout Session: Отсутствие session_id в запросе после успешной оплаты в Django

Я работаю над проектом Django, в котором пользователи могут покупать подписки на различные пакеты с помощью Stripe Checkout. Однако после успешной оплаты я сталкиваюсь с проблемой, когда идентификатор сессии не передается в запросе при перенаправлении на представление payment_success.

здесь models.py:

class Package(models.Model):
    name = models.CharField(max_length=255)
    description = models.TextField()
    price_monthly = models.DecimalField(max_digits=10, decimal_places=2)
    price_annually = models.DecimalField(max_digits=10, decimal_places=2)
    tax_percentage = models.DecimalField(max_digits=5, decimal_places=2, default=0)

    def __str__(self):
        return self.name

class Subscription(models.Model):
    user = models.OneToOneField(User, on_delete=models.CASCADE)
    stripe_customer_id = models.CharField(max_length=255)
    stripe_subscription_id = models.CharField(max_length=255)
    package = models.ForeignKey(Package, on_delete=models.CASCADE)
    interval = models.CharField(max_length=10)  # 'monthly' or 'annual'
    active = models.BooleanField(default=True)

Вот соответствующие мнения:

Issue. После успешной оплаты пользователь перенаправляется в представление payment_success, но в запросе не указан идентификатор сессии, в результате чего в запросе не указан идентификатор сессии.

Ожидаемое поведение Пользователь должен быть перенаправлен на представление payment_success с указанием session_id в качестве параметра запроса, что позволит представлению получить данные о сессии и отобразить информацию о подписке.

Фактическое поведение Пользователь перенаправляется на страницу пакета, а не на экран успеха из-за ошибки

вопрос, как я могу исправить эту ошибку invoice.payment_succeeded и есть checkout.session.completed все появляющиеся коды [500]

В вебхуке я получаю [500] Post however

вам следует обернуть CHECKOUT_SESSION_ID одинарной фигурной скобкой вместо двойной фигурной скобки.

Измените session_id={{CHECKOUT_SESSION_ID}} на session_id={CHECKOUT_SESSION_ID} и попробуйте снова.

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