Developer Docs

Developer Docs

  • Getting Started
  • SubscriptionJS
  • REST API
  • Webhooks
  • Code Samples
  • UseCases
  • Request a Demo

›Component subscriptions

Introduction

  • Introduction

Contracts

  • Adding contract for new customer
  • Adding contract for existing customer
  • Adding future contract without invoicing
  • Up/-downgrading to a plan variant
  • Terminate a contract with notice
  • Terminate a contract without notice

Components

    Component subscriptions

    • Concept
    • Adding/removing
    • In-/decreasing quantity
    • Override for components

    Metered usage components

    • Concept
    • Bill metered usage
    • Override for metered usage

Discounts

  • Adding discounts
  • Adding discounts via coupon

Miscellaneous

  • Rated items
  • Email Notification Template

Adding/removing component subscriptions

Sample request

POST /Orders

{
  "TriggerInterimBilling": false,
  "ContractId": "5e53dab7443e5516749566e2",
  "Cart": {
    "InheritStartDate": false,
    "ComponentSubscriptions": [
      {
        "ComponentId": "5e53dab7443e5516749566fb",
        "Quantity": 2.0
      }
    ],
    "EndComponentSubscriptions": [
      "5e53dab7443e551674956702",
      "5e53dab7443e551674956703"
    ]
  },
  "PreviewAfterTrial": false
}

If you simply want to add/remove component subscriptions and keep the current plan variant you can do so by removing the PlanVariantId from the order. Creating an order this way will keep the NextBillingDate of the contract unchanged. Fees resulting from adding component subscriptions in this way will be billed with the next regular billing. To instantly bill these fees you can trigger an interim billing in the order by setting TriggerInterimBilling to true, or by triggering a separate interim billing.

Remove ComponentSubscriptions, EndComponentSubscriptions from the sample request as required.

Sample response

{
  "Id": "5e53dab7443e55167495670e",
  "AllowWithoutPaymentData": true,
  "ComponentSubscriptions": [
    {
      "ComponentType": "QuantityBased",
      "PreventModification": false,
      "VatPercentage": 19.0,
      "TotalNet": 2.0,
      "TotalVat": 0.38,
      "IsQuantityBased": false,
      "ComponentId": "5e53dab7443e5516749566fb",
      "Quantity": 2.0
    }
  ],
  "Total": 7.0,
  "TotalVat": 1.33,
  "TotalGross": 0.0,
  "NextTotalGross": 0.0,
  "IsTrial": false,
  "TrialEndPolicy": "NoTrial",
  "Status": "InProgress",
  "OrderType": "Signup",
  "TriggerInterimBilling": false,
  "CustomerId": "5e53dab7443e55167495670f",
  "ContractId": "5e53dab7443e5516749566e2",
  "PreviewAfterTrial": false
}

Sample request without order

POST Contracts/[contractId]/componentSubscriptions

{
  "Quantity": 1,
  "StartDate": "2020-02-28T09:32:36.123Z",
  "ComponentId": "5b9106b581b1f00870b3bca0"
}

When creating a new component subscription in a contract, in this way, no interim billing will be executed, the fees will be billed with the next regular billing.

Sample response without order

{
  "Id": "5e58cd9a4de0840bf8ed2e19",
  "ContractId": "5e563b344de08409ace88ecb",
  "CustomerId": "5e563b344de08409ace88eca",
  "ComponentId": "5b9106b581b1f00870b3bca0",
  "Quantity": 1,
  "StartDate": "2020-02-28T09:32:36.1230000Z"
}
Last updated on 3/17/2020 by Stollemax
← ConceptIn-/decreasing quantity →
Docs
Getting StartedAPI Reference
Resource
Help CenterSupportBlogTutorials
Start with billwerk
Test for free
Request a Demo
Already started?
billwerk Sandboxbillwerk Production
billwerk GmbH
© Made with ❤ in Germany for Europe by billwerk GmbH | 2022
Imprint
|
Data Privacy Rules
|
Disclaimer