Invoice Previews
Create an Invoice Preview
Pré-visualiza a invoice de uma alteração de assinatura.
curl -X POST "https://api.chargefy.io/v1/invoice-previews" \
-H "Authorization: Bearer {{API_KEY}}" \
-H "Content-Type: application/json" \
-d '{
"subscription": "sub_123",
"subscription_details": {
"items": [
{
"id": "si_123",
"price": "price_pro"
}
]
}
}'
{
"object": "invoice_preview",
"amount_credit_balance_applied": 0,
"amount_discount": 0,
"amount_due": 5000,
"amount_subtotal": 5000,
"amount_tax": 0,
"amount_total": 5000,
"currency": "brl",
"customer": "cus_123",
"ending_balance": 0,
"line_items": [
{
"object": "invoice_preview_line_item",
"amount_discount": 0,
"amount_subtotal": -5000,
"amount_tax": 0,
"amount_total": -5000,
"currency": "brl",
"description": "Unused time on previous price",
"discountable": false,
"metadata": {},
"period_end": "2026-06-01T00:00:00Z",
"period_start": "2026-05-16T00:00:00Z",
"price": "price_basic",
"price_data": null,
"product": "prod_123",
"proration": true,
"proration_details": {
"credited_items": null
},
"quantity": 1,
"recurring_interval": "month",
"recurring_interval_count": 1,
"subscription_item": "si_123",
"unit_amount": -5000
},
{
"object": "invoice_preview_line_item",
"amount_discount": 0,
"amount_subtotal": 10000,
"amount_tax": 0,
"amount_total": 10000,
"currency": "brl",
"description": "Remaining time on new price",
"discountable": false,
"metadata": {},
"period_end": "2026-06-01T00:00:00Z",
"period_start": "2026-05-16T00:00:00Z",
"price": "price_pro",
"price_data": null,
"product": "prod_123",
"proration": true,
"proration_details": {
"credited_items": null
},
"quantity": 1,
"recurring_interval": "month",
"recurring_interval_count": 1,
"subscription_item": "si_123",
"unit_amount": 10000
}
],
"livemode": true,
"starting_balance": 0,
"subscription": "sub_123"
}
Cria uma preview de invoice para uma alteração de assinatura. Use o mesmo
payload de
items que seria enviado no update da subscription.
Subscription que será alterada (
sub_*).Alterações nos itens da assinatura. Use
id para atualizar um item,
deleted: true para remover, ou omita id para adicionar um novo item.create_prorations, always_invoice ou none. Padrão:
create_prorations.Timestamp ISO 8601 usado para calcular a parte restante do ciclo.
curl -X POST "https://api.chargefy.io/v1/invoice-previews" \
-H "Authorization: Bearer {{API_KEY}}" \
-H "Content-Type: application/json" \
-d '{
"subscription": "sub_123",
"subscription_details": {
"items": [
{
"id": "si_123",
"price": "price_pro"
}
]
}
}'
{
"object": "invoice_preview",
"amount_credit_balance_applied": 0,
"amount_discount": 0,
"amount_due": 5000,
"amount_subtotal": 5000,
"amount_tax": 0,
"amount_total": 5000,
"currency": "brl",
"customer": "cus_123",
"ending_balance": 0,
"line_items": [
{
"object": "invoice_preview_line_item",
"amount_discount": 0,
"amount_subtotal": -5000,
"amount_tax": 0,
"amount_total": -5000,
"currency": "brl",
"description": "Unused time on previous price",
"discountable": false,
"metadata": {},
"period_end": "2026-06-01T00:00:00Z",
"period_start": "2026-05-16T00:00:00Z",
"price": "price_basic",
"price_data": null,
"product": "prod_123",
"proration": true,
"proration_details": {
"credited_items": null
},
"quantity": 1,
"recurring_interval": "month",
"recurring_interval_count": 1,
"subscription_item": "si_123",
"unit_amount": -5000
},
{
"object": "invoice_preview_line_item",
"amount_discount": 0,
"amount_subtotal": 10000,
"amount_tax": 0,
"amount_total": 10000,
"currency": "brl",
"description": "Remaining time on new price",
"discountable": false,
"metadata": {},
"period_end": "2026-06-01T00:00:00Z",
"period_start": "2026-05-16T00:00:00Z",
"price": "price_pro",
"price_data": null,
"product": "prod_123",
"proration": true,
"proration_details": {
"credited_items": null
},
"quantity": 1,
"recurring_interval": "month",
"recurring_interval_count": 1,
"subscription_item": "si_123",
"unit_amount": 10000
}
],
"livemode": true,
"starting_balance": 0,
"subscription": "sub_123"
}
⌘I
curl -X POST "https://api.chargefy.io/v1/invoice-previews" \
-H "Authorization: Bearer {{API_KEY}}" \
-H "Content-Type: application/json" \
-d '{
"subscription": "sub_123",
"subscription_details": {
"items": [
{
"id": "si_123",
"price": "price_pro"
}
]
}
}'
{
"object": "invoice_preview",
"amount_credit_balance_applied": 0,
"amount_discount": 0,
"amount_due": 5000,
"amount_subtotal": 5000,
"amount_tax": 0,
"amount_total": 5000,
"currency": "brl",
"customer": "cus_123",
"ending_balance": 0,
"line_items": [
{
"object": "invoice_preview_line_item",
"amount_discount": 0,
"amount_subtotal": -5000,
"amount_tax": 0,
"amount_total": -5000,
"currency": "brl",
"description": "Unused time on previous price",
"discountable": false,
"metadata": {},
"period_end": "2026-06-01T00:00:00Z",
"period_start": "2026-05-16T00:00:00Z",
"price": "price_basic",
"price_data": null,
"product": "prod_123",
"proration": true,
"proration_details": {
"credited_items": null
},
"quantity": 1,
"recurring_interval": "month",
"recurring_interval_count": 1,
"subscription_item": "si_123",
"unit_amount": -5000
},
{
"object": "invoice_preview_line_item",
"amount_discount": 0,
"amount_subtotal": 10000,
"amount_tax": 0,
"amount_total": 10000,
"currency": "brl",
"description": "Remaining time on new price",
"discountable": false,
"metadata": {},
"period_end": "2026-06-01T00:00:00Z",
"period_start": "2026-05-16T00:00:00Z",
"price": "price_pro",
"price_data": null,
"product": "prod_123",
"proration": true,
"proration_details": {
"credited_items": null
},
"quantity": 1,
"recurring_interval": "month",
"recurring_interval_count": 1,
"subscription_item": "si_123",
"unit_amount": 10000
}
],
"livemode": true,
"starting_balance": 0,
"subscription": "sub_123"
}

