Docs

Identify transactions created for one-time charges

More easily distinguish between transactions created for one-time charges for a subscription, and transactions created for subscription changes or renewals.

Product area

  • Transactions

Tooling

  • API

Released

July 10, 2023

Status

Released

API version

Version 1

What's new?

We added a new subscription_charge allowed value for the transaction origin field. It's set by Paddle when a transaction is created for a one-time charge for a subscription.

origin string

Describes how this transaction was created.

How it works

The origin field against a transaction tells you how it was created. It's set automatically by Paddle.

Previously, all immediate transactions created for a subscription had the origin subscription_update. This includes changes to recurring items on a subscription where you choose full_immediately or prorated_immediately as the proration_billing_mode, as well as one-time charges.

The new subscription_charge allowed value is now used for transactions created for one-time charges.

subscription_update remains the value for changes to recurring items that are billed now, making it easier to distinguish between transactions created for one-time charges and transactions created for recurring items.

subscription_recurring is still used when making changes to items on a subscription where you choose prorated_next_billing_period or full_next_billing_period, as well as for subscription renewals.

Here's a summary of the allowed values for origin against a transaction:

subscription_chargeNewOne-time charge for a subscription, billed now.
subscription_updateChangeChanges to recurring items for a subscription, billed now.
subscription_recurringNo changeSubscription renewals and changes to items for a subscription, billed on the next billing period.
subscription_payment_method_changeNo changeZero-value transaction created for updating a payment method.

Next steps

This change is available in version 1 of the Paddle API.

It's a non-breaking change, meaning it doesn't impact existing integrations.

You can work with transactions using the API to see the new origin value.

Summary of changes

Entity Field Change Type
Transaction.origin subscription_charge + Added Enum value
Origin value for one-time subscription charges billed immediately.

Was this page helpful?