使用节点递归创建带有插件的订阅
Create subscription with addon using node-recurly
使用 node-recurly,我可以创建订阅对象并将其传递给 recurly.subscriptions.create
调用:
const subscription = {
plan_code: plan.code,
currency: 'USD',
account: {
account_code: activationCode,
first_name: billingInfo.first_name,
last_name: billingInfo.last_name,
email: billingInfo.email,
billing_info: {
token_id: paymentToken,
},
},
};
我还想添加 subscription_add_ons
属性,从 the documentation 来看,它应该是一组附加组件。我试过这样传递它:
subscription_add_ons: [
{
add_on_code: shippingMethod.servicelevel_token,
unit_amount_in_cents: parseFloat(shippingMethod.amount) * 100,
},
],
服务器返回错误:
Tag <subscription_add_ons> must consist only of sub-tags named
<subscription_add_on>
我试过这个:
subscription_add_ons: [
{
subscription_add_on: {
add_on_code: shippingMethod.servicelevel_token,
unit_amount_in_cents: parseFloat(shippingMethod.amount) * 100,
},
},
],
返回此错误:
在这种情况下传递订阅附加组件的正确格式是什么?
正确的格式是:
subscription_add_ons: {
subscription_add_on: [{
add_on_code: shippingMethod.servicelevel_token,
unit_amount_in_cents: parseFloat(shippingMethod.amount) * 100,
}],
},
我最终这样做了,无论您有 1 个附加组件还是多个附加组件,它都有效。 subscription_add_ons 是一个数组,可以包含 1 个或多个订阅插件。然后我在订阅更新电话中发送详细信息(连同其他信息)。这与您在原始 post 中尝试的类似,所以我不确定为什么它对您不起作用。
details.subscription_add_ons = [
{ subscription_add_on: {add_on_code: "stream", quantity: 3} },
{ subscription_add_on: {add_on_code: "hold", quantity: 2} }
];
使用 node-recurly,我可以创建订阅对象并将其传递给 recurly.subscriptions.create
调用:
const subscription = {
plan_code: plan.code,
currency: 'USD',
account: {
account_code: activationCode,
first_name: billingInfo.first_name,
last_name: billingInfo.last_name,
email: billingInfo.email,
billing_info: {
token_id: paymentToken,
},
},
};
我还想添加 subscription_add_ons
属性,从 the documentation 来看,它应该是一组附加组件。我试过这样传递它:
subscription_add_ons: [
{
add_on_code: shippingMethod.servicelevel_token,
unit_amount_in_cents: parseFloat(shippingMethod.amount) * 100,
},
],
服务器返回错误:
Tag <subscription_add_ons> must consist only of sub-tags named <subscription_add_on>
我试过这个:
subscription_add_ons: [
{
subscription_add_on: {
add_on_code: shippingMethod.servicelevel_token,
unit_amount_in_cents: parseFloat(shippingMethod.amount) * 100,
},
},
],
返回此错误:
在这种情况下传递订阅附加组件的正确格式是什么?
正确的格式是:
subscription_add_ons: {
subscription_add_on: [{
add_on_code: shippingMethod.servicelevel_token,
unit_amount_in_cents: parseFloat(shippingMethod.amount) * 100,
}],
},
我最终这样做了,无论您有 1 个附加组件还是多个附加组件,它都有效。 subscription_add_ons 是一个数组,可以包含 1 个或多个订阅插件。然后我在订阅更新电话中发送详细信息(连同其他信息)。这与您在原始 post 中尝试的类似,所以我不确定为什么它对您不起作用。
details.subscription_add_ons = [
{ subscription_add_on: {add_on_code: "stream", quantity: 3} },
{ subscription_add_on: {add_on_code: "hold", quantity: 2} }
];