Docs API
Download OpenAPI specification:
API pública de Checkout consignado da HibouPay.
Crie uma sessão, redirecione o comprador para a checkoutUrl e receba notificações (webhook) quando o pagamento for aprovado, negado, cancelado ou expirado.
Como integrar: qualquer linguagem via HTTP contra este contrato OpenAPI; o SDK TypeScript (@hiboupay/api-client) é conveniência sobre o mesmo contrato.
Autenticação por X-Api-Key. Credenciais e segredo de webhook: painel HibouPay ou onboarding comercial.
Cria a sessão e devolve a checkoutUrl (link de uso único) para redirecionar o comprador. Idempotente por (merchantId, platformPaymentId) via Idempotency-Key.
| Idempotency-Key required | string non-empty Idempotência de mutações. Chave lógica do create = (merchantId, platformPaymentId). |
| X-Signature | string Assinatura HMAC do corpo da requisição (opcional; uso interno/reservado). |
| X-Timestamp | string Timestamp para anti-replay do HMAC (par de X-Signature). |
| merchantId required | string <uuid> |
| platform required | string Enum: "vtex" "magento" "nuvemshop" "woocommerce" "api" "shopify" Plataforma de origem. Lojas de integração direta (sem plataforma de e-commerce) usam |
| platformPaymentId required | string non-empty Idempotência lógica com merchantId. |
| platformCallbackUrl required | string <uri> Onde a HibouPay notifica a loja (webhook de saída). |
| returnUrl required | string <uri> Para onde devolver o comprador ao fim do checkout. |
required | object (Order) |
{- "merchantId": "c3073b9d-edd0-49f2-a28d-b7ded8ff9a8b",
- "platform": "vtex",
- "platformPaymentId": "string",
- "order": {
- "orderId": "string",
- "amountCents": 0,
- "currency": "BRL",
- "items": [
- {
- "sku": "string",
- "description": "string",
- "quantity": 1,
- "unitAmountCents": 0
}
], - "buyer": {
- "document": "string",
- "name": "string",
- "email": "user@example.com",
- "phone": "stringst",
- "birthDate": "string",
- "address": {
- "addressName": "string",
- "number": "string",
- "complement": "string",
- "district": "string",
- "city": "string",
- "uf": "st",
- "zipCode": "string"
}, - "civilStatus": "Single",
- "nationality": "string",
- "motherName": "string",
- "identityDocument": {
- "type": "RG",
- "number": "string",
- "issuer": "string",
- "issueDate": "string"
}
}
}
}{- "sessionId": "f6567dd8-e069-418e-8893-7d22fcf12459",
- "expiresAt": "2019-08-24T14:15:22Z"
}Consulta de status para a loja (status da sessão + outcome agregado; sem dados pessoais).
| sessionId required | string <uuid> |
{- "sessionId": "f6567dd8-e069-418e-8893-7d22fcf12459",
- "state": "string",
- "outcome": "PENDING"
}Cancela a sessão se ela ainda não estiver terminal; nunca desfaz um pagamento que já foi liquidado. Idempotente: sessão já terminal retorna o status atual.
| sessionId required | string <uuid> |
| Idempotency-Key required | string non-empty Idempotência de mutações. Chave lógica do create = (merchantId, platformPaymentId). |
| reason | string <= 280 characters |
{- "reason": "string"
}{- "sessionId": "f6567dd8-e069-418e-8893-7d22fcf12459",
- "state": "string",
- "outcome": "PENDING"
}A HibouPay entrega ao callbackUrl configurado por merchant. At-least-once (retry + dedupe por X-HibouPay-Delivery-Id); a loja deve ser idempotente. Assinatura HMAC-SHA256 (X-HibouPay-Signature, payload {t}.{rawBody}) para verificação de autenticidade. payment.approved dispara somente depois que o pagamento foi liquidado.
| X-HibouPay-Delivery-Id required | string Id único da entrega (dedupe idempotente na loja). |
| X-HibouPay-Signature required | string Assinatura HMAC-SHA256 do corpo ( |
| X-HibouPay-Timestamp required | string Timestamp para anti-replay. |
| event required | string Enum: "payment.approved" "payment.denied" "session.cancelled" "session.expired" |
| sessionId required | string <uuid> |
| platformPaymentId required | string non-empty |
| outcome required | string Enum: "APPROVED" "DENIED" "CANCELLED" "EXPIRED" |
| authorizationId | string Ref do desembolso, presente quando payment.approved. |
| reason | string |
| occurredAt required | string <date-time> |
{- "event": "payment.approved",
- "sessionId": "f6567dd8-e069-418e-8893-7d22fcf12459",
- "platformPaymentId": "string",
- "outcome": "APPROVED",
- "authorizationId": "string",
- "reason": "string",
- "occurredAt": "2019-08-24T14:15:22Z"
}