Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何取消签出会话条带API创建的订阅_Python_Django_Stripe Payments - Fatal编程技术网

Python 如何取消签出会话条带API创建的订阅

Python 如何取消签出会话条带API创建的订阅,python,django,stripe-payments,Python,Django,Stripe Payments,我已经在stripe上创建了一个定期产品,并创建了一个结帐会话,它工作正常,为我创建了一个可以在仪表板上看到的订阅 这是我的密码 checkout_session = stripe.checkout.Session.create( success_url=domain_url + 'success?session_id={CHECKOUT_SESSION_ID}', cancel_url=domain_url + 'cancelle

我已经在stripe上创建了一个定期产品,并创建了一个结帐会话,它工作正常,为我创建了一个可以在仪表板上看到的订阅

这是我的密码

        checkout_session = stripe.checkout.Session.create(
            success_url=domain_url + 'success?session_id={CHECKOUT_SESSION_ID}',
            cancel_url=domain_url + 'cancelled/',
            payment_method_types=['card'],
            mode='subscription',
            line_items=[
                {
                    'quantity': 1,
                    'price': 'price_1HLDRqCHEV6ur4mXq36yVF1D',
                }
            ]
        )
我想为用户提供一个工具,他们可以取消他们通过签出会话进行的订阅,但只能通过订阅id取消订阅,但我不会从签出会话中获得任何订阅id


我如何允许用户取消他们通过签出会话进行的订阅?

当您使用条带签出创建订阅时,只有在您的用户通过签出流后才能创建和使用订阅。这意味着,当您最初创建签出会话时,会话对象的属性将为
null

用户完成签出流后,Stripe将发出一个包含新创建的订阅ID的事件,您可以使用该ID取消订阅。要侦听这些事件,您需要创建一个webhook端点,这与在站点上创建任何其他HTTP端点没有什么不同。以下是一些您可以参考的示例:

一旦设置了端点以侦听事件。条带将在中发送更新的会话对象(带有订阅ID)。从那里,您可以将订阅ID保存到数据库中以供以后参考。如果用户希望取消订阅,则需要在此处调用此API端点:

另一个更简单的选择是使用新的客户门户,这样您就不必为用户创建UI来升级/取消现有订阅。只需提供本指南所示的客户ID即可: