Update Transaction
paddle.update_transaction
ActionBusiness appsconnection required
Calls the Paddle API with the connection's credentials.
Amend a draft or ready transaction, or bill or cancel it.
Connection
- Required
- Yes — the node will not save without one
- Auth type
- API key
- Providers
- Paddle
- Secret shape
- the Paddle API key (pdl_…), or {"api_key": "…"}
- Config it needs
- environment, base_url
- Resolved by
- config.connection_id, else node.connection_id
Configuration
9 fields, 1 required. A dotted path is a nested object and name[] an array of objects — the editor renders the same tree.
| Field | Type | Required | Default | Constraints | Example |
|---|---|---|---|---|---|
transaction_id The transaction id, prefixed txn_. | string | Yes | — | — | — |
status billed issues the invoice; canceled voids an already billed one. | string | No | — | one of "billed", "canceled" | — |
customer_id Bill a different customer. | string | No | — | — | ctm_01h8441jn5pcwrfhwh78jqt8hk |
address_id Bill a different address. | string | No | — | — | — |
business_id Bill a different business. | string | No | — | — | — |
discount_id Apply a different discount to the transaction. | string | No | — | — | — |
currency_code Three-letter currency to bill in. | string | No | — | 3–3 characters | — |
items JSON array replacing every line item; omitted items are removed. | array | No | — | ≥ 1 characters; array of object | — |
custom_data Replacement key-value data for the transaction (JSON). | object | No | — | — | — |
- At least one of customer_id, status, address_id, business_id, discount_id, currency_code, items, custom_data must be set.
Example configuration
Every value below is the contract’s own example or default — nothing invented.
{
"customer_id": "ctm_01h8441jn5pcwrfhwh78jqt8hk"
}Output
One shape.
result
| Field | Type | Example |
|---|---|---|
id The transaction id, prefixed txn_. | string | — |
status draft, ready, billed, paid, completed, canceled or past_due. | string | — |
customer_id The customer being billed, or null on a draft. | string | — |
subscription_id The subscription this transaction belongs to, or null. | string | — |
invoice_number Paddle's invoice number once the transaction is billed. | string | — |
collection_mode automatic when Paddle charges, manual for an invoice. | string | — |
currency_code Three-letter currency this is billed in. | string | — |
origin What created the transaction, such as api or subscription_charge. | string | — |
items The priced line items on the transaction. | array | — |
details Paddle's calculated totals, tax and payout amounts. | object | — |
checkout The hosted checkout, including its url. | object | — |
{
"checkout": {},
"collection_mode": "",
"currency_code": "",
"customer_id": "",
"details": {},
"id": "",
"invoice_number": "",
"items": [],
"origin": "",
"status": "",
"subscription_id": ""
}Notes
- Only draft and ready transactions can be amended — Paddle treats billed and completed ones as tax records. Every other status is Paddle's to set.
See Update Transaction run in a workflow.
In a technical demo we add the Paddle connection, drop the node on the canvas and let Workflow Health pre-flight it before the first real run.