Subscriptions via API
Subscriptions with R$ 0.50 per Pix charge and automatic invoicing.
Create the plan via API, the customer pays, the money lands and the invoice ships. No platform monthly, no price on request: you only pay when the subscriber pays.
Open sandbox, assisted migration from another platform.
-
Pix charge
R$ 0.50 flat
-
Platform monthly
R$ 0
-
Invoice per cycle
Included
How it works
Plan created, charge automatic
One endpoint creates the plan. Another creates the subscription. From there, charging and invoicing run themselves each cycle.
Create the plan
Name, amount, interval (weekly, monthly, annual) and retry policy. A POST to /plans, an id that becomes the reference.
Customer authorizes
They pick Pix or card, authorize recurring billing and you get the subscription.active webhook with the subscriber id.
It charges and issues invoices
Each cycle, Pix or card charge, retry if it fails and invoice issued right after. You follow along by webhook.
Features
Built for people who live off recurring
Features specialists charge for as premium: standard here.
No platform monthly
Recurring specialists typically charge R$ 100 to R$ 300 per month just to start. Here you pay per received charge, and nothing else.
Card retries
Declined charges return in 3, 7 and 14 days, with a webhook per attempt. No code from you, no separate plan.
Automatic invoice per cycle
Each billed month generates an invoice. A single request, without hiring a separate issuer or reconciling two systems.
Subscription via Pix
Charge via Pix Automático when available or via Pix reminder on the date. Your customer's card limit isn't blocked.
Portability, no drama
Export the subscriber base via endpoint, portable card tokens for another brand. No platform lock-in.
Webhook per event
created, renewed, failed, cancelled, expired: each state change is a signed event landing at your server.
Proof
Subscription + invoice in one POST
Open sandbox and key in two clicks. You create plan, subscriber and invoice straight from tests, without a sales call.
import { Ducavo } from '@ducavo/sdk';
const ducavo = new Ducavo(process.env.DUCAVO_SECRET_KEY);
// Plano mensal de R$ 49,90
const plan = await ducavo.plans.create({
name: 'Pro Mensal',
amount: 4990,
interval: 'month',
intervalCount: 1
});
// Cria a assinatura: cobra Pix + emite NF a cada ciclo, automático
const sub = await ducavo.subscriptions.create({
plan: plan.id,
customer: customerId,
method: 'pix',
invoice: { issue: true, cfop: '5102' },
retryStrategy: 'exponential' // 3, 7 e 14 dias
});
// Webhook 'subscription.renewed' com { subscriptionId, cycle, invoiceUrl }One POST creates a plan, charges Pix and issues invoice per cycle.
Pricing
You only pay when the subscriber pays
Platform monthly: R$ 0. Setup: R$ 0. Charging uses the method's fee, and nothing beyond that.
| Recurring by Pix per charge | R$ 0,50 |
| Recurring by card per installment | 0,50% + R$ 0,05 |
| Invoice per cycle no extra cost | R$ 0,49 |
| Platform monthly | Free |
Fiscal edge
Each charged month is an issued invoice
Recurring platforms usually outsource invoicing to a separate integration. Here, a field on the plan fires issuance per cycle.
- Invoice per renewal, no extra code
- Invoice cancellation on refund
- PDF and XML on the cycle webhook
await ducavo.subscriptions.create({
plan: 'plan_pro_monthly',
customer: customerId,
method: 'pix',
invoice: {
issue: true,
cfop: '5102'
}});FAQ
Frequently asked questions about subscriptions
How much does recurring billing cost on Ducavo?
R$ 0.50 per received Pix charge. Card uses the per-tier fee published on /pricing. Invoicing per cycle is included. Platform monthly: R$ 0.
What's the difference between recurring and installments?
Installments split a single sale into scheduled payments. Recurring is a new charge each cycle, with no end date. On Ducavo, you have both on the same endpoint, with different retry policies for each.
Does subscription via Pix block the card limit?
No. Pix subscription sends a Pix reminder on the cycle date (or uses Pix Automático when the customer's bank supports it). Because the customer pays from balance, the card limit is never blocked.
What if the card fails?
Automatic retries at 3, 7 and 14 days. Each attempt fires a subscription.charge.failed webhook with the reason. After the last attempt, the subscription moves to past_due and you decide whether to cancel.
How do I migrate my subscriptions from another platform?
If your current provider returns the PCI token, we import it and the next cycle already charges via Ducavo. If not, we migrate by assisted reauthorization: export the base and send the new authorization link to each subscriber.
Do I need to talk to sales to start?
No. Self-service, test key in two clicks, open sandbox. If you want to talk, there's an optional 30-min meeting. Other recurring platforms typically require a sales call; Ducavo doesn't.
Payment methods
Everything you need to get paid
One API, every payment method. Integrate once and offer Pix, card, boleto and more.
Start billing recurring today
Open sandbox, first plan in two minutes, assisted migration when you come from another platform.