[英]Stripe - Update default card
我试图允许用户在添加默认付款方式后对其进行更新。 我在Firebase功能中得到此Error: No such source: card_1EhmibFZW9pBNLO2aveVfEm6
。
这使我相信我需要传递default_source
一个src_XXX...
id而不是card_XXX...
id。 有人对此有想法吗?
Firebase功能:
// Update Stripe default card based on user choice
exports.updateDefaultSource = functions.firestore
.document("users/{userId}")
.onUpdate(async (change, context) => {
const newValue = change.after.data();
const previousValue = change.before.data();
console.log("previousValue.default_source: "+previousValue.default_source)
console.log("newValue.default_source: "+newValue.default_source)
if (
previousValue.default_source &&
newValue.default_source !== previousValue.default_source
) {
// this triggers on every update to profile (more overhead), can we reduce this?
try {
console.log("newValue.default_source: "+newValue.default_source)
const response = await stripe.customers.update(
previousValue.customer_id,
{ default_source: newValue.default_source },
(err, customer) => {
console.log(err);
}
);
return console.log("Response from Stripe update: " + response);
} catch (error) {
console.log(error);
await change.ref.set(
{ error: userFacingMessage(error) },
{ merge: true }
);
return reportError(error, { user: context.params.userId });
}
}
});
看来此错误已解决,但不是100%知道如何解决,但我想这与Redux和/或Redux Persist没有将所有内容加载到商店有关。
@hmunoz回答了我的主要问题,有关default_source是否接受card_123类型,它是否这样做。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.