Skip to main content

Endpoint

POST /stores/:storeId/payments Cria um pagamento para um ou mais produtos da loja.

Autenticação

Rota pública. A assinatura ativa do dono da loja é validada internamente.

Parâmetros de rota

ParâmetroTipoObrigatórioDescrição
storeIdstringID da loja

Body (JSON)

CampoTipoObrigatórioRegras
namestring3–50 caracteres
emailstringe-mail válido, 12–100 caracteres
cpfstringaté 24 caracteres
gatewaystringver gateways suportados
couponstringcódigo do cupom, aceita null ou vazio
metadataobjectobjeto livre
itemsobject[]ao menos 1 item

items[]

CampoTipoObrigatórioRegras
productIdstringID do produto
quantitynumbermínimo 1

Gateways suportados

ValorProvedorMétodo
MERCADOPAGO_SERVICE_PIXMercado PagoPIX
MERCADOPAGO_SERVICE_CARDMercado PagoCartão

Exemplo de requisição

curl -X POST "https://api.cabrapi.com.br/stores/STORE_ID/payments" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "João Silva",
    "email": "[email protected]",
    "gateway": "MERCADOPAGO_SERVICE_PIX",
    "coupon": "BEMVINDO10",
    "items": [
      { "productId": "PRODUCT_ID", "quantity": 1 }
    ]
  }'

Snippet (JavaScript)

const response = await fetch("https://api.cabrapi.com.br/stores/STORE_ID/payments", {
  method: "POST",
  headers: {
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    name: "João Silva",
    email: "[email protected]",
    gateway: "MERCADOPAGO_SERVICE_PIX",
    coupon: "BEMVINDO10",
    items: [{ productId: "PRODUCT_ID", quantity: 1 }]
  })
});

const data = await response.json();

Respostas

201 — Pagamento via gateway (PIX)

{
  "status": true,
  "data": {
    "service": {
      "type": "MERCADOPAGO",
      "method": "MERCADOPAGO_SERVICE_PIX",
      "payment": "PIX"
    },
    "payment": {
      "uuid": "8cf7de6e-4c92-4baf-b978-2f9195f2e0e2",
      "url": "https://www.mercadopago.com.br/...",
      "qr_code": {
        "image": "base64...",
        "base_64": "00020126..."
      }
    }
  }
}

201 — Pagamento via gateway (Cartão)

{
  "status": true,
  "data": {
    "service": {
      "type": "MERCADOPAGO",
      "method": "MERCADOPAGO_SERVICE_CARD",
      "payment": "CARD"
    },
    "payment": {
      "uuid": "8cf7de6e-4c92-4baf-b978-2f9195f2e0e2",
      "url": "https://www.mercadopago.com.br/checkout/..."
    }
  }
}

201 — Pagamento gratuito

{
  "status": true,
  "data": {
    "service": {
      "type": "FREE_PAYMENT",
      "method": "FREE_PAYMENT",
      "payment": "FREE_PAYMENT"
    },
    "payment": {
      "uuid": "8cf7de6e-4c92-4baf-b978-2f9195f2e0e2"
    }
  }
}

Erros

StatusCódigoDescrição
400INVALID_DATABody inválido ou campo ausente
400GATEWAY_NOT_ENABLEDGateway não habilitado na loja
400INVALID_COUPONCupom não aplicável aos produtos
400COUPON_EXPIREDCupom expirado ou sem usos
400OUT_OF_STOCKEstoque insuficiente
404STORE_NOT_FOUNDLoja não encontrada
404PRODUCT_NOT_FOUNDProduto não encontrado
500GATEWAY_ERRORErro no provedor de pagamento
500INTERNAL_SERVER_ERRORErro interno