api

API de Transações

A API de Transações abrange todo o ciclo de vida do pagamento: criação de sessões de checkout, consulta do status da transação e verificação de confirmações na blockchain.

Atualizado: 09/03/2026

A API de Transações cobre o ciclo de vida completo do pagamento: criação de sessões de checkout, consulta do status da transação e verificação de confirmações na blockchain.

Visão Geral do Fluxo de Pagamento

┌─────────────┐    ┌──────────────┐    ┌──────────────┐    ┌───────────────┐
│ Your Server │───>│ Create       │───>│ Customer     │───>│ Blockchain    │
│             │    │ Checkout     │    │ Pays on      │    │ Confirms      │
│ POST api.php│    │ Session      │    │ Payment Page │    │ Transaction   │
└─────────────┘    └──────────────┘    └──────────────┘    └───────────────┘
                         │                                        │
                         │ payment_url                             │
                         ▼                                        ▼
                   ┌──────────────┐                         ┌───────────────┐
                   │ Redirect     │                         │ Webhook POST  │
                   │ Customer     │                         │ to Your Server│
                   │ to pay.php   │                         │               │
                   └──────────────┘                         └───────────────┘
  1. Seu servidorchamacreate-checkout-sessioncom o valor e a moeda do pagamento.
  2. Você recebe umapayment_urle redireciona o cliente para ela.
  3. O cliente seleciona uma criptomoeda, escaneia o código QR e envia o pagamento.
  4. A QuantaPay monitora a blockchain e aguarda as confirmações.
  5. Uma vez confirmado, a QuantaPay envia umwebhookpara o seu servidor e/ou redireciona o cliente.

create-checkout-session

Cria uma nova sessão de pagamento. Retorna uma URL de pagamento para redirecionar seu cliente.

Requisição

curl -X POST https://cloud.quantapay.app/api.php \
  -d "function=create-checkout-session" \
  -d "api-key=YOUR_API_KEY" \
  -d "price=49.99" \
  -d "currency=USD"

Parâmetros

ParâmetroTipoObrigatórioDescrição
pricenumberSimValor do pagamento na moeda especificada.
currencystringSimCódigo de moeda ISO 4217 (por exemplo,USD, EUR, GBP).
order_idstringNãoSeu ID de pedido interno para referência.
redirectstringNãoURL para redirecionar o cliente após o pagamento bem-sucedido.
cancel_urlstringNãoURL para redirecionar o cliente caso ele cancele.
notestringNãoNota interna anexada à transação.
itemsString JSONNãoArray de itens de linha (veja abaixo).
customerString JSONNãoObjeto de informações do cliente.
signaturestringNãoAssinatura HMAC-SHA256 para proteção contra adulteração.
timestampintegerNãoTimestamp Unix (obrigatório se a assinatura for fornecida).
external_referencestringNãoReferência criptografada do plugin WordPress.
pluginstringNãoIdentificador do plugin de origem (por exemplo,woo, edd).

Formato dos Itens

[
  {
    "name": "Product Name",
    "qty": 2,
    "price": 24.99,
    "image": "https://example.com/product.jpg"
  }
]
  • Máximo de 50 itens por sessão.
  • name: Máximo de 200 caracteres.
  • image: Deve ser URL HTTP ou HTTPS, máximo de 500 caracteres.

Resposta

{
  "success": true,
  "response": {
    "session_id": "cs_a1b2c3d4e5f6a1b2c3d4",
    "payment_url": "https://cloud.quantapay.app/pay.php?session=cs_a1b2c3d4e5f6a1b2c3d4",
    "expires_at": "2026-03-08T11:00:00+00:00"
  }
}
  • session_id: Identificador de sessão exclusivo (formato:cs_+ 24 caracteres hexadecimais).
  • payment_url: URL para redirecionar o cliente para concluir o pagamento.
  • expires_at: Timestamp ISO 8601. As sessões expiram após60 minutos.

Respostas de Erro

MessageCause
Campos obrigatórios ausentes: price, currencypriceestá 0/ausente oucurrencyestá vazio.
Assinatura inválidaFalha na verificação da assinatura HMAC.
Solicitação expiradaO timestamp está com uma diferença de mais de 5 minutos em relação à hora do servidor.
Falha ao criar a sessão de checkoutErro de banco de dados.

get-checkout-session

Consulta o status atual de uma sessão de checkout.

