[英]Which payment method to use for Stripe Payment intent
我正在嘗試在 NodeJS 中自動向客戶收費
我有一個問題,一些客戶有:
我當前的工作流程(C# WPF):
這工作正常,付款運行良好。
我還使用 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
現在為空!
所以我上面的代碼失敗了。
我已經檢查過並且:
我不知道為什么會出現這種情況,但我使用的是條紋客戶門戶,所以我原以為他們會以同樣的方式添加!
有什么想法可以解決這個問題或找出我做錯了什么嗎?
在條帶 web 門戶(我的業務)上,我可以看到該客戶確實有一張默認卡,並且看起來與任何其他客戶相同,但 api 方面已將其注冊在不同的部分下!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.