PagnovoPagnovodocs

Referência da API

Criar transação (CLP)

Cria uma transação de entrada em CLP (pesos chilenos) por página hospedada — transferência, cartão ou carteira digital. Mesmo endpoint do PIX — POST /transactions/v2/purchase — mudando currency para "CLP". Diferente de ARS/COP/BOB, o redirectUrl já vem nesta resposta (sem polling): redirecione o comprador para ele. Conceitos e fluxo completo em Chile (CLP).

POST/transactions/v2/purchase
RUT obrigatório e validado
responsibleDocument O Chile exige o RUT do pagador em responsibleDocument, validado pelo dígito verificador (módulo 11) — um RUT inválido é recusado com 400 antes de criar a cobrança. Aceita 12.345.678-5, 12345678-5 ou 123456785; o dígito verificador pode ser a letra K. Não force máscara de CPF nem teclado numérico no seu campo.

Autenticação

HTTP Basic Auth. Envie sua secret key no header:

Authorization: Basic {base64(secret:SUA_SECRET_KEY)}

Parâmetros

namestringobrigatório

Nome completo do pagador (máximo 255 caracteres).

Exemplo: Matías González

emailstringobrigatório

E-mail válido do pagador. Obrigatório no Chile — a rede recusa a cobrança sem ele.

Exemplo: matias@ejemplo.cl

amountnumberobrigatório

Valor em centavos de peso chileno. O peso chileno não tem centavos, mas o amount continua em centavos: CLP$ 5.000 = 500000, CLP$ 1.000 = 100000. Mande múltiplos de 100. A rede aceita de CLP$ 1.000 a CLP$ 5.000.000 por transação (limites estimados).

Exemplo: 500000

descriptionstringobrigatório

Descrição curta da transação que aparece no comprovante do pagador.

Exemplo: Suscripción Pro

responsibleDocumentstringobrigatório

RUT do pagador chileno (documento tributário). Obrigatório e validado pelo dígito verificador. Aceita 12.345.678-5, 12345678-5 ou 123456785; o dígito pode ser K.

Exemplo: 12.345.678-5

responsibleExternalIdstringobrigatório

ID interno do responsável no seu sistema (ex: ID do vendedor, ID da conta).

Exemplo: user-1234

currency'CLP'obrigatório

Código da moeda. Para Chile use "CLP". O amount continua em CENTAVOS (500000 = CLP$ 5.000), apesar de o peso não ter centavos. Omitir currency cai no padrão BRL (PIX).

Exemplo: CLP

paymentMethod'BANK_TRANSFER' | 'CARD' | 'WALLET'opcional

Opcional para currency: CLP — default BANK_TRANSFER. Use CARD para cartão ou WALLET para carteira digital; o fluxo (página hospedada + redirectUrl na resposta) é idêntico nos três. (No BRL, PIX é obrigatório.)

Exemplo: BANK_TRANSFER

phonestringopcional

Telefone do pagador com DDI. Recomendado no Chile, não obrigatório.

Exemplo: 56912345678

cpfstringopcional

Não usado em CLP — é um documento brasileiro. O documento do pagador chileno (RUT) vai em responsibleDocument.

externalIdstringopcional

Sua 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

postbackUrlstringopcional

URL 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

JSON
{
  "name": "Matías González",
  "email": "matias@ejemplo.cl",
  "amount": 500000,
  "currency": "CLP",
  "paymentMethod": "BANK_TRANSFER",
  "description": "Suscripción Pro",
  "responsibleDocument": "12.345.678-5",
  "responsibleExternalId": "user-1234",
  "externalId": "pedido-5678",
  "postbackUrl": "https://seu-dominio.com/webhook"
}

Respostas

201

Cobrança criada. O redirectUrl já vem preenchido — redirecione o comprador para ele (sem polling). status fica PENDING até o pagamento cair (webhook cashin.paid).

JSON
{
  "id": "17864385245624641191295936",
  "currency": "CLP",
  "method": "BANK_TRANSFER",
  "installments": null,
  "externalId": "pedido-5678",
  "status": "PENDING",
  "amount": 500000,
  "postbackUrl": "https://seu-dominio.com/webhook",
  "referrerUrl": null,
  "redirectUrl": "https://checkout.magenpay.io/checkout/9f2c1e40",
  "expiresAt": "2026-10-23T09:25:24.748Z",
  "createdAt": "2026-10-23T08:55:24.748Z",
  "costFee": 15000
}
400

Erro de validação — inclui RUT inválido, valor fora da faixa aceita pela rede (CLP$ 1.000 a CLP$ 5.000.000) e falta de name, email ou documento do pagador.

JSON
{
  "statusCode": 400,
  "message": "The 'amount' is outside the range accepted for CLP.",
  "error": "Bad Request"
}
401

API key inválida ou ausente.

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

API key sem a permissão createTransaction.

JSON
{ "statusCode": 403, "message": "Forbidden" }

Exemplos

bash
curl -X POST "https://api.pagnovo.com/transactions/v2/purchase" \
  -H "Authorization: Basic $(echo -n 'secret:SUA_SECRET_KEY' | base64)" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Matías González",
    "email": "matias@ejemplo.cl",
    "amount": 500000,
    "currency": "CLP",
    "paymentMethod": "BANK_TRANSFER",
    "description": "Suscripción Pro",
    "responsibleDocument": "12.345.678-5",
    "responsibleExternalId": "user-1234",
    "postbackUrl": "https://seu-dominio.com/webhook"
  }'