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.

Base URL: https://checkout.iztecpay.com

Credenciais

Para integrar, você precisa de apenas dois dados:

CampoDescriçãoExemplo
entityId Identificador da sua entidade/loja na IZTEC 8ac7a4c79aa4651e019aa7...
token Token de autenticação Bearer OGFjN2E0Yzc5YWE0NjUx...
Atenção: Nunca exponha o 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âmetroTipoDescrição
entityIdstringobrigatórioID da entidade IZTEC
tokenstringobrigatórioToken Bearer de autenticação
amountfloatobrigatórioValor em BRL (ex: 99.90)
merchant_namestringopcionalNome exibido no checkout
descriptionstringopcionalDescrição/pedido
order_idstringopcionalID do pedido (exibido no resumo)
max_installmentsintopcionalMáximo de parcelas (1-12, padrão: 12)
methodsstringopcionalcredit, debit ou credit,debit
success_urlURLopcionalRedirect após pagamento aprovado
cancel_urlURLopcionalLink "Cancelar e voltar"
primary_colorhexopcionalCor primária (ex: #4f46e5)
logo_urlURLopcionalURL 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âmetroDescrição
payment_idID da transação na IZTEC
statusapproved

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ódigoStatusDescrição
000.000.*SUCESSOTransação aprovada
000.100.1*SUCESSOAprovada com revisão
000.400.0*PENDENTEAguardando confirmação
800.100.*RECUSADORecusado pelo banco
800.400.*RECUSADORecusado por risco
100.400.*ERRODados inválidos
600.*ERROErro externo
Dica: Use o endpoint 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.

Credenciais de teste:
entityId: 8ac7a4c79aa4651e019aa7b681bd0360
token: OGFjN2E0Yzc5YWE0NjUxZTAxOWFhN2FkZDYzYjAzNTF8NlBEd1JHS3pkNHpCeG89eCtteTg=