首页 > 解决方案 > 如何在设置意图方法中添加付款详细信息 - Stripe Python

问题描述

Hola 我想在 SetupIntent.create 方法中添加付款详细信息。

我会使用这样的 API 来做到这一点:

import requests

url = "https://api.stripe.com/v1/setup_intents"
params = {
    "key": "sk_live_xxxxx",
    "payment_method_data[type]": "card",
    "confirm": True,
    "customer": "cu_xxxx",
    "payment_method_data[card][number]": "cc number",
    "payment_method_data[card][exp_month]": "exp_mnth",
    "payment_method_data[card][exp_year]": "exp_year",
    "payment_method_data[card][cvc]": "xxx"
}
response = requests.post(url, params=params).text
print(response)

但是如何使用 Python Stripe Lib 呢?

我试过这个代码:

import stripe

stripe.api_key = "sk_live_xxxxx"

r = stripe.PaymentIntent.create(
                              payment_method_types=["card"],
                              customer="cu_xxx",
                              confirm=True
    )

print(r)

但是,我将如何在其中添加付款详细信息?

我检查了文档及其示例,但它仅包含添加付款方式类型的示例,而不是诸如 cc 编号、cvc、到期月份和年份之类的付款详细信息。

我想添加客户并附上付款方式并向他收费。谁能帮我?

谢谢!

标签: pythonstripe-paymentspayment

解决方案


使用SetupIntent时,您将保存客户付款凭据以在以后收取费用,通常是在会话外。创建(或确认)SetupIntent 时需要 PaymentMethod 对象ID

建议您在前端应用程序中使用 Stripe.js捕获客户付款详细信息pm_xxx,并在创建(或确认)SetupIntent 时传递生成的 PaymentMethod 对象 ID ( )。然后,Stripe.js 可以处理生成的 PaymentMethod 所需的任何操作,例如 3DS 身份验证。

这里有一个完整的 SetupIntent 集成示例,它使用 Python 客户端库和 Stripe.js


推荐阅读