Cancel an invoice
Cancel an invoice if you created it in error. Canceled invoices remain on your system for record-keeping purposes.
If you've created an invoice in error, you can cancel it to say that it's no longer needed.
How it works
Invoices work using manually-collected transactions. These are transactions where the collection_mode
is set to manual
, which means Paddle won't attempt to charge a card on file.
Change the status of a manually-collected transaction to canceled
to mark it as canceled.
When you cancel an invoice:
- Its status changes to
canceled
- It's no longer due, so customers don't need to pay it
- Checkout links against the transaction no longer work
- It doesn't count as revenue for your reporting
- You can't un-cancel it, or make any other changes to it
You can cancel transactions that are billed
(issued invoices) or ready
. You can create adjustments for completed
transactions to refund or credit them.
Related subscriptions aren't canceled when you cancel an invoice. You should cancel related subscriptions using the Dashboard or API.
Cancel an invoice
Send a PATCH request to the /transactions/{transaction_id}
endpoint.
Paddle ID of the transaction entity to work with.
API
List transactions by making a GET request to the /transactions
endpoint. Work your way through the results to find the transaction that you'd like to work with.
Dashboard
Head to Paddle > Transactions, then use the search box to find the transaction you'd like to cancel. Copy the ID from the transaction page.
Request
In your request body, include status
and set to canceled
.
1231{
2 "status": "canceled"
3}
Response
If successful, Paddle responds with a copy of the updated transaction entity. The transaction status is canceled
.
12345678910111213141516171819201{
2 "data": {
3 "id": "txn_01gyaaw8shd098x15eqf30094c",
4 "status": "canceled",
5 "customer_id": "ctm_01gy9v39w9c1fz7f2kjhd0v51t",
6 "address_id": "add_01gy9v39y7r5ppsd789sbwdm0d",
7 "business_id": null,
8 "custom_data": {},
9 "origin": "api",
10 "collection_mode": "manual",
11 "subscription_id": "sub_01gyaaw979566t6askdawwnsg5",
12 "invoice_id": null,
13 "invoice_number": "11-19393",
14 "billing_details": {
15 "enable_checkout": true,
16 "payment_terms": {
17 "interval": "day",
18 "frequency": 14
19 },
20 "purchase_order_number": "",
Cancel related subscription
Paddle automatically creates a subscription when you mark a manually-collected transaction as billed
.
When you cancel an invoice, its related subscription is not automatically canceled. This means the subscription remains active, so your customer may still have access to your app. Paddle may re-invoice for it on renewal, too.
Cancel using the Dashboard or API
Use the Dashboard or API to cancel the related subscription after you have canceled the transaction.
Subscribe to transaction.canceled
If you've subscribed to events for transaction.canceled
, you'll get a notification that includes a data
payload with the complete transaction entity.
Use the subscription_id
against the transaction entity to send a request to cancel using the cancel a subscription operation.
Create an adjustment for a completed invoice
You can't cancel transactions that are completed
, since this means your customer has paid the invoice.
Instead, create an adjustment to refund or credit all or part of a completed invoice. Adjustments describe a change to a transaction after it's been billed.
Notifications
transaction.canceled | Occurs when a transaction is canceled. |