Requisição

curl -X POST https://cloud.quantapay.app/api.php \
  -d "function=get-checkout-session" \
  -d "api-key=YOUR_API_KEY" \
  -d "session_id=cs_a1b2c3d4e5f6a1b2c3d4"

Parâmetros

ParâmetroTipoObrigatórioDescrição
session_idstringSimO ID da sessão de checkout (começa comcs_).

Resposta

{
  "success": true,
  "response": {
    "session_id": "cs_a1b2c3d4e5f6a1b2c3d4",
    "status": "paid",
    "price": 49.99,
    "currency": "usd",
    "order_id": "ORD-12345",
    "created_at": "2026-03-08T10:00:00+00:00",
    "expires_at": "2026-03-08T11:00:00+00:00",
    "paid_at": "2026-03-08T10:15:23+00:00"
  }
}

Status da Sessão

StatusDescrição
activeA sessão está aberta e aguardando pagamento.
paidO pagamento foi recebido e confirmado na blockchain.
expiredA sessão expirou sem receber o pagamento (após 60 minutos).
cancelledA sessão foi cancelada antes do recebimento do pagamento.

get-transactions

Consulta uma lista paginada de transações. Útil para conciliação e relatórios.

Requisição

curl -X POST https://cloud.quantapay.app/api.php \
  -d "function=get-transactions" \
  -d "api-key=YOUR_API_KEY" \
  -d "pagination=0"

Parâmetros

Todos os parâmetros são opcionais:

ParâmetroTipoDescrição
paginationintegerNúmero da página (indexado em 0). Cada página retorna até 100 transações.
searchstringPesquisa por ID da transação, hash, valor ou descrição.
statusstringFiltrar por status:C(concluído),P(pendente),X(pago parcialmente),E(expirado).
cryptocurrencystringFiltrar por código de criptomoeda (por exemplo,btc, eth).
date_rangearrayFiltro de intervalo de datas como um array de dois elementos:date_range[0]=2026-01-01&date_range[1]=2026-03-01.
checkout_idstringFiltrar por ID do botão de checkout/pagamento.

Resposta

Retorna um array de objetos de transação:

{
  "success": true,
  "response": [
    {
      "id": "123",
      "title": "Payment #ORD-12345",
      "description": "",
      "from": "0xCustomerAddress...",
      "to": "0xYourAddress...",
      "hash": "0xTransactionHash...",
      "amount": "0.025",
      "amount_fiat": "49.99",
      "cryptocurrency": "eth",
      "currency": "usd",
      "external_reference": "",
      "creation_time": "2026-03-08 10:00:00",
      "status": "C",
      "webhook": "1",
      "vat": ""
    }
  ]
}

Status da Transação

CódigoStatusDescrição
CConcluídaPagamento confirmado na blockchain.
PPendenteAguardando pagamento ou confirmação na blockchain.
XPago a menosPagamento recebido, mas o valor foi menor do que o necessário.
EExpiradoJanela de pagamento expirou sem pagamento suficiente.
RReembolsadoO pagamento foi reembolsado.

get-transaction

Obter detalhes de uma única transação por ID.

Requisição

curl -X POST https://cloud.quantapay.app/api.php \
  -d "function=get-transaction" \
  -d "api-key=YOUR_API_KEY" \
  -d "transaction_id=123"

Parâmetros

ParâmetroTipoObrigatórioDescrição
transaction_idintegerSimO ID da transação.

Resposta

Retorna um único objeto de transação (mesmo formato deget-transactions).


check-transaction

Acionar manualmente uma verificação de confirmação na blockchain para uma transação específica.

Requisição

curl -X POST https://cloud.quantapay.app/api.php \
  -d "function=check-transaction" \
  -d "api-key=YOUR_API_KEY" \
  -d "transaction=TRANSACTION_JSON"

Parâmetros

ParâmetroTipoObrigatórioDescrição
transactionString JSONSimO objeto de transação a ser verificado (conforme retornado porget-transaction).

Resposta

Retorna o objeto de transação atualizado com o status de confirmação atual. Se o número necessário de confirmações for alcançado, o status da transação mudará paraC(concluída).

Observação: Esta função normalmente não é necessária na operação normal. O QuantaPay verifica automaticamente as confirmações por meio de seu sistema cron. Use isso apenas se precisar forçar uma verificação imediata.