【发布时间】:2020-12-05 22:40:35
【问题描述】:
我遇到的问题是,每次客户结账时,他们都有一个新的客户 ID,该 ID 与客户的电子邮件相关联。
var stripe = Stripe('pk_test_xxx', {
betas: ['checkout_beta_4']
});
var checkoutButton = document.getElementById('checkout-button');
checkoutButton.addEventListener('click', function () {
stripe.redirectToCheckout({
items: [{
plan: 'plan_xxx',
quantity: 1
}],
customerEmail: 'test15@xxx.com',
clientReferenceId: 'cus_xxx',
successUrl: window.location.protocol + '//domain.test/en/accounts/billing-success',
cancelUrl: window.location.protocol + '//domain.test/en/accounts/billing-cancel',
}).then(function (result) {
if (result.error) {
var displayError = document.getElementById('error-message');
displayError.textContent = result.error.message;
}
});
});
我认为clientReferenceId 会保留 Stripe 客户 ID。似乎情况并非如此。订阅有一个新的 customer_id。
【问题讨论】:
-
这是 Stripe Checkout 的限制,它不处理会员管理。如果您希望现有客户能够注册其他产品,我建议在您的应用程序上建立一个会员区。如果用户返回,他们登录到您的网站,您完全跳过结帐表单,您可以简单地使用他们保存的卡收费或开始订阅。 stripe.com/docs/api/charges/create#create_charge-customer
标签: javascript stripe-payments