条纹订阅事件Django

时间:2020-01-17 14:14:22

标签: django stripe-payments

我已经在Django Web应用程序上使用Stripe设置了基本的订阅系统,但是我对如何在数据库中记录从Stripe发送的事件感到困惑,我是否可以利用Django REST API来监听事件并使用它运行与事件对应的方法。

这里是一个示例,客户注册了订阅并全额付款,订阅清除了条带并变为活动状态。一个月后,客户的信用卡再次收费,但被拒绝。我读过here,Stripe会在发生这种情况时发送两个事件: charge.failed 事件和一个 invoice.payment_failed 。我将如何收听这些事件?

1 个答案:

答案 0 :(得分:1)

您不需要Rest API,

您的urls.py

url(r'^stripe/webhook/', stripe_webhook, name='stripe_webhook'),

您的views.py

@csrf_exempt
def stripe_webhook(request):

    try:
        event_json = json.loads(request.body)

        if event_json['type'] == 'invoice.payment_failed':
            pass
            # get data from evet_json and get your logic here.
    except Exception as e:
        return JsonResponse({'error': str(e)})

在条带化Webhooks(条纹仪表板->开发人员-> Webhooks->添加端点)中添加上述url,然后使用ngrok 在本地主机中进行调试。