django中的条纹订阅问题?

时间:2020-05-16 05:30:44

标签: python django stripe-payments

在我的Django应用程序中运行Stripe订阅时出现问题。现在我有这个看法:

def subscribe(request):

    customer = stripe.Customer.create(
        description = 'This is the test customer',
        )

    if request.method=='POST':
        stripe.Subscription.create(
            customer= customer.id,
            items = [{"Basic Plan": "prod_HHU1r1fphhhqLt"}]
            )
        return render(request, 'landing/charge.html')

出现错误:

Request req_69L7P1bcp8iZ1e: Received unknown parameter: items[0][Basic Plan]

这令人困惑,因为该信息直接来自我的条纹计划,所以我知道它存在

(编辑)如果有帮助,这是回溯:

Traceback (most recent call last):
  File "/Users/tobiasmuldoon/Dev/python/Environments/web1/lib/python3.8/site-packages/django/core/handlers/exception.py", line 34, in inner
    response = get_response(request)
  File "/Users/tobiasmuldoon/Dev/python/Environments/web1/lib/python3.8/site-packages/django/core/handlers/base.py", line 115, in _get_response
    response = self.process_exception_by_middleware(e, request)
  File "/Users/tobiasmuldoon/Dev/python/Environments/web1/lib/python3.8/site-packages/django/core/handlers/base.py", line 113, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/Users/tobiasmuldoon/Dev/python/Environments/swapp/landing/views.py", line 79, in subscribe
    stripe.Subscription.create(
  File "/Users/tobiasmuldoon/Dev/python/Environments/web1/lib/python3.8/site-packages/stripe/api_resources/abstract/createable_api_resource.py", line 22, in create
    response, api_key = requestor.request("post", url, params, headers)
  File "/Users/tobiasmuldoon/Dev/python/Environments/web1/lib/python3.8/site-packages/stripe/api_requestor.py", line 122, in request
    resp = self.interpret_response(rbody, rcode, rheaders)
  File "/Users/tobiasmuldoon/Dev/python/Environments/web1/lib/python3.8/site-packages/stripe/api_requestor.py", line 373, in interpret_response
    self.handle_error_response(rbody, rcode, resp.data, rheaders)
  File "/Users/tobiasmuldoon/Dev/python/Environments/web1/lib/python3.8/site-packages/stripe/api_requestor.py", line 152, in handle_error_response
    raise err

Exception Type: InvalidRequestError at /subscribe/
Exception Value: Request req_69L7P1bcp8iZ1e: Received unknown parameter: items[0][Basic Plan]```


Im pretty postitive its something simple but Im pretty new to django and cant seem to get it figured out. Thank you!

1 个答案:

答案 0 :(得分:3)

您传递了错误的参数。 订阅的创建将使用字典列表,该字典具有带有键“计划”的计划ID。没有名为“基本计划”的参数。因此,为避免该错误,请进行以下更改:

def subscribe(request):

    customer = stripe.Customer.create(
        description = 'This is the test customer',
        )

    if request.method=='POST':
        stripe.Subscription.create(
            customer= customer.id,
            items = [{"plan": "prod_HHU1r1fphhhqLt"}]
            )
        return render(request, 'landing/charge.html')

请注意,在项参数中,键“基本计划”已更改为“计划”。 希望这会有所帮助!