簡體   English   中英

如何通過客戶 ID 使用 Stripe 收費

[英]How to charge with Stripe by customer id

當可以通過卡詳細信息向用戶收費時,我有流程,我為此使用 await stripe.createPaymentMethod。 付款成功后,我稍后可以通過卡和付款信息以及客戶 ID“cus__idvalue”獲取該用戶購買的詳細信息。

 const { error, paymentMethod } = await stripe.createPaymentMethod({
      type: "card",
      card: elements.getElement(CardNumberElement),
      card: elements.getElement(CardExpiryElement),
      card: elements.getElement(CardCvcElement),
    });

我的問題是如何通過以前使用的卡向同一用戶收費,而不給他再次輸入卡數據的選項。 我已經閱讀了有關該案例的 Stripe 文檔,但還沒有清楚地了解哪些方法可能會有所幫助。 提前感謝任何幫助!

您可以做的功能受到條帶 API 提供的限制,我懷疑 API 是否允許根據以前的交易預先輸入卡詳細信息,除非您將卡詳細信息存儲在您的站點數據庫中,這是一個安全漏洞。

不過,有些卡處理器可以允許這樣做,因此請從條帶確認是否允許,在這種情況下,您可以允許用戶將卡詳細信息存儲在您網站上的用戶帳戶中,因此只有當用戶登錄時,預存儲的卡詳細信息可用於交易。

PaymentMethods 僅在附加到客戶時才可重復使用。 要檢索給定客戶的所有 PaymentMethods,您可以使用帶有客戶 id 參數的listPaymentMethods端點,然后使用 PaymentMethod ID 創建一個新的 PaymentIntent,如下所示:

const paymentIntent = await stripe.paymentIntents.create({
  amount: 2000,
  currency: "usd",
  payment_method: “REPLACE_WITH_PAYMENT_METHOD_ID”,
  confirm: true,
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM