Criar Pedido
Pedidos
Criar Pedido
POST
Criar Pedido
Este endpoint permite criar pedidos e processar pagamentos usando diferentes métodos (cartão, PIX, boleto, Google Pay), com suporte completo a parcelamento, split de pagamento, 3D Secure e Network Tokens.
Campos Específicos de Cartão (quando
Campos Específicos de Apple Pay (quando
Parâmetros Obrigatórios
Descrição da transaçãoMáximo: 255 caracteres
Referência única para este pedido no sistema do comercianteExemplo:
ORDER-2024-001 | Máximo: 255 caracteresMerchant Category Code (código de categoria do estabelecimento)Formato: 4 dígitos | Exemplo:
5411 (supermercado)Parâmetros Opcionais
URL para receber notificações de mudança de status (webhook)Exemplo:
https://seusite.com/webhook/autorizouDados do Cliente
Dados do Pagamento
Pagamento com Cartão de Crédito
Obrigatório quando:
payment_method = "credit_card"Pagamento PIX
Obrigatório quando:
payment_method = "pix"Pagamento com Boleto
Obrigatório quando:
payment_method = "bank_slip"Pagamento com Google Pay
Obrigatório quando:
payment_method = "google_pay"Pagamento com Apple Pay
Obrigatório quando:
payment_method = "apple_pay"Novo! Apple Pay agora está disponível. Veja o guia completo de integração para começar.
Split de Pagamento
Divisão do pagamento entre múltiplos destinatários
3D Secure (3DS)
Dados para autenticação 3D Secure (recomendado para maior segurança)
3D Secure 2.0: Melhora significativamente a taxa de aprovação e reduz fraudes. Altamente recomendado para transações de alto valor.
Itens do Pedido
Lista de itens/produtos do pedido (opcional mas recomendado)
Estrutura da Resposta
A resposta contém informações completas sobre o pedido e pagamento criados:Campos do Pedido (Order)
| Campo | Tipo | Descrição |
|---|---|---|
id | string | UUID único do pedido |
hash | string | Hash único do pedido para referência |
status | string | Status do pedido: pending, paid, failed, canceled |
is_closed | boolean | Indica se o pedido está fechado/finalizado |
payment | object | Objeto contendo dados do pagamento (ver abaixo) |
fee | object | Objeto contendo informações de taxas (ver abaixo) |
customer | object | Dados do cliente (id, name, email) |
Campos do Pagamento (Payment)
| Campo | Tipo | Descrição |
|---|---|---|
id | string | UUID único do pagamento |
hash | string | Hash único do pagamento |
merchant_reference | string | Referência do merchant (campo code da requisição) |
status | string | Status do pagamento: pending, authorized, paid, refused, failed |
payment_method | string | Método usado: credit_card, pix, bank_slip, google_pay, apple_pay |
amount | integer | Valor em centavos |
installments | integer | Número de parcelas |
currency | string | Moeda (ISO 4217): BRL |
description | string | Descrição da transação |
metadata | object | Metadados customizados (se fornecidos) |
refused_reason | string | Motivo da recusa (se aplicável) |
return_code | string | Código de retorno do adquirente |
created_at | string | Data/hora de criação (formato: Y-m-d H:i:s) |
updated_at | string | Data/hora da última atualização |
Campos Específicos de Cartão (quando payment_method = credit_card)
| Campo | Tipo | Descrição |
|---|---|---|
credit_card.id | string | UUID do cartão |
credit_card.holder | string | Nome do titular |
credit_card.brand | string | Bandeira: visa, mastercard, elo, etc. |
credit_card.first_6 | string | Primeiros 6 dígitos (BIN) |
credit_card.last_4 | string | Últimos 4 dígitos |
credit_card.exp_month | integer | Mês de expiração (1-12) |
credit_card.exp_year | integer | Ano de expiração (YYYY) |
credit_card.statement_descriptor | string | Descrição na fatura |
credit_card.capture | boolean | Se foi capturado automaticamente |
credit_card.three_ds | object | Dados do 3D Secure (se autenticado) |
Campos Específicos de Apple Pay (quando payment_method = apple_pay)
| Campo | Tipo | Descrição |
|---|---|---|
apple_pay.id | string | UUID da carteira digital salva (para uso em cobranças recorrentes) |
apple_pay.statement_descriptor | string | Descrição na fatura |
apple_pay.capture | boolean | Se foi capturado automaticamente |
apple_pay.three_ds | object | Dados do 3D Secure (se autenticado) |
apple_pay.brand | string | Bandeira do cartão (ex: visa, mastercard) |
apple_pay.last_4 | string | Últimos 4 dígitos do cartão |
apple_pay.card_type | string | Tipo do cartão: credit, debit |
Campos de Taxas (Fee)
| Campo | Tipo | Descrição |
|---|---|---|
fixed_fee_amount | integer | Taxa fixa em centavos |
platform_fee_percentage | float | Percentual da taxa da plataforma |
platform_fee_amount | integer | Valor da taxa da plataforma em centavos |
Objeto 3DS (
three_ds): Quando a autenticação 3D Secure é realizada, este objeto conterá informações sobre o resultado da autenticação, incluindo authentication_url caso seja necessário redirecionar o cliente.Exemplos de Requisição
Pagamento com Cartão
Requisição
Resposta
Autenticação 3D Secure: Se o pagamento requer autenticação 3DS, a resposta terá
status: "requires_action" com um campo three_d_secure contendo a authentication_url para onde você deve redirecionar o cliente. Veja a seção 3D Secure (3DS) para mais detalhes.Pagamento PIX
Requisição
Resposta
Pagamento Apple Pay
Requisição
Resposta
Integração Apple Pay: Para implementar o Apple Pay em seu frontend e obter o
apple_pay_token, consulte o Guia Completo de Integração Apple Pay.Salvamento Automático: A Autorizou salva automaticamente a carteira digital após o primeiro pagamento bem-sucedido com Apple Pay. O
apple_pay.id retornado na resposta pode ser usado como digital_wallet_uuid em cobranças futuras, eliminando a necessidade de solicitar o token Apple Pay novamente.Venda com Split
Requisição
Resposta
Códigos de Erro
400 - Bad Request
400 - Bad Request
Requisição malformada ou parâmetros inválidosPossíveis causas:
- Parâmetros obrigatórios faltando
- Tipos de dados incorretos
- Valores fora dos limites permitidos
- Soma do split diferente do valor total
402 - Payment Required
402 - Payment Required
Transação recusada pelo processadorMotivos comuns de recusa:
insufficient_funds- Saldo insuficienteinvalid_card- Cartão inválido ou não existeexpired_card- Cartão expiradocard_restricted- Cartão bloqueado ou restritodo_not_honor- Emissor recusou sem especificar motivoinvalid_cvv- CVV incorretosuspected_fraud- Suspeita de fraude
404 - Not Found
404 - Not Found
Recurso não encontradoPossíveis causas:
- Cliente não existe
- Cartão não encontrado
- Recebedor de split inexistente
422 - Unprocessable Entity
422 - Unprocessable Entity
Erro no processamento da transaçãoPossíveis causas:
- Falha na autenticação 3DS
- Problema com o processador de pagamentos
- Configuração inválida do merchant
Regras de Negócio
Valores e Limites
💰 Valores Permitidos
💰 Valores Permitidos
- Mínimo: R$ 1,00 (100 centavos)
- Máximo: Conforme limite do merchant
- Parcelamento: Até 12x para cartão de crédito
- Taxa: Calculada automaticamente conforme tabela do merchant
⏰ Prazos de Captura
⏰ Prazos de Captura
- Cartão: Captura imediata ou até 5 dias
- PIX: Expiração configurável (até 24h)
- Boleto: Vencimento configurável
- 3DS: Autenticação deve ser concluída em 15 minutos
🚫 Restrições
🚫 Restrições
- Cartão deve estar ativo e não expirado
- Split deve somar exatamente o valor total
- Cliente deve ter cadastro válido
- MCC deve estar autorizado para o merchant
Split de Pagamentos
Como Funciona
O Split permite dividir o valor de uma transação entre múltiplos destinatários. Ideal para marketplaces, plataformas multi-vendor e agregadores.Regras de Split
- Soma dos valores deve ser igual a
payment.amount - Recebedors devem estar previamente cadastrados
- Taxas podem ser atribuídas a destinatários específicos
- Responsabilidade por chargebacks pode ser configurada
Tipos de Split
Flat (Valor Fixo)
Flat (Valor Fixo)
Valor fixo em centavos destinado ao recipiente
Percentage (Percentual)
Percentage (Percentual)
Percentual do valor totalNota: Mesmo com
type = "percentage", o campo amount deve conter o valor já calculado em centavos.Configuração de Taxas
allow_charge_processing_fee
allow_charge_processing_fee
Define se o destinatário paga a taxa de processamentoExemplo: Taxa de 3% = R 1.000,00
true: Recebedor recebe R$ 970,00 (desconta a taxa)false: Recebedor recebe R$ 1.000,00 (marketplace paga)
allow_charge_remainder_fee
allow_charge_remainder_fee
Define se o destinatário paga taxas de ajuste/restoTaxas residuais de arredondamento ou divisões não exatas
is_liable
is_liable
Define responsabilidade por chargebacks
true: Recebedor é responsável e terá valores descontados em caso de chargebackfalse: Marketplace/Plataforma assume o risco
Exemplo Prático de Split
3D Secure (3DS)
3D Secure é um protocolo de autenticação adicional que aumenta a segurança e taxa de aprovação.Quando Usar
- Transações de alto valor (acima de R$ 500)
- Primeiro uso do cartão
- Cliente internacional
- Comportamento suspeito detectado
Implementação Básica
Para usar 3DS, envie o parâmetroauthentication_data com informações do navegador:
Próximos Passos
Após criar um pedido:- Configurar webhooks para notificações em tempo real
- Consultar detalhes do pagamento
- Processar estornos quando necessário
- Consultar recebedores do split