使用node-recurly使用addon创建订阅

时间:2017-08-09 22:44:29

标签: node.js 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,
        },
      ],

服务器返回错误:

  

标记< subscription_add_ons>必须只包含名为的子标签   < subscription_add_on>

我试过这个:

subscription_add_ons: [
        {
          subscription_add_on: {
            add_on_code: shippingMethod.servicelevel_token,
            unit_amount_in_cents: parseFloat(shippingMethod.amount) * 100,
          },
        },
      ],

找回此错误: enter image description here

在这种情况下,通过订阅添加的正确格式是什么?

2 个答案:

答案 0 :(得分:2)

正确的格式是:

subscription_add_ons: {
        subscription_add_on: [{
          add_on_code: shippingMethod.servicelevel_token,
          unit_amount_in_cents: parseFloat(shippingMethod.amount) * 100,
        }],
      },

答案 1 :(得分:0)

我最终做了这个,无论你有1个附加组件还是多个附加组件。 subscription_add_ons是一个数组,可以包含一个或多个订阅添加项。然后,我在订阅更新调用中发送详细信息(以及其他信息)。这与您在原始帖子中尝试的内容类似,因此我不确定为什么这对您不起作用。

details.subscription_add_ons = [
    { subscription_add_on: {add_on_code: "stream", quantity: 3} },
    { subscription_add_on: {add_on_code: "hold", quantity: 2} }
];