Endpoint: POST /sales/seller/{seller_id}/payment
Autenticação: Publica (sem autenticacao, CSRF dispensado) — use apenas em contextos de servidor confiaveis.
Cria uma cobranca na conta do vendedor enviando dados de cartao, PIX ou boleto para a infraestrutura de processamento configurada. Diferente de Pagar cobranca — que e o endpoint publico por tras de um Link de checkout — este endpoint aceita amount e description livres e nao esta vinculado a um registro de venda online. A busca do vendedor utiliza o id do vendedor presente na URL. Um id legado especifico (fa5f39e4-828b-4b0c-9147-0af813f03f50) e reescrito para um vendedor fixo na infraestrutura de processamento — esse e um ajuste de retrocompatibilidade, nao se apoie nele. Um cliente da transacao e registrado a cada cobranca bem-sucedida.
Este endpoint aceita dados de cartao sem mascara. Trafego de producao deve chegar apenas a partir de um servidor com conformidade PCI, ou os chamadores devem enviar um cartao ja tokenizado via charge.card.id.

Pre-requisitos

  • O vendedor deve existir e ter identificador na infraestrutura de processamento (seller.zoop_id). Veja Cadastrar vendedor.
  • Para pagamentos que nao sejam PIX, nome/email/telefone do cliente sao obrigatorios (e para boleto: CPF/CNPJ + endereco completo).

Parametros de caminho

seller_id
string
required
UUID do vendedor. Observe que e o id do vendedor, nao o id da conta unificada.

Corpo da requisicao

Nivel raiz:
amount
string
required
Valor total em BRL como valor decimal em reais (ex.: "199.90"). Multiplicado por 100 para obter centavos antes do envio. Inconsistencia conhecida com a convencao de centavos do restante da API.
description
string
required
Descricao mostrada no extrato/boleto. Maximo 255 caracteres; saneada para ser compativel com a infraestrutura de processamento.
charge
object
required
Veja campos aninhados abaixo.
charge:
charge.type
string
required
Um de credit_card, pix, boleto.
charge.name
string
required
Nome completo do comprador (deve conter pelo menos duas partes).
charge.email
string
required
E-mail do comprador.
charge.phone
string
required
Telefone do comprador, somente digitos. Validado pelo codigo do pais abaixo.
charge.country_code
string
default:"+55"
Codigo do pais do telefone, ex.: +55.
charge.taxpayerId
string
CPF/CNPJ. Obrigatorio quando type=boleto.
charge.address
object
Obrigatorio quando type=boleto. Chaves: line1, line2, neighborhood, city, state (2 letras), postalCode (8 digitos).
charge.installments
integer
Numero de parcelas. Obrigatorio quando type=credit_card. Intervalo 1-21.
charge.card
object
Obrigatorio quando type=credit_card. Ou { "id": "<token>" } para cartao tokenizado, ou { "number", "cvv", "name", "expirationMonth", "expirationYear" }.

Resposta

200 OK (sim, mesmo na criacao — comportamento historico).
payment
object
Payload encapsulado com os campos abaixo.
payment.id
string
UUID interno da transacao.
payment.acquirer_id
string
Identificador historico da transacao na infraestrutura de processamento (zoop_id).
payment.status
string
Status retornado pela infraestrutura de processamento: succeeded, failed, pending, etc.
payment.boleto.url
string
Presente apenas quando type=boleto. URL do PDF do boleto hospedado.
payment.pix.copy_paste
string
Presente apenas quando type=pix. String EMV BR Code (copia e cola).
payment.pix.qr_code
string
Presente apenas quando type=pix. Imagem do QR data:image/png;base64,... gerada localmente.
{
  "payment": {
    "id": "9a1d2b8a-ee44-4f9a-9c1f-0a3a4b9c2d11",
    "acquirer_id": "8b6f3e4cd2334e09a5f1a2b3c4d5e6f7",
    "status": "succeeded"
  }
}

Erros

StatusQuando
400Validacao do corpo falhou, vendedor nao encontrado ou busca invalida.
402Cartao recusado — o payload de erro da infraestrutura de processamento e retornado verbatim.
405Metodo diferente de POST.
500Erro desconhecido na infraestrutura de processamento — a resposta bruta e encaminhada sob acquirerError e a falha e reportada ao monitoramento.

Exemplos

curl -X POST "https://api.dlpay.cloud/sales/seller/$SELLER_ID/payment" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": "199.90",
    "description": "Pedido #4521",
    "charge": {
      "type": "pix",
      "name": "Maria Souza",
      "email": "maria@example.com",
      "phone": "11999990000"
    }
  }'