iHubGamesiHubGamesdocs

Documentação

Links de pagamento (visão geral)

Um QuickLink é uma URL pública (https://pay.ihubplay.com/p/seu-slug-de-conta/<slug>) pra cobrança rápida via PIX. Tem amount próprio, NÃO depende de Product/Offer. Cliente acessa, paga, e gera Transaction direto — sem Customer, sem Invoice.

você cria QuickLink → cliente acessa pay.ihubplay.com/p/seu-user/doacao
                     ↓
                preenche dados + paga
                     ↓
              Transaction (sem Customer, sem Invoice)
                     ↓
            webhook cashin.paid no seu sistema

Multi-uso: o mesmo QuickLink pode receber N pagamentos de pessoas diferentes — limitado opcionalmente por maxUses.

V2: o que antes era chamado de "Payment Link" foi renomeado pra QuickLink e simplificado: agora tem amount próprio (em vez de apontar pra Offer). Pra catálogo de produtos com checkout, use Offers.

Três fluxos diferentes pra cobrar — escolha o que faz sentido:

Quando você usa...Use QuickLinkUse Offer (Checkout)Use Invoice avulsa (POST /v2/invoices)
Cobrança avulsa simples (doação, mensalidade fixa)✓——
Vende um produto/serviço de catálogo (e-book, curso)—✓ (one-time)—
Assinatura recorrente—✓ (recurring)—
Cobrança direcionada a cliente específico, valor único——✓
Cliente B2B que pede NF——✓
Aceita cupom de desconto✗✓ (recurring apenas)✗
Cria Customer no banco✗✓ (recurring)✓
Cria Invoice✗✓ (recurring)✓

Em uma frase: QuickLink é o jeito mais rápido de receber um valor. Offer é catálogo. Invoice avulsa é boleto pontual direcionado.

Campos principais

name (obrigatório) — nome interno do link. NÃO é exibido ao cliente final, só nas suas listagens.

slug (obrigatório) — parte final da URL pública (pay.ihubplay.com/p/seu-slug-de-conta/<slug>). 3–60 caracteres, apenas a-z, 0-9 e hífen. Único por conta.

amount (obrigatório) — valor da cobrança em centavos. Mínimo R$ 1,00 (100), máximo R$ 50.000,00 (5000000).

description — texto exibido ao pagador no checkout. Opcional. Max 500 chars.

validFrom / validUntil — janela de tempo em que o link aceita pagamentos. validUntil não pode ser passado. Se omitidos, o link é válido sem janela.

maxUses — limite global de pagamentos que esse link aceita. null = ilimitado. Quando currentUses == maxUses, o link rejeita novos pagamentos.

metadata — JSON arbitrário pra anexar dados do seu sistema (UTM, campanha, etc). Max 8KB.

StatusO que significaAceita novos pagamentos?
ACTIVETudo OK, dentro da janela validFrom/validUntil e abaixo do maxUses.✓
PAUSEDVocê pausou manualmente via /pause. Histórico fica preservado.✗
ARCHIVEDVocê arquivou via DELETE. Some das listagens (a menos que includeDeleted=true). Não aceita edição. Transações já confirmadas continuam intactas.✗

Diferente da versão anterior, QuickLink não tem status EXPIRED automático. Quando validUntil passa, novos pagamentos são rejeitados via validação no momento do checkout, mas o status do link continua ACTIVE no banco. Atualize validUntil ou pause o link explicitamente se quiser parar.

Pausar vs arquivar:

  • Pausar é temporário. Use quando vai voltar a aceitar (ex: campanha sazonal fora do ar). Pode reativar via /resume.
  • Arquivar é final. Use quando o link nunca mais será usado. Não há restore via API.

Fluxo de uso

1. Você cria o link:

bash
curl -X POST "https://api.ihubplay.com/v2/quick-links" \
  -H "Authorization: Basic $(echo -n 'secret:SUA_SECRET_KEY' | base64)" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Doação de Natal",
    "slug": "doacao-natal",
    "amount": 5000
  }'
# → { "id": "ql_abc...", "slug": "doacao-natal", ... }

2. Compartilha a URL https://pay.ihubplay.com/p/seu-slug-de-conta/doacao-natal com seus clientes.

3. Cliente acessa, preenche dados (nome, e-mail, documento, telefone) e paga via PIX.

4. A iHubGames cria automaticamente uma Transaction com:

  • sourceType: "QUICK_LINK"
  • quickLinkId apontando pro seu link
  • Dados do pagador nos campos payerFullName, payerDocument, payerEmail
  • Sem Customer, sem Invoice (esse é o ponto)

5. Você recebe webhook cashin.paid com transaction_id e quick_link_id.

6. Pra acompanhar performance, use /v2/quick-links/:id (retorna stats.transactionsGenerated, transactionsPaid, totalRevenue em centavos) ou /v2/quick-links/:id/transactions (lista paginada).

Detalhes adicionais: Criar link, Duplicar link.