Pular para o conteúdo

Commerce

Produtos, pedidos e assinaturas

Organize o catálogo, publique ofertas e acompanhe o contrato comercial sem confundir pedido com tentativa financeira.

Produtos e ofertas

POST/api/v1/products
POST/api/v1/offers

Valores usam centavos. Uma oferta pode ser de pagamento único ou recorrente e devolve uma URL de checkout hospedado.

cURL
curl https://api.verdinpay.com/api/v1/products \
  -H "Authorization: Bearer vrd_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Curso de vendas",
    "type": "DIGITAL",
    "offer": { "name": "Oferta principal", "amount": 19700, "slug": "curso-vendas" }
  }'

Checkout e pedidos

POST/api/v1/checkout-sessions
GET/api/v1/orders/:id

A sessão mede abertura, identificação, abandono e conversão. O pedido congela itens, desconto e atribuição; a cobrança continua sendo a fonte da liquidação financeira.

Idempotência obrigatória

Envie Idempotency-Key em cobranças, transferências e reembolsos. Repetir a mesma chave e o mesmo corpo devolve o resultado anterior; trocar o corpo retorna conflito.

Assinaturas

GET/api/v1/subscriptions
POST/api/v1/subscriptions/:id/cancel

Crie uma oferta recorrente. Cada ciclo gera uma fatura e cada tentativa financeira aponta para sua cobrança. Estados disponíveis: trialing, active, past_due, canceled e expired.

cURL
curl https://api.verdinpay.com/api/v1/offers \
  -H "Authorization: Bearer vrd_live_..." \
  -H "Content-Type: application/json" \
  -d '{
    "product_id": "prod_...",
    "name": "Plano mensal",
    "amount": 3990,
    "billing_type": "RECURRING",
    "interval": "MONTH",
    "interval_count": 1
  }'

Eventos

Assine checkout.started, order.paid, fulfillment.delivered, subscription.renewed e commission.available. Todas as entregas usam HMAC, timeout, retry persistido e histórico no painel.