Referência da API
Criar transação (BOB)
Cria uma transação de entrada em BOB (bolivianos) por QR. Mesmo endpoint do PIX — POST /transactions/v2/purchase — mudando currency para "BOB". O payload do QR NÃO vem nesta resposta — chega alguns segundos depois, por GET /transactions/:id. Conceitos e fluxo completo em Bolívia (BOB).
/transactions/v2/purchaseqr Quem abre o seu checkout no celular não consegue escanear, com o mesmo celular, um QR exibido na tela dele. Renderize a imagem e, logo abaixo, o mesmo payload como texto com botão copiar — o campo qr serve para os dois. Ignorar isso trava o comprador numa tela que parece funcionar.Autenticação
HTTP Basic Auth. Envie sua secret key no header:
Authorization: Basic {base64(secret:SUA_SECRET_KEY)}Parâmetros
namestringobrigatórioNome completo do pagador (máximo 255 caracteres).
Exemplo: Ana Flores
emailstringobrigatórioE-mail válido do pagador. Obrigatório na Bolívia — a rede recusa a cobrança sem ele.
Exemplo: ana@ejemplo.com
phonestringobrigatórioTelefone do pagador com DDI. Obrigatório na Bolívia.
Exemplo: 59171234567
amountnumberobrigatórioValor em centavos de boliviano. Bs 100,00 = 10000. A rede aceita de BOB 10 a BOB 10.000 por transação — a faixa mais estreita entre as moedas que operamos.
Exemplo: 10000
descriptionstringobrigatórioDescrição curta da transação que aparece no comprovante do pagador.
Exemplo: Suscripción Pro
responsibleDocumentstringobrigatórioDocumento do pagador boliviano — CI, NIT ou PAS. Obrigatório.
Exemplo: 1234567
responsibleExternalIdstringobrigatórioID interno do responsável no seu sistema (ex: ID do vendedor, ID da conta).
Exemplo: user-1234
currency'BOB'obrigatórioCódigo da moeda. Para Bolívia use "BOB". O amount continua em CENTAVOS (10000 = Bs 100,00). Omitir currency cai no padrão BRL (PIX).
Exemplo: BOB
paymentMethod'QR'opcionalOpcional para currency: BOB — default QR. (No BRL, PIX é obrigatório.)
Exemplo: QR
cpfstringopcionalNão usado em BOB — é um documento brasileiro. O documento do pagador boliviano vai em responsibleDocument.
externalIdstringopcionalSua referência para essa transação. Retornada em GET /transactions/:id?searchBy=externalId e em todo webhook vinculado a essa transação.
Exemplo: pedido-5678
postbackUrlstringopcionalURL de webhook para eventos dessa transação. Se omitido, usa a URL global do dashboard.
Exemplo: https://seu-dominio.com/webhook
Body da requisição
Content-Type: application/json
{
"name": "Ana Flores",
"email": "ana@ejemplo.com",
"phone": "59171234567",
"amount": 10000,
"currency": "BOB",
"description": "Suscripción Pro",
"responsibleDocument": "1234567",
"responsibleExternalId": "user-1234",
"externalId": "pedido-5678",
"postbackUrl": "https://seu-dominio.com/webhook"
}Respostas
Cobrança criada. qr vem vazio — é o esperado: o payload é gerado pela rede boliviana e chega em alguns segundos. Busque em GET /transactions/:id até vir preenchido. status fica PENDING até o pagamento cair (webhook cashin.paid).
{
"id": "17864385245624641191295936",
"currency": "BOB",
"method": "QR",
"installments": null,
"externalId": "pedido-5678",
"status": "PENDING",
"amount": 10000,
"postbackUrl": "https://seu-dominio.com/webhook",
"referrerUrl": null,
"qr": null,
"expiresAt": null,
"createdAt": "2026-09-02T08:55:24.748Z",
"costFee": 300
}Erro de validação — inclui valor fora da faixa aceita pela rede (BOB 10 a BOB 10.000) e falta de phone, email ou documento do pagador.
{
"statusCode": 400,
"message": "The 'amount' is outside the range accepted for BOB.",
"error": "Bad Request"
}API key inválida ou ausente.
{ "statusCode": 401, "message": "Unauthorized" }API key sem a permissão createTransaction.
{ "statusCode": 403, "message": "Forbidden" }Exemplos
curl -X POST "https://api.ihubplay.com/transactions/v2/purchase" \
-H "Authorization: Basic $(echo -n 'secret:SUA_SECRET_KEY' | base64)" \
-H "Content-Type: application/json" \
-d '{
"name": "Ana Flores",
"email": "ana@ejemplo.com",
"phone": "59171234567",
"amount": 10000,
"currency": "BOB",
"description": "Suscripción Pro",
"responsibleDocument": "1234567",
"responsibleExternalId": "user-1234",
"postbackUrl": "https://seu-dominio.com/webhook"
}'