Documentação da API monetipag
Gateway de pagamento completo com suporte a PIX e Cartão de Crédito.
URL Base
https://api.monetipag.com
Autenticação
Todas as requisições à API devem incluir o header de autenticação:
Authorization: Bearer <token>
SDK JavaScript (Frontend)
O SDK JavaScript permite a tokenização segura de cartões de crédito diretamente no navegador, garantindo conformidade com PCI DSS.
Instalação
<script type="module">
import { createCh } from "https://scalefy.sfo3.cdn.digitaloceanspaces.com/sdk/v1/script.min.js";
</script>
Tokenização de Cartão
Use o método encrypt() para tokenizar os dados do cartão antes de enviar para a API.
Parâmetros
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
number |
string | Sim | Número do cartão (sem espaços) |
holder_name |
string | Sim | Nome impresso no cartão |
exp_month |
string | Sim | Mês de expiração (MM) |
exp_year |
string | Sim | Ano de expiração (YYYY) |
cvv |
string | Sim | Código de segurança (3-4 dígitos) |
Exemplo de Uso
import { createCh } from "https://scalefy.sfo3.cdn.digitaloceanspaces.com/sdk/v1/script.min.js";
const cardData = {
number: "4111111111111111",
holder_name: "João Silva",
exp_month: "12",
exp_year: "2025",
cvv: "123"
};
const token = await createCh.encrypt(cardData);
console.log(token); // Use este token na criação da fatura
Resposta
{
"token": "tok_abc123xyz456..."
}
Criar Fatura
Cria uma nova fatura para pagamento via PIX ou Cartão de Crédito.
Parâmetros do Body
Nível Raiz
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
method |
string | Sim | Método de pagamento: pix ou credit_card |
product_fisical |
string | Não | Indica se o produto é físico |
ip_payer |
string | Não | IP do pagador |
total_price_cents |
integer | Não | Valor total em centavos (se não informado, é calculado a partir dos itens) |
postback_url |
string | Não | URL para receber notificações de mudança de status |
payer |
object | Sim | Dados do pagador |
card |
object | Condicional | Obrigatório se method = credit_card |
items |
array | Sim | Lista de itens da fatura |
Objeto payer
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
name |
string | Sim | Nome completo do pagador |
cpf_cnpj |
string | Sim | CPF ou CNPJ (apenas números) |
email |
string | Sim | E-mail do pagador |
phone |
string | Sim | Telefone com DDD |
address_zip |
string | Sim | CEP (apenas números) |
address_line |
string | Sim | Logradouro (rua, avenida, etc.) |
address_number |
string | Sim | Número do endereço |
address_complement |
string | Não | Complemento do endereço |
address_city |
string | Sim | Cidade |
address_state |
string | Sim | Estado (sigla, ex: SP) |
Objeto card
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
token |
string | Condicional | Token gerado pelo SDK (use no lugar dos dados brutos do cartão) |
installment |
integer | Não | Número de parcelas |
number |
string | Condicional | Número do cartão (use somente se não utilizar token) |
first_name |
string | Condicional | Primeiro nome impresso no cartão |
last_name |
string | Condicional | Sobrenome impresso no cartão |
month |
string | Condicional | Mês de expiração (MM) |
year |
string | Condicional | Ano de expiração (YYYY) |
security_code |
string | Condicional | Código de segurança (CVV) |
cavv |
string | Não | Valor de autenticação para 3D Secure |
xid |
string | Não | ID de transação para 3D Secure |
eci |
string | Não | Electronic Commerce Indicator (3D Secure) |
version |
string | Não | Versão do protocolo 3D Secure |
referenceid |
string | Não | ID de referência da autenticação 3D Secure |
Objeto items
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
name |
string | Sim | Nome do item |
description |
string | Não | Descrição do item |
quantity |
integer | Sim | Quantidade |
unit_price |
integer | Sim | Preço unitário em centavos |
Exemplo de Request (PIX)
{
"method": "pix",
"postback_url": "https://seusite.com/webhook",
"payer": {
"name": "João Silva",
"cpf_cnpj": "12345678900",
"email": "joao@example.com",
"phone": "11999999999",
"address_zip": "01234567",
"address_line": "Rua Exemplo",
"address_number": "123",
"address_complement": "Apto 45",
"address_city": "São Paulo",
"address_state": "SP"
},
"items": [
{
"name": "Produto Exemplo",
"description": "Descrição do produto",
"quantity": 2,
"unit_price": 5000
}
]
}
Exemplo de Request (Cartão de Crédito)
{
"method": "credit_card",
"postback_url": "https://seusite.com/webhook",
"ip_payer": "177.0.0.1",
"payer": {
"name": "João Silva",
"cpf_cnpj": "12345678900",
"email": "joao@example.com",
"phone": "11999999999",
"address_zip": "01234567",
"address_line": "Rua Exemplo",
"address_number": "123",
"address_complement": "Apto 45",
"address_city": "São Paulo",
"address_state": "SP"
},
"card": {
"token": "tok_abc123xyz456...",
"installment": 1
},
"items": [
{
"name": "Produto Exemplo",
"description": "Descrição do produto",
"quantity": 1,
"unit_price": 10000
}
]
}
Exemplo de Response
{
"invoice_id": "inv_123456789",
"status": "pending",
"method": "pix",
"amount": 10000,
"currency": "BRL",
"qr_code_pix": "00020126580014br.gov.bcb.pix...",
"qr_code_url": "https://api.monetipag.com/qr/inv_123456789.png",
"created_at": "2026-02-11T14:15:00Z",
"expires_at": "2026-02-11T14:30:00Z"
}
Consultar Fatura
Consulta o status e detalhes de uma fatura existente.
Query Parameters
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|---|---|---|
id |
string | Sim | ID da fatura |
Exemplo de Request
GET https://api.monetipag.com/api/v2/invoices?id=inv_123456789
Authorization: Bearer <token>
Exemplo de Response
{
"invoice_id": "inv_123456789",
"status": "paid",
"method": "credit_card",
"amount": 10000,
"currency": "BRL",
"paid_at": "2026-02-11T14:20:00Z",
"payer": {
"name": "João Silva",
"email": "joao@example.com"
},
"items": [
{
"name": "Produto Exemplo",
"quantity": 1,
"unit_price": 10000
}
]
}
url_3ds com a URL de redirecionamento para autenticação.
Trocar Token
Troca um token temporário do SDK por um token persistente para transações recorrentes.
Request Body
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
temporary_token |
string | Sim | Token temporário gerado pelo SDK |
Exemplo de Request
{
"temporary_token": "tok_temp_abc123..."
}
Exemplo de Response
{
"persistent_token": "tok_persist_xyz789...",
"card_brand": "visa",
"last_digits": "1111",
"expires_at": "2025-12-31"
}
Status das Faturas
Possíveis status de uma fatura:
| Status | Descrição |
|---|---|
| pending | Aguardando pagamento |
| paid | Pagamento confirmado |
| canceled | Fatura cancelada |
| expired | Prazo de pagamento expirado |
| failed | Falha no processamento do pagamento |
Códigos de Erro
Códigos HTTP retornados pela API:
| Código | Descrição |
|---|---|
200 |
Requisição bem-sucedida |
400 |
Requisição inválida (bad request) |
401 |
Não autorizado (token inválido ou ausente) |
404 |
Recurso não encontrado |
422 |
Erro de validação nos campos enviados |
500 |
Erro interno no servidor |
Postback (Webhook)
Quando o campo postback_url é configurado na criação da fatura, a API enviará uma requisição POST para essa URL sempre que o status da fatura mudar.
Payload do Webhook
{
"invoice_id": "inv_123456789",
"status": "paid",
"payment_method": "pix",
"amount": 10000,
"currency": "BRL",
"paid_at": "2026-02-11T14:20:00Z"
}