As well as adding recurring items to subscriptions, Paddle lets you bill for one-time charges. One-time charges are sometimes called one-off, ad-hoc, or non-recurring charges or fees.
Bill one-time charges to a subscription when:
- Customers pay a fee at the start of their subscription for things like setup, implementation, deployment, or activation.
- You offer services to subscribed customers, like auditing, data export, data migration, or incident support.
- You offer passes to access modules or features, like a 10-day pro pass for customers on a starter plan.
- You want to provide an easy way for customers to buy ebooks, access to webinars, or other resources you offer.
How it works
One-time charges for a subscription are items that don't recur. The billing_cycle against the related price entity is null.
They're typically charged at the start of a subscription, like setup fees, or mid-cycle for things like incident support or data auditing. You can also use them to offer additional products, like ebooks, access to webinars, or other educational resources.
While you could create an entirely new transaction for additional products, billing them to the subscription lets you:
- Automatically-collect using the payment method on file for the subscription
No need to ask a customer for card details again. Use the billing details that you use to collect for subscription payments. - Add one-time charges to the next renewal
Collect for your one-time charges when you next collect for a subscription, offering an integrated experience.
As they're non-recurring, one-time charges aren't added to the items list against subscriptions. This list is just for recurring items.
Proration doesn't apply to one-time charges because they're not related to the billing period. Customers are always charged the full amount.
Related subscription changes
Billing for one-time charges is typically used when you want customers to pay for one-off fees or ad-hoc products.
Depending on what you're looking to do, you might also like to:
- Add items for new users, modules, or other recurring addons
Adding or removing users, modules, one-off fees, or other addons typically involves adding or removing items. For example, you might offer a module called "Advanced Reporting" that customers can subscribe to. - Replace items to upgrade or downgrade a subscription
Upgrading or downgrading a subscription plan typically involves replacing products. For example, you might replace a "Starter plan" product with a "Premium plan" product to upgrade.
Before you begin
You can't make changes to a subscription if the next billing period is within 30 minutes, or the subscription status is past_due.
To bill for one-time charges, you'll need to get the subscription ID for the subscription you want to change.
You can use the status query parameter when listing with the value active to get a list of active subscriptions.
You'll also need price IDs for the one-time prices that you want to bill for. One-time charges are prices where the billing_cycle is null. Use the recurring query parameter with the value false when listing prices with the API to return one-time prices.
Bill for one-time charges
Bill for one-time charges using the API in two steps:
- Preview charge Optional
Preview the charge before billing. Present this to customers if you offer an in-app workflow. - Create one-time charge
Send a request to bill for the one-time charge.
Preview charge Optional
Send a POST request to the /subscriptions/{subscription_id}/charge/preview endpoint to preview a one-time charge.
In your request, build an items array of one-time charge price IDs and quantities. Only prices where billing_cycle is null may be included. You don't need to include existing recurring items.
Include effective_from to control when Paddle bills:
immediately— creates a transaction for the charge right away.next_billing_period— adds the charge to the next renewal transaction.
When effective_from is immediately on an automatically-collected subscription, Paddle tries to collect right away. Optionally include on_payment_failure to control what happens if payment fails (defaults to prevent_change).
{ "effective_from": "next_billing_period", "items": [ { "price_id": "pri_01gsz98e27ak2tyhexptwc58yk", "quantity": 1 } ]}{ "data": { "status": "active", "customer_id": "ctm_01hw21d3hac6pe4wz04caz3kf4", "address_id": "add_01hw2ac15twq7c162p05qzq8c9", "business_id": null, "currency_code": "USD", "created_at": "2024-04-22T07:13:19.02Z", "updated_at": "2024-04-22T08:24:45.138Z", "started_at": "2024-04-22T07:13:18.412737Z", "first_billed_at": "2024-04-22T07:13:18.412737Z", "next_billed_at": "2025-04-22T07:13:18.412737Z", "paused_at": null, "canceled_at": null, "collection_mode": "automatic", "billing_details": null, "current_billing_period": { "starts_at": "2024-04-22T07:13:18.412737Z", "ends_at": "2025-04-22T07:13:18.412737Z" }, "billing_cycle": { "frequency": 1, "interval": "year" }, "recurring_transaction_details": { "tax_rates_used": [ { "tax_rate": "0", "totals": { "subtotal": "600000", "discount": "0", "tax": "0", "total": "600000" } } ], "totals": { "subtotal": "600000", "tax": "0", "discount": "0", "total": "600000", "fee": null, "credit": "0", "credit_to_balance": "0", "balance": "600000", "grand_total": "600000", "earnings": null, "currency_code": "USD", "exchange_rate": "1" }, "line_items": [ { "item_id": null, "price_id": "pri_01gsz8z1q1n00f12qt82y31smh", "quantity": 10, "totals": { "subtotal": "300000", "tax": "0", "discount": "0", "total": "300000" }, "product": { "id": "pro_01gsz4t5hdjse780zja8vvr7jg", "name": "AeroEdit Pro", "type": "standard", "tax_category": "standard", "description": "Designed for professional pilots, including all features plus in Basic plus compliance monitoring, route optimization, and third-party integrations.", "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", "import_meta": null, "created_at": "2023-02-23T12:43:46.605Z", "updated_at": "2024-04-05T15:53:44.687Z" }, "tax_rate": "0", "unit_totals": { "subtotal": "30000", "discount": "0", "tax": "0", "total": "30000" }, "proration": { "rate": "1", "billing_period": { "starts_at": "2024-04-22T07:13:18.412737Z", "ends_at": "2025-04-22T07:13:18.412737Z" } } }, { "item_id": null, "price_id": "pri_01gsz96z29d88jrmsf2ztbfgjg", "quantity": 1, "totals": { "subtotal": "300000", "tax": "0", "discount": "0", "total": "300000" }, "product": { "id": "pro_01gsz92krfzy3hcx5h5rtgnfwz", "name": "Reporting module", "type": "standard", "tax_category": "standard", "description": "Get access to comprehensive reports and customizable analytics dashboards.", "image_url": "https://paddle.s3.amazonaws.com/user/165798/qgyipKJwRtq98YNboipo_vip-support.png", "custom_data": null, "status": "active", "import_meta": null, "created_at": "2023-02-23T13:58:17.615Z", "updated_at": "2024-04-05T15:44:02.893Z" }, "tax_rate": "0", "unit_totals": { "subtotal": "300000", "discount": "0", "tax": "0", "total": "300000" }, "proration": { "rate": "1", "billing_period": { "starts_at": "2024-04-22T07:13:18.412737Z", "ends_at": "2025-04-22T07:13:18.412737Z" } } } ] }, "next_transaction": { "billing_period": { "starts_at": "2025-04-22T07:13:18.412737Z", "ends_at": "2026-04-22T07:13:18.412737Z" }, "details": { "tax_rates_used": [ { "tax_rate": "0", "totals": { "subtotal": "619900", "discount": "0", "tax": "0", "total": "619900" } } ], "totals": { "subtotal": "619900", "tax": "0", "discount": "0", "total": "619900", "fee": null, "credit": "0", "credit_to_balance": "0", "balance": "619900", "grand_total": "619900", "earnings": null, "currency_code": "USD", "exchange_rate": "1" }, "line_items": [ { "item_id": null, "price_id": "pri_01gsz8z1q1n00f12qt82y31smh", "quantity": 10, "totals": { "subtotal": "300000", "tax": "0", "discount": "0", "total": "300000" }, "product": { "id": "pro_01gsz4t5hdjse780zja8vvr7jg", "name": "AeroEdit Pro", "type": "standard", "tax_category": "standard", "description": "Designed for professional pilots, including all features plus in Basic plus compliance monitoring, route optimization, and third-party integrations.", "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", "import_meta": null, "created_at": "2023-02-23T12:43:46.605Z", "updated_at": "2024-04-05T15:53:44.687Z" }, "tax_rate": "0", "unit_totals": { "subtotal": "30000", "discount": "0", "tax": "0", "total": "30000" }, "proration": { "rate": "1", "billing_period": { "starts_at": "2025-04-22T07:13:18.412737Z", "ends_at": "2026-04-22T07:13:18.412737Z" } } }, { "item_id": null, "price_id": "pri_01gsz96z29d88jrmsf2ztbfgjg", "quantity": 1, "totals": { "subtotal": "300000", "tax": "0", "discount": "0", "total": "300000" }, "product": { "id": "pro_01gsz92krfzy3hcx5h5rtgnfwz", "name": "Reporting module", "type": "standard", "tax_category": "standard", "description": "Get access to comprehensive reports and customizable analytics dashboards.", "image_url": "https://paddle.s3.amazonaws.com/user/165798/qgyipKJwRtq98YNboipo_vip-support.png", "custom_data": null, "status": "active", "import_meta": null, "created_at": "2023-02-23T13:58:17.615Z", "updated_at": "2024-04-05T15:44:02.893Z" }, "tax_rate": "0", "unit_totals": { "subtotal": "300000", "discount": "0", "tax": "0", "total": "300000" }, "proration": { "rate": "1", "billing_period": { "starts_at": "2025-04-22T07:13:18.412737Z", "ends_at": "2026-04-22T07:13:18.412737Z" } } }, { "item_id": null, "price_id": "pri_01gsz98e27ak2tyhexptwc58yk", "quantity": 1, "totals": { "subtotal": "19900", "tax": "0", "discount": "0", "total": "19900" }, "product": { "id": "pro_01gsz97mq9pa4fkyy0wqenepkz", "name": "Custom domains", "type": "standard", "tax_category": "standard", "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.", "image_url": "https://paddle.s3.amazonaws.com/user/165798/XIG7UXoJQHmlIAiKcnkA_custom-domains.png", "custom_data": null, "status": "active", "import_meta": null, "created_at": "2023-02-23T14:01:02.441Z", "updated_at": "2024-04-05T15:43:28.971Z" }, "tax_rate": "0", "unit_totals": { "subtotal": "19900", "discount": "0", "tax": "0", "total": "19900" } } ] }, "adjustments": [] }, "immediate_transaction": null, "scheduled_change": null, "items": [ { "status": "active", "quantity": 10, "recurring": true, "created_at": "2024-04-22T07:13:19.02Z", "updated_at": "2024-04-22T07:13:19.02Z", "previously_billed_at": "2024-04-22T07:13:18.412737Z", "next_billed_at": "2025-04-22T07:13:18.412737Z", "trial_dates": null, "price": { "id": "pri_01gsz8z1q1n00f12qt82y31smh", "product_id": "pro_01gsz4t5hdjse780zja8vvr7jg", "type": "standard", "description": "Annual", "name": "Annual (per seat)", "tax_mode": "account_setting", "billing_cycle": { "frequency": 1, "interval": "year" }, "trial_period": null, "unit_price": { "amount": "30000", "currency_code": "USD" }, "unit_price_overrides": [], "custom_data": null, "status": "active", "quantity": { "minimum": 1, "maximum": 999 }, "import_meta": null, "created_at": "2023-02-23T13:56:20.833019Z", "updated_at": "2024-04-11T13:47:49.566301Z" } }, { "status": "active", "quantity": 1, "recurring": true, "created_at": "2024-04-22T07:13:19.02Z", "updated_at": "2024-04-22T07:13:19.02Z", "previously_billed_at": "2024-04-22T07:13:18.412737Z", "next_billed_at": "2025-04-22T07:13:18.412737Z", "trial_dates": null, "price": { "id": "pri_01gsz96z29d88jrmsf2ztbfgjg", "product_id": "pro_01gsz92krfzy3hcx5h5rtgnfwz", "type": "standard", "description": "Annual (recurring addon)", "name": "Annual (recurring addon)", "tax_mode": "account_setting", "billing_cycle": { "frequency": 1, "interval": "year" }, "trial_period": null, "unit_price": { "amount": "300000", "currency_code": "USD" }, "unit_price_overrides": [], "custom_data": null, "status": "active", "quantity": { "minimum": 1, "maximum": 1 }, "import_meta": null, "created_at": "2023-02-23T14:00:40.265185Z", "updated_at": "2024-03-25T14:31:18.587603Z" } } ], "custom_data": null, "management_urls": { "update_payment_method": "https://buyer-portal.paddle.com/subscriptions/sub_01hw2adtncz3kfj9tqhk3wcv3z/update-payment-method", "cancel": "https://buyer-portal.paddle.com/subscriptions/sub_01hw2adtncz3kfj9tqhk3wcv3z/cancel" }, "discount": null, "update_summary": { "credit": { "amount": "0", "currency_code": "USD" }, "charge": { "amount": "19900", "currency_code": "USD" }, "result": { "action": "charge", "amount": "19900", "currency_code": "USD" } }, "import_meta": null }, "meta": { "request_id": "32358cfb-addd-4cf6-8702-4950922ef384" }}Create one-time charge
Send a POST request to the /subscriptions/{subscription_id}/charge endpoint to bill for the one-time charge.
In your request, include the same body as the preview request.
One-time charges aren't held against the subscription entity, so the charges you billed for aren't returned in the response.
{ "effective_from": "next_billing_period", "items": [ { "price_id": "pri_01gsz98e27ak2tyhexptwc58yk", "quantity": 1 } ]}{ "data": { "id": "sub_01hw2adtncz3kfj9tqhk3wcv3z", "status": "active", "customer_id": "ctm_01hw21d3hac6pe4wz04caz3kf4", "address_id": "add_01hw2ac15twq7c162p05qzq8c9", "business_id": null, "currency_code": "USD", "created_at": "2024-04-22T07:13:19.02Z", "updated_at": "2024-04-22T08:25:51.744Z", "started_at": "2024-04-22T07:13:18.412737Z", "first_billed_at": "2024-04-22T07:13:18.412737Z", "next_billed_at": "2025-04-22T07:13:18.412737Z", "paused_at": null, "canceled_at": null, "collection_mode": "automatic", "billing_details": null, "current_billing_period": { "starts_at": "2024-04-22T07:13:18.412737Z", "ends_at": "2025-04-22T07:13:18.412737Z" }, "billing_cycle": { "frequency": 1, "interval": "year" }, "scheduled_change": null, "items": [ { "status": "active", "quantity": 10, "recurring": true, "created_at": "2024-04-22T07:13:19.02Z", "updated_at": "2024-04-22T07:13:19.02Z", "previously_billed_at": "2024-04-22T07:13:18.412737Z", "next_billed_at": "2025-04-22T07:13:18.412737Z", "trial_dates": null, "price": { "id": "pri_01gsz8z1q1n00f12qt82y31smh", "product_id": "pro_01gsz4t5hdjse780zja8vvr7jg", "type": "standard", "description": "Annual", "name": "Annual (per seat)", "tax_mode": "account_setting", "billing_cycle": { "frequency": 1, "interval": "year" }, "trial_period": null, "unit_price": { "amount": "30000", "currency_code": "USD" }, "unit_price_overrides": [], "custom_data": null, "status": "active", "quantity": { "minimum": 1, "maximum": 999 }, "import_meta": null, "created_at": "2023-02-23T13:56:20.833019Z", "updated_at": "2024-04-11T13:47:49.566301Z" } }, { "status": "active", "quantity": 1, "recurring": true, "created_at": "2024-04-22T07:13:19.02Z", "updated_at": "2024-04-22T07:13:19.02Z", "previously_billed_at": "2024-04-22T07:13:18.412737Z", "next_billed_at": "2025-04-22T07:13:18.412737Z", "trial_dates": null, "price": { "id": "pri_01gsz96z29d88jrmsf2ztbfgjg", "product_id": "pro_01gsz92krfzy3hcx5h5rtgnfwz", "type": "standard", "description": "Annual (recurring addon)", "name": "Annual (recurring addon)", "tax_mode": "account_setting", "billing_cycle": { "frequency": 1, "interval": "year" }, "trial_period": null, "unit_price": { "amount": "300000", "currency_code": "USD" }, "unit_price_overrides": [], "custom_data": null, "status": "active", "quantity": { "minimum": 1, "maximum": 1 }, "import_meta": null, "created_at": "2023-02-23T14:00:40.265185Z", "updated_at": "2024-03-25T14:31:18.587603Z" } } ], "custom_data": null, "management_urls": { "update_payment_method": "https://buyer-portal.paddle.com/subscriptions/sub_01hw2adtncz3kfj9tqhk3wcv3z/update-payment-method", "cancel": "https://buyer-portal.paddle.com/subscriptions/sub_01hw2adtncz3kfj9tqhk3wcv3z/cancel" }, "discount": null, "import_meta": null }, "meta": { "request_id": "668b5e0c-9ff9-4cdc-b33a-79bc1894d294" }}Get one-time charges
One-time charges aren't added to the subscription items list. This array is only for recurring items.
To get details of a one-time charge:
- Billed next billing period
When billed on thenext_billing_period, get the subscription you billed the charge to using the API and includenext_transaction. - Billed immediately
When billedimmediately, list transactions using the API and filter to see transactions for the subscription you billed the charge to.
Next billing period
When you bill for a one-time charge with effective_from as next_billing_period, Paddle adds it to the next renewal transaction.
You can see the one-time charge by getting the subscription that you billed the charge to, using the include query parameter to return the next_transaction. One-time charges are detailed in next_transaction.details.line_items, along with any recurring items.
One-time charges appear in next_transaction.details.line_items alongside recurring items.
{ "data": { "id": "sub_01h3h3a9sfpr5syq38tq0sd4sp", "status": "active", "customer_id": "ctm_01h3h38xn5c2701bb5eecy9m6a", "address_id": "add_01h3h38xqmv1xy0tjsnj0g1ke5", "business_id": null, "currency_code": "USD", "created_at": "2023-06-22T08:25:14.287455Z", "updated_at": "2023-08-22T11:05:09.319083Z", "started_at": "2023-06-22T08:25:12.565118Z", "first_billed_at": "2023-06-22T08:25:12.565118Z", "next_billed_at": "2023-09-22T08:25:12.565118Z", "paused_at": null, "canceled_at": null, "collection_mode": "automatic", "billing_details": null, "current_billing_period": { "starts_at": "2023-08-22T08:25:12.565118Z", "ends_at": "2023-09-22T08:25:12.565118Z" }, "billing_cycle": { "frequency": 1, "interval": "month" }, "next_transaction": { "billing_period": { "starts_at": "2023-09-22T08:25:12.565118Z", "ends_at": "2023-10-22T08:25:12.565118Z" }, "details": { "tax_rates_used": [ { "tax_rate": "0.08875", "totals": { "subtotal": "119900", "discount": "0", "tax": "10640", "total": "130540" } } ], "totals": { "subtotal": "119900", "tax": "10640", "discount": "0", "total": "130540", "fee": null, "credit": "0", "balance": "130540", "grand_total": "130540", "earnings": null, "currency_code": "USD" }, "line_items": [ { "price_id": "pri_01gsz8x8sawmvhz1pv30nge1ke", "quantity": 30, "totals": { "subtotal": "90000", "tax": "7987", "discount": "0", "total": "97987" }, "product": { "id": "pro_01gsz4t5hdjse780zja8vvr7jg", "name": "ChatApp Pro", "description": "Everything in basic, plus access to a suite of powerful tools and features designed to take your team's productivity to the next level.", "tax_category": "standard", "image_url": "https://paddle-sandbox.s3.amazonaws.com/user/10889/2nmP8MQSret0aWeDemRw_icon1.png", "status": "active" }, "tax_rate": "0.08875", "unit_totals": { "subtotal": "3000", "discount": "0", "tax": "266", "total": "3266" } }, { "price_id": "pri_01h1vjfevh5etwq3rb416a23h2", "quantity": 1, "totals": { "subtotal": "10000", "tax": "887", "discount": "0", "total": "10887" }, "product": { "id": "pro_01h1vjes1y163xfj1rh1tkfb65", "name": "Voice rooms addon", "description": "Create voice rooms in your chats to work in real time alongside your colleagues. Includes unlimited voice rooms and recording backup for compliance.", "tax_category": "standard", "image_url": "https://paddle-sandbox.s3.amazonaws.com/user/10889/GcZzBjXRfiraensppgtQ_icon2.png", "status": "active" }, "tax_rate": "0.08875", "unit_totals": { "subtotal": "10000", "discount": "0", "tax": "887", "total": "10887" } }, { "price_id": "pri_01gsz98e27ak2tyhexptwc58yk", "quantity": 1, "totals": { "subtotal": "19900", "tax": "1766", "discount": "0", "total": "21666" }, "product": { "id": "pro_01gsz97mq9pa4fkyy0wqenepkz", "name": "Custom domains", "description": "Make ChatApp truly your own with custom domains! Custom domains reinforce your brand identity and make it easy for your team to access ChatApp.", "tax_category": "standard", "image_url": "https://paddle-sandbox.s3.amazonaws.com/user/10889/SW3OevDQ92dUHSkN5a2x_icon3.png", "status": "active" }, "tax_rate": "0.08875", "unit_totals": { "subtotal": "19900", "discount": "0", "tax": "1766", "total": "21666" } } ] }, "adjustments": [] }, "scheduled_change": null, "items": [ { "status": "active", "quantity": 30, "recurring": true, "created_at": "2023-06-22T08:25:14.287456Z", "updated_at": "2023-08-22T08:32:24.552996Z", "previously_billed_at": "2023-08-22T08:25:12.565118Z", "next_billed_at": "2023-09-22T08:25:12.565118Z", "price": { "id": "pri_01gsz8x8sawmvhz1pv30nge1ke", "product_id": "pro_01gsz4t5hdjse780zja8vvr7jg", "description": "Monthly (per seat)", "tax_mode": "account_setting", "billing_cycle": { "frequency": 1, "interval": "month" }, "trial_period": null, "unit_price": { "amount": "3266", "currency_code": "USD" } } }, { "status": "active", "quantity": 1, "recurring": true, "created_at": "2023-06-22T08:40:45.808402Z", "updated_at": "2023-08-22T08:26:06.361047Z", "previously_billed_at": "2023-08-22T08:25:12.565118Z", "next_billed_at": "2023-09-22T08:25:12.565118Z", "price": { "id": "pri_01h1vjfevh5etwq3rb416a23h2", "product_id": "pro_01h1vjes1y163xfj1rh1tkfb65", "description": "Monthly (recurring addon)", "tax_mode": "account_setting", "billing_cycle": { "frequency": 1, "interval": "month" }, "trial_period": null, "unit_price": { "amount": "10887", "currency_code": "USD" } } } ], "custom_data": null, "management_urls": { "update_payment_method": "https://buyer-portal.paddle.com/subscriptions/sub_01h3h3a9sfpr5syq38tq0sd4sp/update-payment-method", "cancel": "https://buyer-portal.paddle.com/subscriptions/sub_01h3h3a9sfpr5syq38tq0sd4sp/cancel" }, "discount": null }, "meta": { "request_id": "ef7c55d7-17dd-4ca3-b4b7-88eab28c4a88" }}Immediately
When you bill for a one-time charge with effective_from as immediately, Paddle creates a transaction for it right away.
You can see the one-time charge by listing transactions, filtering to see transactions for the subscription you billed the charge to. The origin against the transaction is subscription_charge, which you may also filter for.
If you've subscribed to notifications for transaction events, transaction.created occurs when you bill for one-time charges. The notification includes the complete transaction entity. You can check transaction.line_items to get information about one-time charges.
Filter by subscription_id and origin=subscription_charge to find the transaction Paddle created for the immediate charge.
{ "data": [ { "id": "txn_01h3kvj0hs5e3q1d53g5jnfbg3", "status": "completed", "customer_id": "ctm_01h3h38xn5c2701bb5eecy9m6a", "address_id": "add_01h3h38xqmv1xy0tjsnj0g1ke5", "business_id": null, "custom_data": null, "origin": "subscription_charge", "collection_mode": "automatic", "subscription_id": "sub_01h3h3a9sfpr5syq38tq0sd4sp", "invoice_id": "inv_01h3kvj4zfm911d3p0qbtg5ksf", "invoice_number": "325-10054", "billing_details": null, "billing_period": { "starts_at": "2023-08-22T08:25:12.565118Z", "ends_at": "2023-09-22T08:25:12.565118Z" }, "currency_code": "USD", "discount_id": null, "created_at": "2023-06-23T10:07:22.016044Z", "updated_at": "2023-06-23T10:07:28.398885Z", "billed_at": "2023-06-23T10:07:21.657018Z", "items": [ { "price": { "id": "pri_01gsz98e27ak2tyhexptwc58yk", "description": "One-time charge", "name": null, "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" }, "quantity": 1 } ], "details": { "tax_rates_used": [ { "tax_rate": "0.08875", "totals": { "subtotal": "19900", "discount": "0", "tax": "1766", "total": "21666" } } ], "totals": { "subtotal": "19900", "tax": "1766", "discount": "0", "total": "21666", "grand_total": "21666", "fee": "1133", "credit": "0", "credit_to_balance": "0", "balance": "0", "earnings": "18767", "currency_code": "USD" }, "adjusted_totals": { "subtotal": "19900", "tax": "1766", "total": "21666", "grand_total": "21666", "fee": "1133", "earnings": "18767", "currency_code": "USD" }, "payout_totals": { "subtotal": "19900", "tax": "1766", "discount": "0", "total": "21666", "credit": "0", "credit_to_balance": "0", "balance": "0", "grand_total": "21666", "fee": "1133", "earnings": "18767", "currency_code": "USD" }, "adjusted_payout_totals": { "subtotal": "19900", "tax": "1766", "total": "21666", "fee": "1133", "chargeback_fee": { "amount": "0", "original": null }, "earnings": "18767", "currency_code": "USD" }, "line_items": [ { "id": "txnitm_01h3kvj0wdxb2sk9kfbdev4td3", "price_id": "pri_01gsz98e27ak2tyhexptwc58yk", "quantity": 1, "totals": { "subtotal": "19900", "tax": "1766", "discount": "0", "total": "21666" }, "product": { "id": "pro_01gsz97mq9pa4fkyy0wqenepkz", "name": "Custom domains", "description": "Make ChatApp truly your own with custom domains! Custom domains reinforce your brand identity and make it easy for your team to access ChatApp.", "tax_category": "standard", "image_url": "https://paddle-sandbox.s3.amazonaws.com/user/10889/SW3OevDQ92dUHSkN5a2x_icon3.png", "custom_data": { "crm_id": "ABC" }, "status": "active" }, "tax_rate": "0.08875", "unit_totals": { "subtotal": "19900", "tax": "1766", "discount": "0", "total": "21666" } } ] }, "payments": [ { "payment_attempt_id": "2a130821-0b45-4ecc-b904-43751c3c6f3a", "stored_payment_method_id": "badbd3d8-df98-4aa4-b7ba-5e9ad85b4488", "amount": "21666", "status": "captured", "error_code": null, "method_details": { "type": "card", "card": { "type": "visa", "last4": "4242", "expiry_month": 1, "expiry_year": 2026, "cardholder_name": "Michael McGovern" } }, "created_at": "2023-06-23T10:07:22.168002Z", "captured_at": "2023-06-23T10:07:24.494689Z" } ], "checkout": { "url": "https://aeroedit.com/pay?_ptxn=txn_01h3kvj0hs5e3q1d53g5jnfbg3" } } ], "meta": { "request_id": "9aaac805-234b-4669-92f0-222bae87875b", "pagination": { "per_page": 30, "next": "https://api.paddle.com/transactions?after=txn_01h3kvj0hs5e3q1d53g5jnfbg3&subscription_id=sub_01h3h3a9sfpr5syq38tq0sd4sp&origin=subscription_charge", "has_more": false, "estimated_total": 1 } }}Events
transaction.created | Occurs when a transaction is created. |
subscription.updated | Occurs when a subscription is updated. |