Ir para o conteúdo
Sharkpay

Documentação da API

Integre pagamentos, saques e webhooks ao seu sistema com uma API HTTP/JSON aberta e documentada.

API 2026-10-14

Checkout hospedado

No checkout hospedado o cliente paga em uma página do SharkPay: você não toca em dados de pagamento. É a opção mais simples para lojas e a que reduz seu escopo de conformidade.

Fluxo

  1. 1. Seu site envia o formulário

    O navegador do cliente faz POST https://sharkpay.com.br/ext_transfer com os campos abaixo (formulário comum, não JSON).

  2. 2. O cliente paga

    Ele conclui o pagamento na página do SharkPay.

  3. 3. Retorno

    O cliente volta para a callback_url. Isso não prova pagamento.

  4. 4. Confirmação no servidor

    Seu servidor consulta GET /api/checkout/{tx_ref} e só libera o pedido com status = PAID.

Campos do formulário

CampoTipoDescrição
merchant_keyobrigatório string ≤ 16 Chave do comerciante (painel → Comerciante).
public_keyobrigatório string ≤ 39 Chave pública da conta.
tx_refobrigatório string ≤ 100 Código único do seu pedido; é a chave de consulta e não pode repetir.
amountobrigatório número > 0 Valor unitário.
quantityobrigatório inteiro 1–100000 Quantidade.
currencyobrigatório string (3) Moeda ativa da plataforma (BRL).
title · descriptionobrigatório string Título e descrição exibidos ao cliente.
email · first_name · last_nameobrigatório string Dados do pagador.
callback_urlobrigatório URL http(s) ≤ 2000 Para onde o cliente retorna.
Formulário HTML
<form method="POST" action="https://sharkpay.com.br/ext_transfer">
  <input type="hidden" name="merchant_key" value="SUA_MERCHANT_KEY">
  <input type="hidden" name="public_key"   value="SUA_CHAVE_PUBLICA">
  <input type="hidden" name="tx_ref"       value="PEDIDO-1042">
  <input type="hidden" name="amount"       value="49.90">
  <input type="hidden" name="quantity"     value="1">
  <input type="hidden" name="currency"     value="BRL">
  <input type="hidden" name="title"        value="Plano Pro">
  <input type="hidden" name="description"  value="Assinatura mensal">
  <input type="hidden" name="email"        value="cliente@exemplo.com">
  <input type="hidden" name="first_name"   value="Maria">
  <input type="hidden" name="last_name"    value="Silva">
  <input type="hidden" name="callback_url" value="https://sualoja.exemplo/retorno">
  <button type="submit">Pagar</button>
</form>

Confirmar o pagamento

GET /api/checkout/{tx_ref}
#!/usr/bin/env bash
# Confirmar pagamento do checkout hospedado
set -euo pipefail
: "${SHARKPAY_BASE_URL:?defina a URL base, ex.: https://pay.exemplo.com}"
: "${SHARKPAY_TOKEN:?obtenha o token com o exemplo "auth"}"
curl -sS --fail-with-body -X GET "$SHARKPAY_BASE_URL/api/checkout/$SHARKPAY_TX_REF" \
  -H "Authorization: Bearer $SHARKPAY_TOKEN"
echo
statusSignifica
PENDING Cliente ainda não pagou.
PAID Pago — libere o pedido.
ABANDONED O cliente desistiu/abandonou.
UNKNOWN Estado não reconhecido; trate como pendente e consulte depois.