# Subscription billing options

A subscription billing option determines how a member pays for their subscription. A member may
[purchase a subscription](/digital-platform/subscriptions/purchase) with [recurring billing](#recurring-subscription-billing-options),
or for a fixed-term with [non-recurring billing](#non-recurring-subscription-billing-options).

Every billing option entitles the member to the full set of [subscription benefits](/digital-platform/subscriptions/benefits) offered
by the subscription.

## Get available subscription billing options

Use the [GetSubscriptionBillingOptions](/openapi/digital-platform/openapi/subscriptions/ocapisubscriptionbillingoptions_getsubscriptionbillingoptions/) endpoint to get the list of available subscription billing options.

```json
{
  "billingOptions": [
    {
      "id": "string",
      "name": {
        "text": "string",
        "translations": [
          {
            "languageTag": "string",
            "text": "string"
          }
        ]
      },
      "subscriptionId": 0,
      "billingPeriodInMonths": 1,
      "isRecurring": true,
      "prices": [
        {
          "price": {
            "valueIncludingTax": 0.1,
            "valueExcludingTax": 0.1,
            "tax": 0.1
          },
          "isDefault": true,
          "discount": null,
          "restrictions": [],
          "discountId": null
        }
      ]
    }
  ]
}
```

NOTE
Some properties have been omitted from the code snippet above for brevity.

## Recurring subscription billing options

A recurring subscription billing option grants members continuous access to [subscription benefits](/digital-platform/subscriptions/benefits) through
automatic, regular billing cycles.

When purchasing a [recurring subscription](/digital-platform/subscriptions/recurring), the payment card will be authorised for recurring billing,
and will be stored as the member's [subscription payment card](/digital-platform/subscriptions/recurring/payment-cards) for future billing cycles.
A recurring subscription billing option may be partially discounted using a suitable [voucher](/digital-platform/orders/subscription-orders#add-voucher-optional).

Recurring subscription billing options have the `isRecurring` property set to `true`. The `billingPeriodInMonths` property
indicates the billing frequency. For example, here's a one-monthly recurring billing option:

```json
{
  "id": "string",
  "name": {
    "text": "string",
    "translations": [
      {
        "languageTag": "string",
        "text": "string"
      }
    ]
  },
  "subscriptionId": 0,
  "billingPeriodInMonths": 1,
  "isRecurring": true,
  "prices": [
    {
      "price": {
        "valueIncludingTax": 0.1,
        "valueExcludingTax": 0.1,
        "tax": 0.1
      },
      "isDefault": true,
      "discount": null,
      "restrictions": [],
      "discountId": null
    }
  ]
}
```

NOTE
Some properties have been omitted from the code snippet above for brevity.

## Non-recurring subscription billing options

A non-recurring subscription billing option grants members access to the [subscription benefits](/digital-platform/subscriptions/benefits) for a
specified fixed-term. The member will automatically lose access to their subscription at the end of the fixed-term unless
they choose to [renew their subscription](/digital-platform/subscriptions/non-recurring#renewal) at the end of the fixed-term.

When purchasing a [non-recurring subscription](/digital-platform/subscriptions/non-recurring), the member makes a one-time payment for the full
billing period. A non-recurring subscription billing option may be discounted using a suitable [voucher](/digital-platform/orders/subscription-orders#add-voucher-optional).

Non-recurring subscription billing options have the `isRecurring` property set to `false`. The `billingPeriodInMonths`
property indicates the fixed subscription duration. For example, here's an annual non-recurring billing option:

```json
{
  "id": "string",
  "name": {
    "text": "string",
    "translations": [
      {
        "languageTag": "string",
        "text": "string"
      }
    ]
  },
  "subscriptionId": 0,
  "billingPeriodInMonths": 12,
  "isRecurring": false,
  "prices": [
    {
      "price": {
        "valueIncludingTax": 0.1,
        "valueExcludingTax": 0.1,
        "tax": 0.1
      },
      "isDefault": true,
      "discount": null,
      "restrictions": [],
      "discountId": null
    }
  ]
}
```

NOTE
Some properties have been omitted from the code snippet above for brevity.