Sometimes customers might want to update their details after they've completed a checkout, or after you've issued an invoice. For example, they might want to add a tax number or fill out their address.
You can revise a transaction to update some customer, address, or business details for it. The existing transaction entity remains on your system unchanged for recordkeeping purposes.
How it works
Paddle automatically sends customers an email receipt when a transaction is completed, like when a customer completes checkout or a subscription renews. Email receipts include a PDF invoice that customers can retain for recordkeeping.
It's common for customers to want to update their details on the included PDF. For example, Paddle Checkout only requires that customers enter their country (and in some cases their ZIP code) to keep the checkout journey short. In this case, customers might want to populate the other fields that are part of their address, like their street address and state.
As billed and completed transactions are financial records, they can't be deleted or changed directly. Instead, you can revise customer, address, and business information for a transaction. The related customer information for that transaction is updated, but the existing transaction entity remains on your system unchanged for recordkeeping purposes.
Related entities
Completed and billed transactions must have a related customer and address entity, and may have a related business entity. They're linked using the customer_id, address_id, and business_id fields. You can use the include query parameter to get the related customer, address, and business entities for a transaction.
When a customer, address, or business is set against a transaction, Paddle creates a relationship between the transaction and the related entity at that moment. This means that if you update a customer, address, or business after it's been set against a transaction, those changes aren't reflected when you use the include query parameter to get the related entities.
You can revise a transaction to update the customer, address, and business entities for a transaction. When you revise a transaction, you're only updating the customer, address, and business information for that particular transaction. The related customer, address, and business entities aren't updated.
Adjustments
Adjustments are another way you can describe updates to a transaction after it's been billed or completed. However, they're used to describe financial changes, like refunding or crediting some or all the items on a transaction.
When you revise customer information for a transaction, Paddle may create an adjustment if there are financial changes. For example, if you add a valid tax or VAT number, Paddle automatically creates an adjustment to refund any tax where applicable.
Revise a transaction
Describes customer information updates to a billed or completed transaction.
For example, adding extra address details or adding a tax number.
Revises customer, address, and business entities for the transaction.
Customer receives a revised invoice PDF.
Learn more: Revise a transaction
Create an adjustment
Describes financial updates to a billed or completed transaction.
For example, refunding or crediting some or all line items for a transaction.
Creates a new, separate adjustment entity related to the transaction.
Customer receives a credit note PDF.
Learn more: Refund or credit a transaction
In both cases, the existing transaction entity remains on your system unchanged for recordkeeping purposes.
You can't revise customer information for a transaction that has an adjustment.
Before you begin
To revise a transaction, you'll need to get the transaction ID for the transaction you want to revise. You can only revise transactions that are billed or completed and don't already have an adjustment.
You can use the status query parameter when listing with the value billed,completed to get a list of billed and completed transactions.
Revise a transaction
Send a POST request to the /transactions/{transaction_id}/revise endpoint to revise a transaction.
In your request, include only the fields you want to revise — you can update customer name, business name and tax_identifier, and address details (except country). You can't remove a valid tax or VAT number, only replace it.
Transactions can only be revised once. Include all the information you want to update in your request.
{ "data": { "id": "txn_01hv8wptq8987qeep44cyrewp9", "status": "completed", "customer_id": "ctm_01hv8wt8nffez4p2t6typn4a5j", "address_id": "add_01hv8wt8ny8ms5vtm71bj8vcdd", "business_id": null, "custom_data": null, "origin": "web", "collection_mode": "automatic", "subscription_id": "sub_01hv8x29kz0t586xy6zn1a62ny", "invoice_id": "inv_01hv8x29nsh54c2pgt0hnq0zkx", "invoice_number": "325-10566", "billing_details": null, "billing_period": { "starts_at": "2024-04-12T10:18:47.635628Z", "ends_at": "2024-05-12T10:18:47.635628Z" }, "currency_code": "USD", "discount_id": null, "created_at": "2024-04-12T10:12:33.2014Z", "updated_at": "2024-07-26T08:46:00.746349Z", "billed_at": "2024-04-12T10:18:48.294633Z", "revised_at": "2024-07-26T08:46:00.746349Z", "items": [ { "price": { "id": "pri_01gsz8x8sawmvhz1pv30nge1ke", "description": "Monthly", "type": "standard", "name": "Monthly (per seat)", "product_id": "pro_01gsz4t5hdjse780zja8vvr7jg", "billing_cycle": { "interval": "month", "frequency": 1 }, "trial_period": null, "tax_mode": "account_setting", "unit_price": { "amount": "3000", "currency_code": "USD" }, "unit_price_overrides": [], "custom_data": null, "quantity": { "minimum": 1, "maximum": 999 }, "status": "active", "created_at": "2023-02-23T13:55:22.538367Z", "updated_at": "2024-04-11T13:54:52.254748Z", "import_meta": null }, "quantity": 10, "proration": null }, { "price": { "id": "pri_01h1vjfevh5etwq3rb416a23h2", "description": "Monthly", "type": "standard", "name": "Monthly (recurring addon)", "product_id": "pro_01h1vjes1y163xfj1rh1tkfb65", "billing_cycle": { "interval": "month", "frequency": 1 }, "trial_period": null, "tax_mode": "account_setting", "unit_price": { "amount": "10000", "currency_code": "USD" }, "unit_price_overrides": [], "custom_data": null, "quantity": { "minimum": 1, "maximum": 100 }, "status": "active", "created_at": "2023-06-01T13:31:12.625056Z", "updated_at": "2024-04-09T07:23:00.907834Z", "import_meta": null }, "quantity": 1, "proration": null }, { "price": { "id": "pri_01gsz98e27ak2tyhexptwc58yk", "description": "One-time addon", "type": "standard", "name": "One-time addon", "product_id": "pro_01gsz97mq9pa4fkyy0wqenepkz", "billing_cycle": null, "trial_period": null, "tax_mode": "account_setting", "unit_price": { "amount": "19900", "currency_code": "USD" }, "unit_price_overrides": [], "custom_data": null, "quantity": { "minimum": 1, "maximum": 1 }, "status": "active", "created_at": "2023-02-23T14:01:28.391712Z", "updated_at": "2024-04-09T07:23:10.921392Z", "import_meta": null }, "quantity": 1, "proration": null } ], "details": { "tax_rates_used": [ { "tax_rate": "0.08875", "totals": { "subtotal": "59900", "discount": "0", "tax": "5315", "total": "65215" } } ], "totals": { "subtotal": "59900", "tax": "5315", "discount": "0", "total": "65215", "grand_total": "65215", "grand_total_tax": "5315", "fee": "3311", "credit": "0", "credit_to_balance": "0", "balance": "0", "earnings": "56589", "currency_code": "USD" }, "adjusted_totals": { "subtotal": "59900", "tax": "5315", "total": "65215", "grand_total": "65215", "grand_total_tax": "5315", "fee": "3311", "earnings": "56589", "currency_code": "USD", "retained_fee": "0" }, "payout_totals": { "subtotal": "59900", "discount": "0", "tax": "5315", "total": "65215", "credit": "0", "credit_to_balance": "0", "balance": "0", "grand_total": "65215", "grand_total_tax": "5315", "fee": "3311", "earnings": "56589", "currency_code": "USD", "exchange_rate": "1", "fee_rate": "0.05" }, "adjusted_payout_totals": { "subtotal": "59900", "tax": "5315", "total": "65215", "fee": "3311", "retained_fee": "0", "chargeback_fee": { "amount": "0", "original": null }, "earnings": "56589", "currency_code": "USD", "exchange_rate": "1" }, "line_items": [ { "id": "txnitm_01hv8wt98jahpbm1t1tzr06z6n", "price_id": "pri_01gsz8x8sawmvhz1pv30nge1ke", "quantity": 10, "totals": { "subtotal": "30000", "tax": "2662", "discount": "0", "total": "32662" }, "product": { "id": "pro_01gsz4t5hdjse780zja8vvr7jg", "name": "AeroEdit Pro", "description": "Designed for professional pilots, including all features plus in Basic plus compliance monitoring, route optimization, and third-party integrations.", "type": "standard", "tax_category": "standard", "image_url": "https://paddle.s3.amazonaws.com/user/165798/bT1XUOJAQhOUxGs83cbk_pro.png", "custom_data": { "features": { "aircraft_performance": true, "compliance_monitoring": true, "flight_log_management": true, "payment_by_invoice": false, "route_planning": true, "sso": false }, "suggested_addons": [ "pro_01h1vjes1y163xfj1rh1tkfb65", "pro_01gsz97mq9pa4fkyy0wqenepkz" ], "upgrade_description": "Move from Basic to Pro to take advantage of aircraft performance, advanced route planning, and compliance monitoring." }, "status": "active", "created_at": "2023-02-23T12:43:46.605Z", "updated_at": "2024-04-05T15:53:44.687Z", "import_meta": null }, "tax_rate": "0.08875", "unit_totals": { "subtotal": "3000", "tax": "266", "discount": "0", "total": "3266" }, "proration": null }, { "id": "txnitm_01hv8wt98jahpbm1t1v1sd067y", "price_id": "pri_01h1vjfevh5etwq3rb416a23h2", "quantity": 1, "totals": { "subtotal": "10000", "tax": "887", "discount": "0", "total": "10887" }, "product": { "id": "pro_01h1vjes1y163xfj1rh1tkfb65", "name": "Analytics addon", "description": "Unlock advanced insights into your flight data with enhanced analytics and reporting features. Includes customizable reporting templates and trend analysis across flights.", "type": "standard", "tax_category": "standard", "image_url": "https://paddle.s3.amazonaws.com/user/165798/97dRpA6SXzcE6ekK9CAr_analytics.png", "custom_data": null, "status": "active", "created_at": "2023-06-01T13:30:50.302Z", "updated_at": "2024-04-05T15:47:17.163Z", "import_meta": null }, "tax_rate": "0.08875", "unit_totals": { "subtotal": "10000", "tax": "887", "discount": "0", "total": "10887" }, "proration": null }, { "id": "txnitm_01hv8wt98jahpbm1t1v67vqnb6", "price_id": "pri_01gsz98e27ak2tyhexptwc58yk", "quantity": 1, "totals": { "subtotal": "19900", "tax": "1766", "discount": "0", "total": "21666" }, "product": { "id": "pro_01gsz97mq9pa4fkyy0wqenepkz", "name": "Custom domains", "description": "Make AeroEdit truly your own with custom domains. Custom domains reinforce your brand identity and make it easy for your team to access your account.", "type": "standard", "tax_category": "standard", "image_url": "https://paddle.s3.amazonaws.com/user/165798/XIG7UXoJQHmlIAiKcnkA_custom-domains.png", "custom_data": null, "status": "active", "created_at": "2023-02-23T14:01:02.441Z", "updated_at": "2024-04-05T15:43:28.971Z", "import_meta": null }, "tax_rate": "0.08875", "unit_totals": { "subtotal": "19900", "tax": "1766", "discount": "0", "total": "21666" }, "proration": null } ] }, "payments": [ { "payment_attempt_id": "937640dd-e3dc-40df-a16c-bb75aafd8f71", "stored_payment_method_id": "281ff2ca-8550-42b9-bf39-15948e7de62d", "payment_method_id": "paymtd_01hv8x1tpjfnttxddw73xnqx6s", "amount": "65215", "status": "captured", "error_code": null, "method_details": { "type": "card", "underlying_details": null, "south_korea_local_card": null, "card": { "type": "visa", "last4": "3184", "expiry_month": 1, "expiry_year": 2025, "cardholder_name": "Michael McGovern" } }, "created_at": "2024-04-12T10:18:33.579142Z", "captured_at": "2024-04-12T10:18:47.635628Z" }, { "payment_attempt_id": "8f72cfa6-26b4-4a57-91dc-8f2708f7822d", "stored_payment_method_id": "a78ece50-356f-4e0c-b72d-ad5368b0a0d9", "payment_method_id": "paymtd_01hv8wx2mka7dfsqjjsxh1ne7z", "amount": "65215", "status": "error", "error_code": "declined", "method_details": { "type": "card", "underlying_details": null, "south_korea_local_card": null, "card": { "type": "visa", "last4": "0002", "expiry_month": 1, "expiry_year": 2025, "cardholder_name": "Michael McGovern" } }, "created_at": "2024-04-12T10:15:57.888183Z", "captured_at": null } ], "checkout": { "url": "https://aeroedit.com/pay?_ptxn=txn_01hv8wptq8987qeep44cyrewp9" } }, "meta": { "request_id": "d6186f6a-70f7-4f1c-a65a-f790f940cf6e" }}{ "data": { "id": "txn_01hv8wptq8987qeep44cyrewp9", "status": "completed", "customer_id": "ctm_01hv8wt8nffez4p2t6typn4a5j", "address_id": "add_01hv8wt8ny8ms5vtm71bj8vcdd", "business_id": null, "custom_data": null, "origin": "web", "collection_mode": "automatic", "subscription_id": "sub_01hv8x29kz0t586xy6zn1a62ny", "invoice_id": "inv_01hv8x29nsh54c2pgt0hnq0zkx", "invoice_number": "325-10566", "billing_details": null, "billing_period": { "starts_at": "2024-04-12T10:18:47.635628Z", "ends_at": "2024-05-12T10:18:47.635628Z" }, "currency_code": "USD", "discount_id": null, "created_at": "2024-04-12T10:12:33.2014Z", "updated_at": "2024-07-26T08:46:00.746349Z", "billed_at": "2024-04-12T10:18:48.294633Z", "revised_at": "2024-07-26T08:46:00.746349Z", "items": [ { "price": { "id": "pri_01gsz8x8sawmvhz1pv30nge1ke", "description": "Monthly", "type": "standard", "name": "Monthly (per seat)", "product_id": "pro_01gsz4t5hdjse780zja8vvr7jg", "billing_cycle": { "interval": "month", "frequency": 1 }, "trial_period": null, "tax_mode": "account_setting", "unit_price": { "amount": "3000", "currency_code": "USD" }, "unit_price_overrides": [], "custom_data": null, "quantity": { "minimum": 1, "maximum": 999 }, "status": "active", "created_at": "2023-02-23T13:55:22.538367Z", "updated_at": "2024-04-11T13:54:52.254748Z", "import_meta": null }, "quantity": 10, "proration": null }, { "price": { "id": "pri_01h1vjfevh5etwq3rb416a23h2", "description": "Monthly", "type": "standard", "name": "Monthly (recurring addon)", "product_id": "pro_01h1vjes1y163xfj1rh1tkfb65", "billing_cycle": { "interval": "month", "frequency": 1 }, "trial_period": null, "tax_mode": "account_setting", "unit_price": { "amount": "10000", "currency_code": "USD" }, "unit_price_overrides": [], "custom_data": null, "quantity": { "minimum": 1, "maximum": 100 }, "status": "active", "created_at": "2023-06-01T13:31:12.625056Z", "updated_at": "2024-04-09T07:23:00.907834Z", "import_meta": null }, "quantity": 1, "proration": null }, { "price": { "id": "pri_01gsz98e27ak2tyhexptwc58yk", "description": "One-time addon", "type": "standard", "name": "One-time addon", "product_id": "pro_01gsz97mq9pa4fkyy0wqenepkz", "billing_cycle": null, "trial_period": null, "tax_mode": "account_setting", "unit_price": { "amount": "19900", "currency_code": "USD" }, "unit_price_overrides": [], "custom_data": null, "quantity": { "minimum": 1, "maximum": 1 }, "status": "active", "created_at": "2023-02-23T14:01:28.391712Z", "updated_at": "2024-04-09T07:23:10.921392Z", "import_meta": null }, "quantity": 1, "proration": null } ], "details": { "tax_rates_used": [ { "tax_rate": "0.08875", "totals": { "subtotal": "59900", "discount": "0", "tax": "5315", "total": "65215" } } ], "totals": { "subtotal": "59900", "tax": "5315", "discount": "0", "total": "65215", "grand_total": "65215", "grand_total_tax": "5315", "fee": "3311", "credit": "0", "credit_to_balance": "0", "balance": "0", "earnings": "56589", "currency_code": "USD" }, "adjusted_totals": { "subtotal": "59900", "tax": "5315", "total": "65215", "grand_total": "65215", "grand_total_tax": "5315", "fee": "3311", "earnings": "56589", "currency_code": "USD", "retained_fee": "0" }, "payout_totals": { "subtotal": "59900", "discount": "0", "tax": "5315", "total": "65215", "credit": "0", "credit_to_balance": "0", "balance": "0", "grand_total": "65215", "grand_total_tax": "5315", "fee": "3311", "earnings": "56589", "currency_code": "USD", "exchange_rate": "1", "fee_rate": "0.05" }, "adjusted_payout_totals": { "subtotal": "59900", "tax": "5315", "total": "65215", "fee": "3311", "retained_fee": "0", "chargeback_fee": { "amount": "0", "original": null }, "earnings": "56589", "currency_code": "USD", "exchange_rate": "1" }, "line_items": [ { "id": "txnitm_01hv8wt98jahpbm1t1tzr06z6n", "price_id": "pri_01gsz8x8sawmvhz1pv30nge1ke", "quantity": 10, "totals": { "subtotal": "30000", "tax": "2662", "discount": "0", "total": "32662" }, "product": { "id": "pro_01gsz4t5hdjse780zja8vvr7jg", "name": "AeroEdit Pro", "description": "Designed for professional pilots, including all features plus in Basic plus compliance monitoring, route optimization, and third-party integrations.", "type": "standard", "tax_category": "standard", "image_url": "https://paddle.s3.amazonaws.com/user/165798/bT1XUOJAQhOUxGs83cbk_pro.png", "custom_data": { "features": { "aircraft_performance": true, "compliance_monitoring": true, "flight_log_management": true, "payment_by_invoice": false, "route_planning": true, "sso": false }, "suggested_addons": [ "pro_01h1vjes1y163xfj1rh1tkfb65", "pro_01gsz97mq9pa4fkyy0wqenepkz" ], "upgrade_description": "Move from Basic to Pro to take advantage of aircraft performance, advanced route planning, and compliance monitoring." }, "status": "active", "created_at": "2023-02-23T12:43:46.605Z", "updated_at": "2024-04-05T15:53:44.687Z", "import_meta": null }, "tax_rate": "0.08875", "unit_totals": { "subtotal": "3000", "tax": "266", "discount": "0", "total": "3266" }, "proration": null }, { "id": "txnitm_01hv8wt98jahpbm1t1v1sd067y", "price_id": "pri_01h1vjfevh5etwq3rb416a23h2", "quantity": 1, "totals": { "subtotal": "10000", "tax": "887", "discount": "0", "total": "10887" }, "product": { "id": "pro_01h1vjes1y163xfj1rh1tkfb65", "name": "Analytics addon", "description": "Unlock advanced insights into your flight data with enhanced analytics and reporting features. Includes customizable reporting templates and trend analysis across flights.", "type": "standard", "tax_category": "standard", "image_url": "https://paddle.s3.amazonaws.com/user/165798/97dRpA6SXzcE6ekK9CAr_analytics.png", "custom_data": null, "status": "active", "created_at": "2023-06-01T13:30:50.302Z", "updated_at": "2024-04-05T15:47:17.163Z", "import_meta": null }, "tax_rate": "0.08875", "unit_totals": { "subtotal": "10000", "tax": "887", "discount": "0", "total": "10887" }, "proration": null }, { "id": "txnitm_01hv8wt98jahpbm1t1v67vqnb6", "price_id": "pri_01gsz98e27ak2tyhexptwc58yk", "quantity": 1, "totals": { "subtotal": "19900", "tax": "1766", "discount": "0", "total": "21666" }, "product": { "id": "pro_01gsz97mq9pa4fkyy0wqenepkz", "name": "Custom domains", "description": "Make AeroEdit truly your own with custom domains. Custom domains reinforce your brand identity and make it easy for your team to access your account.", "type": "standard", "tax_category": "standard", "image_url": "https://paddle.s3.amazonaws.com/user/165798/XIG7UXoJQHmlIAiKcnkA_custom-domains.png", "custom_data": null, "status": "active", "created_at": "2023-02-23T14:01:02.441Z", "updated_at": "2024-04-05T15:43:28.971Z", "import_meta": null }, "tax_rate": "0.08875", "unit_totals": { "subtotal": "19900", "tax": "1766", "discount": "0", "total": "21666" }, "proration": null } ] }, "payments": [ { "payment_attempt_id": "937640dd-e3dc-40df-a16c-bb75aafd8f71", "stored_payment_method_id": "281ff2ca-8550-42b9-bf39-15948e7de62d", "payment_method_id": "paymtd_01hv8x1tpjfnttxddw73xnqx6s", "amount": "65215", "status": "captured", "error_code": null, "method_details": { "type": "card", "underlying_details": null, "south_korea_local_card": null, "card": { "type": "visa", "last4": "3184", "expiry_month": 1, "expiry_year": 2025, "cardholder_name": "Michael McGovern" } }, "created_at": "2024-04-12T10:18:33.579142Z", "captured_at": "2024-04-12T10:18:47.635628Z" }, { "payment_attempt_id": "8f72cfa6-26b4-4a57-91dc-8f2708f7822d", "stored_payment_method_id": "a78ece50-356f-4e0c-b72d-ad5368b0a0d9", "payment_method_id": "paymtd_01hv8wx2mka7dfsqjjsxh1ne7z", "amount": "65215", "status": "error", "error_code": "declined", "method_details": { "type": "card", "underlying_details": null, "south_korea_local_card": null, "card": { "type": "visa", "last4": "0002", "expiry_month": 1, "expiry_year": 2025, "cardholder_name": "Michael McGovern" } }, "created_at": "2024-04-12T10:15:57.888183Z", "captured_at": null } ], "checkout": { "url": "https://aeroedit.com/pay?_ptxn=txn_01hv8wptq8987qeep44cyrewp9" } }, "meta": { "request_id": "d6186f6a-70f7-4f1c-a65a-f790f940cf6e" }}Get a transaction including revised information Optional
Send a GET request to the /transactions/{transaction_id} endpoint with include=customer,address,business to fetch the revised entities and present them in a billing screen.
Paddle automatically sends a copy of the revised invoice to customers.
{ "data": { "id": "txn_01j1f27bnwg90nggkgkf52hy34", "status": "completed", "customer_id": "ctm_01j1f28efp7j4p1ae0hqnd144s", "address_id": "add_01j1f28egce2412sjnzp4pxdqg", "business_id": null, "custom_data": null, "origin": "web", "collection_mode": "automatic", "subscription_id": "sub_01j1f28ywb5hn78y2y5tym9y4k", "invoice_id": "inv_01j1f28yyr4abcmbf94g66p9ht", "invoice_number": "325-11071", "billing_details": null, "billing_period": { "starts_at": "2024-06-28T09:19:26.694403Z", "ends_at": "2024-07-28T09:19:26.694403Z" }, "currency_code": "USD", "discount_id": null, "created_at": "2024-06-28T09:18:35.302514Z", "updated_at": "2024-06-28T09:19:28.520054Z", "billed_at": "2024-06-28T09:19:27.273799Z", "items": [ { "price": { "id": "pri_01gsz8x8sawmvhz1pv30nge1ke", "description": "Monthly", "type": "standard", "name": "Monthly (per seat)", "product_id": "pro_01gsz4t5hdjse780zja8vvr7jg", "billing_cycle": { "interval": "month", "frequency": 1 }, "trial_period": null, "tax_mode": "account_setting", "unit_price": { "amount": "3000", "currency_code": "USD" }, "unit_price_overrides": [], "custom_data": null, "quantity": { "minimum": 1, "maximum": 999 }, "status": "active", "created_at": "2023-02-23T13:55:22.538367Z", "updated_at": "2024-04-11T13:54:52.254748Z" }, "quantity": 10 }, { "price": { "id": "pri_01h1vjfevh5etwq3rb416a23h2", "description": "Monthly", "type": "standard", "name": "Monthly (recurring addon)", "product_id": "pro_01h1vjes1y163xfj1rh1tkfb65", "billing_cycle": { "interval": "month", "frequency": 1 }, "trial_period": null, "tax_mode": "account_setting", "unit_price": { "amount": "10000", "currency_code": "USD" }, "unit_price_overrides": [], "custom_data": null, "quantity": { "minimum": 1, "maximum": 100 }, "status": "active", "created_at": "2023-06-01T13:31:12.625056Z", "updated_at": "2024-04-12T10:42:45.476453Z" }, "quantity": 1 }, { "price": { "id": "pri_01gsz98e27ak2tyhexptwc58yk", "description": "One-time addon", "type": "standard", "name": "One-time addon", "product_id": "pro_01gsz97mq9pa4fkyy0wqenepkz", "billing_cycle": null, "trial_period": null, "tax_mode": "account_setting", "unit_price": { "amount": "19900", "currency_code": "USD" }, "unit_price_overrides": [], "custom_data": null, "quantity": { "minimum": 1, "maximum": 1 }, "status": "active", "created_at": "2023-02-23T14:01:28.391712Z", "updated_at": "2024-04-09T07:23:10.921392Z" }, "quantity": 1 } ], "details": { "tax_rates_used": [ { "tax_rate": "0.08875", "totals": { "subtotal": "59900", "discount": "0", "tax": "5315", "total": "65215" } } ], "totals": { "subtotal": "59900", "tax": "5315", "discount": "0", "total": "65215", "grand_total": "65215", "fee": "3311", "credit": "0", "credit_to_balance": "0", "balance": "0", "earnings": "56589", "currency_code": "USD" }, "adjusted_totals": { "subtotal": "59900", "tax": "5315", "total": "65215", "grand_total": "65215", "fee": "3311", "earnings": "56589", "currency_code": "USD" }, "payout_totals": { "subtotal": "59900", "tax": "5315", "discount": "0", "total": "65215", "credit": "0", "credit_to_balance": "0", "balance": "0", "grand_total": "65215", "fee": "3311", "earnings": "56589", "currency_code": "USD" }, "adjusted_payout_totals": { "subtotal": "59900", "tax": "5315", "total": "65215", "fee": "3311", "chargeback_fee": { "amount": "0", "original": null }, "earnings": "56589", "currency_code": "USD" }, "line_items": [ { "id": "txnitm_01j1f28f89k9wfjwns16b1yqww", "price_id": "pri_01gsz8x8sawmvhz1pv30nge1ke", "quantity": 10, "totals": { "subtotal": "30000", "tax": "2662", "discount": "0", "total": "32662" }, "product": { "id": "pro_01gsz4t5hdjse780zja8vvr7jg", "name": "AeroEdit Pro", "description": "Designed for professional pilots, including all features plus in Basic plus compliance monitoring, route optimization, and third-party integrations.", "type": "standard", "tax_category": "standard", "image_url": "https://paddle.s3.amazonaws.com/user/165798/bT1XUOJAQhOUxGs83cbk_pro.png", "custom_data": { "features": { "aircraft_performance": true, "compliance_monitoring": true, "flight_log_management": true, "payment_by_invoice": false, "route_planning": true, "sso": false }, "suggested_addons": [ "pro_01h1vjes1y163xfj1rh1tkfb65", "pro_01gsz97mq9pa4fkyy0wqenepkz" ], "upgrade_description": "Move from Basic to Pro to take advantage of aircraft performance, advanced route planning, and compliance monitoring." }, "status": "active", "created_at": "2023-02-23T12:43:46.605Z", "updated_at": "2024-04-05T15:53:44.687Z" }, "tax_rate": "0.08875", "unit_totals": { "subtotal": "3000", "tax": "266", "discount": "0", "total": "3266" } }, { "id": "txnitm_01j1f28f89k9wfjwns1csjh996", "price_id": "pri_01h1vjfevh5etwq3rb416a23h2", "quantity": 1, "totals": { "subtotal": "10000", "tax": "887", "discount": "0", "total": "10887" }, "product": { "id": "pro_01h1vjes1y163xfj1rh1tkfb65", "name": "Analytics addon", "description": "Unlock advanced insights into your flight data with enhanced analytics and reporting features. Includes customizable reporting templates and trend analysis across flights.", "type": "standard", "tax_category": "standard", "image_url": "https://paddle.s3.amazonaws.com/user/165798/97dRpA6SXzcE6ekK9CAr_analytics.png", "custom_data": null, "status": "active", "created_at": "2023-06-01T13:30:50.302Z", "updated_at": "2024-04-05T15:47:17.163Z" }, "tax_rate": "0.08875", "unit_totals": { "subtotal": "10000", "tax": "887", "discount": "0", "total": "10887" } }, { "id": "txnitm_01j1f28f89k9wfjwns1htt8bpw", "price_id": "pri_01gsz98e27ak2tyhexptwc58yk", "quantity": 1, "totals": { "subtotal": "19900", "tax": "1766", "discount": "0", "total": "21666" }, "product": { "id": "pro_01gsz97mq9pa4fkyy0wqenepkz", "name": "Custom domains", "description": "Make AeroEdit truly your own with custom domains. Custom domains reinforce your brand identity and make it easy for your team to access your account.", "type": "standard", "tax_category": "standard", "image_url": "https://paddle.s3.amazonaws.com/user/165798/XIG7UXoJQHmlIAiKcnkA_custom-domains.png", "custom_data": null, "status": "active", "created_at": "2023-02-23T14:01:02.441Z", "updated_at": "2024-04-05T15:43:28.971Z" }, "tax_rate": "0.08875", "unit_totals": { "subtotal": "19900", "tax": "1766", "discount": "0", "total": "21666" } } ] }, "payments": [ { "payment_attempt_id": "e525fb4b-198f-4c50-9ef8-abdba320baa4", "stored_payment_method_id": "c39eb66d-b1a6-4d1f-b352-ed82442b06bb", "payment_method_id": "paymtd_01j1f28vewjjgjhpkwh90r2fqw", "amount": "65215", "status": "captured", "error_code": null, "method_details": { "type": "card", "korea_local": null, "card": { "type": "visa", "last4": "4242", "expiry_month": 10, "expiry_year": 2025, "cardholder_name": "Sam Miller" } }, "created_at": "2024-06-28T09:19:24.150496Z", "captured_at": "2024-06-28T09:19:26.694403Z" } ], "checkout": { "url": "https://magnificent-entremet-7ae0c6.netlify.app/default/overlay?_ptxn=txn_01j1f27bnwg90nggkgkf52hy34" }, "receipt_data": null }, "meta": { "request_id": "ea6e5746-0e88-48ed-b6d4-6d78acce5d1e" }}Update customer, business, and address entities
When you revise customer information for a transaction, only the customer information for this transaction is updated. The related customer, address, and business entities aren't updated.
Use the dashboard or the Paddle API to update the customer, address, and business entities so that future transactions use the latest data.
Events
transaction.updated | Occurs when a transaction is updated. |
transaction.revised | Occurs when a transaction is revised. |
Common errors
transaction_invalid_status_to_revise |
| A transaction must be in the status of billed or completed to be revised. |
transaction_revised_limit_reached |
| A transaction has already been revised. |
transaction_adjusted_unable_to_revise |
| A transaction cannot be revised if it has been adjusted. |