[英]Stripe - Retrieve Customer PaymentIntent history
我正在構建一個平台,我正在使用 Stripe 的父“平台”帳戶和屬於該平台的 Connected Stripe 帳戶的概念。 (例如 Lyft 模型) 按照 Stripe 的文檔,當我在 Stripe 中創建一個新客戶時,我會在主平台帳戶下創建它,並將所有付款方式存儲在該客戶下。 當客戶從 Connected 帳戶購買東西時,我會按照 此文檔進行操作,在其中克隆付款方式並創建附加到特定 Connected 帳戶的 PaymentIntent。 這一切都有效。 但是,當我嘗試獲取客戶交易的歷史記錄(PaymentIntents 列表)時,它返回一個空列表,因為它針對主平台帳戶運行它:
stripe.PaymentIntent.list(customer='cus_FJDHFGSJHDF')
當我指定一個客戶和關聯賬戶 ID 時,它返回一個空列表,因為該客戶在該關聯賬戶中不存在,但是,paymentIntents 存在於該關聯賬戶中。
那么,為 Connected 帳戶的客戶創建 PaymentIntent 然后獲取該客戶 PER Connected Stripe 帳戶的付款歷史記錄的正確方法是什么?
以下是我克隆 PaymentMethod 並創建 PaymentIntent 的方法:
payment_method = stripe.PaymentMethod.create(
customer=customer,
payment_method=customer.invoice_settings.default_payment_method,
stripe_account=stripe_connect_id,
)
intent = stripe.PaymentIntent.create(
payment_method=payment_method,
amount=amount,
currency='usd',
confirm=True,
application_fee_amount=fee_in_cents if fee_in_cents >= 1 else None,
stripe_account=stripe_connect_id,
)
據我所知,您有兩個選擇:
希望有幫助!
[0] https://stripe.com/docs/connect/cloning-saved-payment-methods#making-a-charge
這是我決定采取的方法。 由於我對提取特定客戶在特定 Connected 帳戶中的費用特別感興趣,因此我閱讀了有關費用的更多信息,並注意到您可以根據transfer_group='{ORDER10}'
獲得費用清單。 所以,這是我的流程:
transfer_group
設置為客戶的電話號碼,因為它是整個平台的唯一標識符。 現在,當我需要提取特定客戶的所有費用時,我會遍歷與客戶關聯的每個 Connected 帳戶(此關系存儲在我的平台上),並使用transfer_group
和stripe_account_id
簡單地提取所有費用:
def get_all_charges(user, stripe_account_id):
return stripe.Charge.list(transfer_group=user.phone_number, stripe_account=stripe_account_id, limit=100).data
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.