Paddle Billing
Search

Create a one-time charge for a subscription

posthttps://api.paddle.com/subscriptions/{subscription_id}/charge

Creates a new one-time charge for a subscription. Use to bill non-recurring items to a subscription. Non-recurring items are price entities where the billing_cycle is null.

If successful, Paddle responds with the updated subscription entity. However, one-time charges aren't held against the subscription entity, so the charges billed aren't returned in the response.

Once created, to get details of a one-time charge:

  • When created with effective_from as next_billing_period, get the subscription the charge was billed to and use the include query parameter with the next_transaction value.
  • When created with effective_from as immediately, list transactions and use the subscription_id query parameter with the subscription ID of the subscription the charge was billed to.

When an update results in an immediate charge, responses may take longer than usual while a payment attempt is processed.

Path Parameters

subscription_idstringrequired

Paddle ID of the subscription entity to work with.

Request Body

effective_fromstringrequired

When one-time charges should be billed.

itemsarray[object]required

Add a non-catalog price for a non-catalog product in your catalog to a transaction. In this case, the product and price that you're billing for are specific to this transaction.

quantityintegerrequired

Quantity to bill for.

price_idstringrequired

Paddle ID of an an existing catalog price to bill for.

on_payment_failurestring

How Paddle should handle changes made to a subscription or its items if the payment fails during update. If omitted, defaults to prevent_change.

Response

dataobject

Represents a subscription entity.

idstring

Unique Paddle ID for this subscription entity, prefixed with sub_.

statusstring

Status of this subscription. Set automatically by Paddle. Use the pause subscription or cancel subscription operations to change.

customer_idstring

Paddle ID of the customer that this subscription is for, prefixed with ctm_.

address_idstring

Paddle ID of the address that this subscription is for, prefixed with add_.

business_idstring or null

Paddle ID of the business that this subscription is for, prefixed with biz_.

currency_codestring

Supported three-letter ISO 4217 currency code. Transactions for this subscription are created in this currency. Must be USD, EUR, or GBP if collection_mode is manual.

created_atstring<date-time>

RFC 3339 datetime string of when this entity was created. Set automatically by Paddle.

updated_atstring<date-time>

RFC 3339 datetime string of when this entity was updated. Set automatically by Paddle.

started_atstring<date-time> or null

RFC 3339 datetime string of when this subscription started. This may be different from first_billed_at if the subscription started in trial.

first_billed_atstring<date-time> or null

RFC 3339 datetime string of when this subscription was first billed. This may be different from started_at if the subscription started in trial.

next_billed_atstring<date-time> or null

RFC 3339 datetime string of when this subscription is next scheduled to be billed.

paused_atstring<date-time> or null

RFC 3339 datetime string of when this subscription was paused. Set automatically by Paddle when the pause subscription operation is used. null if not paused.

canceled_atstring<date-time> or null

RFC 3339 datetime string of when this subscription was canceled. Set automatically by Paddle when the cancel subscription operation is used. null if not canceled.

discountobject or null

Details of the discount applied to this subscription.

collection_modestring

How payment is collected for transactions created for this subscription. automatic for checkout, manual for invoices.

billing_detailsobject or null

Details for invoicing. Required if collection_mode is manual.

current_billing_periodobject or null

Current billing period for this subscription. Set automatically by Paddle based on the billing cycle.

billing_cycleobject

How often this subscription renews. Set automatically by Paddle based on the prices on this subscription.

scheduled_changeobject or null

Change that's scheduled to be applied to a subscription. Use the pause subscription, cancel subscription, and resume subscription operations to create scheduled changes. null if no scheduled changes.

management_urlsobject

Public URLs that customers can use to make changes to this subscription. For security, the token appended to each link is temporary. You shouldn't store these links.

itemsarray[object]

Represents a subscription item.

custom_dataobject or null

Your own structured key-value data.

import_metaobject or null

Import information for this entity. null if this entity is not imported.

metaobject

Information about this response.

request_idstring

Unique ID for the request relating to this response. Provide this when contacting Paddle support about a specific request.