立即支付一次,并可选择(!)创建一个订阅——如何在 Stripe 中做到这一点?
Pay now once and, optionally (!), create a subscription too -- how to do this in Stripe?
在一个页面上有一个文本框,客户或付款人在其中输入要通过 Stripe 捐赠给我的金额,作为一次性付款。还有一个复选框“每月 5 美元订阅”,如果选中,将向他收取该金额 afterwards。
事情是:
这是一次性付款无论如何并立即收费;自定义金额——无论客户输入什么。 并且,可选地,客户将在一个月内开始自动在订阅中每月收取 5 美元 - 当且仅当,他选中一个复选框。
我知道如何创建一次向客户收费的会话,这里是部分代码:
stripeParams := &stripe.CheckoutSessionParams{
PaymentMethodTypes: stripe.StringSlice([]string{
"card",
}),
LineItems: []*stripe.CheckoutSessionLineItemParams{
&stripe.CheckoutSessionLineItemParams{
PriceData: &stripe.CheckoutSessionLineItemPriceDataParams{
Currency: stripe.String(string(stripe.CurrencyUSD)),
ProductData: &stripe.CheckoutSessionLineItemPriceDataProductDataParams{
Name: stripe.String("test123"),
},
UnitAmount: stripe.Int64(amount * 100),
},
Quantity: stripe.Int64(1),
},
},
Mode: stripe.String(string(stripe.CheckoutSessionModePayment)),
//........
我将如何实施“加上每月 5 美元的订阅费”?
如果您想通过结帐会话创建订阅,您应该遵循此指南:https://stripe.com/docs/billing/subscriptions/checkout
总而言之,如果您想在客户输入的一次性付款金额之上添加 5 美元的订阅,您可以执行以下操作:
- 在 Dashboard or the API
中创建产品和关联的 5 美元经常性价格
- 将结帐会话从
mode: payment
更改为 mode: subscription
(参见 apiref)
- 添加您在第 1 步中创建的价格 ID,并将其添加为结帐会话的附加行项目(请参阅 apiref)
- 设置
subscription_data.trial_end
(apiref) or subscription_data.trial_period_days
(apiref) 以便在试用结束之前不会收取经常性价格。一次性价格仍将预先收取,即使重复价格处于试用状态。
如果您不想使用试用版,您也可以考虑向会话中添加一次性 5 美元 discount。
在一个页面上有一个文本框,客户或付款人在其中输入要通过 Stripe 捐赠给我的金额,作为一次性付款。还有一个复选框“每月 5 美元订阅”,如果选中,将向他收取该金额 afterwards。
事情是:
这是一次性付款无论如何并立即收费;自定义金额——无论客户输入什么。 并且,可选地,客户将在一个月内开始自动在订阅中每月收取 5 美元 - 当且仅当,他选中一个复选框。
我知道如何创建一次向客户收费的会话,这里是部分代码:
stripeParams := &stripe.CheckoutSessionParams{
PaymentMethodTypes: stripe.StringSlice([]string{
"card",
}),
LineItems: []*stripe.CheckoutSessionLineItemParams{
&stripe.CheckoutSessionLineItemParams{
PriceData: &stripe.CheckoutSessionLineItemPriceDataParams{
Currency: stripe.String(string(stripe.CurrencyUSD)),
ProductData: &stripe.CheckoutSessionLineItemPriceDataProductDataParams{
Name: stripe.String("test123"),
},
UnitAmount: stripe.Int64(amount * 100),
},
Quantity: stripe.Int64(1),
},
},
Mode: stripe.String(string(stripe.CheckoutSessionModePayment)),
//........
我将如何实施“加上每月 5 美元的订阅费”?
如果您想通过结帐会话创建订阅,您应该遵循此指南:https://stripe.com/docs/billing/subscriptions/checkout
总而言之,如果您想在客户输入的一次性付款金额之上添加 5 美元的订阅,您可以执行以下操作:
- 在 Dashboard or the API 中创建产品和关联的 5 美元经常性价格
- 将结帐会话从
mode: payment
更改为mode: subscription
(参见 apiref) - 添加您在第 1 步中创建的价格 ID,并将其添加为结帐会话的附加行项目(请参阅 apiref)
- 设置
subscription_data.trial_end
(apiref) orsubscription_data.trial_period_days
(apiref) 以便在试用结束之前不会收取经常性价格。一次性价格仍将预先收取,即使重复价格处于试用状态。
如果您不想使用试用版,您也可以考虑向会话中添加一次性 5 美元 discount。