iHubGamesiHubGamesdocs

Referência da API

Criar transação (Cartão — token)

Cobrança de cartão no MODELO A (token). O cartão é tokenizado no navegador com a iHubGames.js (o número nunca toca o seu servidor) e você envia só o token. Se o emissor exigir 3D Secure, a resposta vem com requiresAction + clientSecret pra apresentar o desafio no navegador. Fluxo completo no guia Pagamentos via API.

POST/transactions/v2/purchase

Autenticação

HTTP Basic Auth. Envie sua secret key no header:

Authorization: Basic {base64(secret:SUA_SECRET_KEY)}

Parâmetros

creditCard.tokenstringobrigatório

Token do cartão gerado pela iHubGames.js no navegador (Modelo A).

creditCard.holderstringobrigatório

Nome impresso no cartão.

creditCard.installmentsnumberobrigatório

Parcelas (1..N). Só > 1 se a config permitir.

creditCard.last4 / brandstringopcional

Opcionais — a iHubGames.js já devolve.

Body da requisição

Content-Type: application/json

JSON
{
  "name": "João Silva",
  "email": "joaosilva@exemplo.com",
  "cpf": "12345678901",
  "amount": 1000,
  "description": "Pedido 1234",
  "externalId": "pedido-5678",
  "paymentMethod": "CREDIT_CARD",
  "currency": "BRL",
  "creditCard": {
    "token": "<token da iHubGames.js>",
    "holder": "JOAO SILVA",
    "installments": 1
  }
}

Respostas

200

Aprovado direto (cartão sem 3D Secure).

JSON
{
  "id": "17913320791467683016950003",
  "currency": "BRL",
  "method": "CREDIT_CARD",
  "installments": 1,
  "externalId": "pedido-5678",
  "status": "APPROVED",
  "amount": 1000,
  "postbackUrl": "https://seu-dominio.com/webhook",
  "referrerUrl": null,
  "pixCode": null,
  "expiresAt": null,
  "createdAt": "2026-10-07T00:14:40.893Z",
  "costFee": 2
}
200

Exige 3D Secure — a resposta traz requiresAction: true + clientSecret (os demais campos do objeto de transação vêm iguais). Apresente o desafio no navegador com iHubGames.card({ tokenizationKey }).confirmAction(clientSecret).

JSON
{
  "id": "17913320791467683016950003",
  "currency": "BRL",
  "method": "CREDIT_CARD",
  "installments": 1,
  "externalId": "pedido-5678",
  "status": "PENDING",
  "amount": 1000,
  "postbackUrl": "https://seu-dominio.com/webhook",
  "referrerUrl": null,
  "pixCode": null,
  "expiresAt": null,
  "createdAt": "2026-10-07T00:14:40.893Z",
  "costFee": 2,
  "requiresAction": true,
  "clientSecret": "pi_..._secret_..."
}
401

API key ausente, malformada ou revogada.

JSON
{
  "statusCode": 401,
  "message": "Unauthorized"
}

Exemplos

cURL
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": "João Silva",
    "email": "joaosilva@exemplo.com",
    "cpf": "12345678901",
    "amount": 1000,
    "paymentMethod": "CREDIT_CARD",
    "creditCard": { "token": "<token>", "holder": "JOAO SILVA", "installments": 1 }
  }'