簡體   English   中英

Stripe 付款意圖使用哪種付款方式

[英]Which payment method to use for Stripe Payment intent

我正在嘗試在 NodeJS 中自動向客戶收費

我有一個問題,一些客戶有:

  • default_source 和一些有
  • invoice_settings.default_payment_method

我當前的工作流程(C# WPF):

  • 創建客戶 + 為客戶添加訂閱
  • 獲取門戶的 URL
  • 客戶在條帶門戶上添加卡詳細信息

這工作正常,付款運行良好。

我還使用 nodejs api 收取短信費用:

async function chargeSMS(stripeCusID,chargeValue,chemistName,chemistID,countSMS){
//console.log(stripeCusID);
//console.log(chargeValue);
let customerObject;
let payMethodID;
customerObject = await stripe.customers.retrieve(
            
);

console.log("PaymentID received:" + customerObject.invoice_settings.default_payment_method);
  
payMethodID = customerObject.invoice_settings.default_payment_method;
  
await stripe.paymentIntents.create({
    amount: chargeValue,
    currency: 'aud',
    customer: stripeCusID,
    description: 'SMS Charges: ' + countSMS + " sent",
    payment_method: payMethodID,
    confirm: true
},
function(err, response) {
    if (err) {
    console.log("Charge", err.message,stripeCusID,chargeValue,chemistName);
    return;
    }

    console.log("Successful SMS Charge:", response.id,chemistName);
    chemCharged(chemistID);
}) 

}

這在每個月的 1 日作為 Cron 也運行良好。

我的問題是最近我的一張客戶卡過期了。 他們使用我的 WPF 打開門戶並添加新卡這工作。

但是,門戶網站上的這張新卡僅列為 customer.default_source

他們的 invoice_settings.default_payment_method

現在為空!

所以我上面的代碼失敗了。

我已經檢查過並且:

  • 所有使用門戶的新客戶都將他們的卡保存為 invoice_settings.default_payment_method
  • 每當客戶添加新卡時,它只會添加為 defult_source

我不知道為什么會出現這種情況,但我使用的是條紋客戶門戶,所以我原以為他們會以同樣的方式添加!

有什么想法可以解決這個問題或找出我做錯了什么嗎?

在條帶 web 門戶(我的業務)上,我可以看到該客戶確實有一張默認卡,並且看起來與任何其他客戶相同,但 api 方面已將其注冊在不同的部分下!

您可以通過調用更新客戶 API自己將卡添加為客戶的 invoice_settings.default_payment_method。

僅供參考,訂閱中的優先鏈是:

  1. 訂閱的 default_payment_method
  2. 訂閱的 default_source
  3. 客戶的 invoice_settings.default_payment_method
  4. 客戶的 default_source

暫無
暫無

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

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