Documentação IZTEC Pay
Integre o checkout transparente da IZTEC Pay na sua loja virtual. Aceite Visa, Mastercard e Elo com crédito, débito e parcelamento em até 12x.
https://checkout.iztecpay.com
Credenciais
Para integrar, você precisa de apenas dois dados:
| Campo | Descrição | Exemplo |
|---|---|---|
entityId |
Identificador da sua entidade/loja na IZTEC | 8ac7a4c79aa4651e019aa7... |
token |
Token de autenticação Bearer | OGFjN2E0Yzc5YWE0NjUx... |
token em código front-end público. Use redirect ou iframe hospedado no nosso domínio.
Integração via Redirect
A forma mais simples. Redirecione o cliente para a URL do checkout:
https://checkout.iztecpay.com/checkout.php ?entityId=SEU_ENTITY_ID &token=SEU_TOKEN &amount=99.90 &merchant_name=Minha Loja &description=Pedido #1234 &success_url=https://minhaloja.com/obrigado &cancel_url=https://minhaloja.com/carrinho
Após o pagamento aprovado, o cliente é redirecionado para a success_url com os parâmetros:
https://minhaloja.com/obrigado?payment_id=8ac7a49f...&status=approved
Integração via Iframe
Embuta o checkout dentro da sua página sem redirecionar:
<iframe src="https://checkout.iztecpay.com/checkout.php ?entityId=SEU_ENTITY_ID &token=SEU_TOKEN &amount=99.90 &merchant_name=Minha Loja" width="100%" height="700" frameborder="0" style="max-width:480px; border:none; border-radius:12px;" ></iframe> <!-- Escute o resultado via postMessage --> <script> window.addEventListener('message', (e) => { if (e.data?.type === 'iztec_payment') { if (e.data.status === 'approved') { console.log('Aprovado! ID:', e.data.paymentId); } else { console.log('Recusado:', e.data.description); } } }); </script>
Parâmetros do Checkout
| Parâmetro | Tipo | Descrição | |
|---|---|---|---|
entityId | string | obrigatório | ID da entidade IZTEC |
token | string | obrigatório | Token Bearer de autenticação |
amount | float | obrigatório | Valor em BRL (ex: 99.90) |
merchant_name | string | opcional | Nome exibido no checkout |
description | string | opcional | Descrição/pedido |
order_id | string | opcional | ID do pedido (exibido no resumo) |
max_installments | int | opcional | Máximo de parcelas (1-12, padrão: 12) |
methods | string | opcional | credit, debit ou credit,debit |
success_url | URL | opcional | Redirect após pagamento aprovado |
cancel_url | URL | opcional | Link "Cancelar e voltar" |
primary_color | hex | opcional | Cor primária (ex: #4f46e5) |
logo_url | URL | opcional | URL do logo da sua loja |
Personalização
Customize a aparência do checkout com parâmetros na URL:
// Checkout vermelho com logo e só crédito até 6x https://checkout.iztecpay.com/checkout.php ?entityId=XXX &token=XXX &amount=150.00 &merchant_name=Loja Vermelha &primary_color=#dc2626 &logo_url=https://minhaloja.com/logo.png &methods=credit &max_installments=6
Callback / Retorno
Via Redirect (success_url)
Após pagamento aprovado, adicionamos estes query params à sua URL:
| Parâmetro | Descrição |
|---|---|
payment_id | ID da transação na IZTEC |
status | approved |
Via postMessage (iframe)
O checkout envia uma mensagem para o window.parent:
{
"type": "iztec_payment",
"status": "approved" | "rejected",
"paymentId": "8ac7a49f...",
"code": "000.100.110",
"description": "Request successfully processed"
}
API - Venda Direta
POST /api.php
Cobra o cartão imediatamente (paymentType DB).
POST https://checkout.iztecpay.com/api.php Content-Type: application/json { "action": "charge", "entityId": "SEU_ENTITY_ID", "token": "SEU_TOKEN", "cardNumber": "5204740000001002", "cardHolder": "NOME DO TITULAR", "expiryMonth": "11", "expiryYear": "2026", "cvv": "595", "amount": 10.00, "brand": "MASTER", "method": "CREDIT", "installments": 1 }
API - Pré-Autorização
POST /api.php — Reserva o valor sem capturar (paymentType PA).
{
"action": "preauth",
"entityId": "SEU_ENTITY_ID",
"token": "SEU_TOKEN",
// mesmos campos do cartão...
"amount": 50.00,
"brand": "VISA"
}
API - Captura
POST /api.php — Captura uma pré-autorização (paymentType CP).
{
"action": "capture",
"entityId": "SEU_ENTITY_ID",
"token": "SEU_TOKEN",
"paymentId": "8ac7a49f9a72d97f...",
"amount": 50.00
}
API - Estorno
POST /api.php — Reembolso total ou parcial (paymentType RF).
{
"action": "refund",
"entityId": "SEU_ENTITY_ID",
"token": "SEU_TOKEN",
"paymentId": "8ac7a49f9a72d97f...",
"amount": 10.00
}
API - Desfazimento
POST /api.php — Cancela/reverte a transação (paymentType RV).
{
"action": "reverse",
"entityId": "SEU_ENTITY_ID",
"token": "SEU_TOKEN",
"paymentId": "8ac7a49f9a72d97f...",
"amount": 10.00
}
API - Consulta de Status
POST /api.php — Verifica o status de um pagamento.
{
"action": "status",
"entityId": "SEU_ENTITY_ID",
"token": "SEU_TOKEN",
"paymentId": "8ac7a49f9a72d97f..."
}
Exemplo - PHP
<?php $entityId = 'SEU_ENTITY_ID'; $token = 'SEU_TOKEN'; $amount = 99.90; $orderId = 'PED-1234'; $checkoutUrl = 'https://checkout.iztecpay.com/checkout.php?' . http_build_query([ 'entityId' => $entityId, 'token' => $token, 'amount' => $amount, 'merchant_name' => 'Minha Loja', 'description' => "Pedido #$orderId", 'order_id' => $orderId, 'success_url' => 'https://minhaloja.com/obrigado', 'cancel_url' => 'https://minhaloja.com/carrinho', ]); header("Location: $checkoutUrl"); exit; // ─── Cobrança via API (server-to-server) ─── $payload = json_encode([ 'action' => 'charge', 'entityId' => $entityId, 'token' => $token, 'cardNumber' => '5204740000001002', 'cardHolder' => 'NOME TITULAR', 'expiryMonth' => '11', 'expiryYear' => '2026', 'cvv' => '595', 'amount' => 10.00, 'brand' => 'MASTER', 'method' => 'CREDIT', 'installments'=> 3, ]); $ch = curl_init('https://checkout.iztecpay.com/api.php'); curl_setopt_array($ch, [ CURLOPT_POST => true, CURLOPT_POSTFIELDS => $payload, CURLOPT_RETURNTRANSFER => true, CURLOPT_HTTPHEADER => ['Content-Type: application/json'], ]); $response = json_decode(curl_exec($ch), true); curl_close($ch); if ($response['success']) { echo "Aprovado! ID: " . $response['data']['id']; }
Exemplo - Node.js
const fetch = require('node-fetch'); const ENTITY_ID = 'SEU_ENTITY_ID'; const TOKEN = 'SEU_TOKEN'; // Redirect para checkout const checkoutUrl = `https://checkout.iztecpay.com/checkout.php` + `?entityId=${ENTITY_ID}&token=${TOKEN}&amount=99.90` + `&merchant_name=Minha Loja&success_url=https://minhaloja.com/ok`; // Cobrança via API async function charge() { const res = await fetch('https://checkout.iztecpay.com/api.php', { method: 'POST', headers: { 'Content-Type': 'application/json' }, body: JSON.stringify({ action: 'charge', entityId: ENTITY_ID, token: TOKEN, cardNumber: '5204740000001002', cardHolder: 'NOME TITULAR', expiryMonth: '11', expiryYear: '2026', cvv: '595', amount: 10.00, brand: 'MASTER', method: 'CREDIT', installments: 1, }), }); const json = await res.json(); console.log(json.success ? 'Aprovado!' : 'Recusado', json.data); } charge();
Exemplo - Python
import requests ENTITY_ID = "SEU_ENTITY_ID" TOKEN = "SEU_TOKEN" # Cobrança via API response = requests.post("https://checkout.iztecpay.com/api.php", json={ "action": "charge", "entityId": ENTITY_ID, "token": TOKEN, "cardNumber": "5204740000001002", "cardHolder": "NOME TITULAR", "expiryMonth": "11", "expiryYear": "2026", "cvv": "595", "amount": 10.00, "brand": "MASTER", "method": "CREDIT", "installments": 1, }) data = response.json() if data["success"]: print(f"Aprovado! ID: {data['data']['id']}") else: print(f"Recusado: {data['data']['result']['description']}")
Exemplo - HTML Puro
<!-- Botão simples de pagamento --> <a href="https://checkout.iztecpay.com/checkout.php ?entityId=SEU_ENTITY_ID &token=SEU_TOKEN &amount=49.90 &merchant_name=Minha Loja &description=Camiseta Azul M &success_url=https://minhaloja.com/obrigado &cancel_url=https://minhaloja.com/produtos" style="background:#4f46e5;color:#fff;padding:14px 28px; border-radius:8px;text-decoration:none;font-weight:700;"> Pagar R$ 49,90 </a>
Códigos de Resposta
| Regex do Código | Status | Descrição |
|---|---|---|
000.000.* | SUCESSO | Transação aprovada |
000.100.1* | SUCESSO | Aprovada com revisão |
000.400.0* | PENDENTE | Aguardando confirmação |
800.100.* | RECUSADO | Recusado pelo banco |
800.400.* | RECUSADO | Recusado por risco |
100.400.* | ERRO | Dados inválidos |
600.* | ERRO | Erro externo |
status para confirmar o estado real de qualquer transação antes de liberar o produto.
Teste ao Vivo
Use as credenciais de teste para experimentar agora. Cartão de teste: 5204740000001002, validade 11/26, CVV 595.
entityId:
8ac7a4c79aa4651e019aa7b681bd0360token:
OGFjN2E0Yzc5YWE0NjUxZTAxOWFhN2FkZDYzYjAzNTF8NlBEd1JHS3pkNHpCeG89eCtteTg=