Pular para o conteúdo

Criar venda avulsa

Utilize este endpoint para criar um pedido e processá-lo no mesmo request (pagamento direto / checkout transparente síncrono), enviando os itens e os dados de pagamento — cartão ou Pix — diretamente, sem necessidade de cadastrar produtos no painel.

Os itens são avulsos (sku, title, unit_price, quantity) e existem apenas naquele pedido.

Endpoint
POST /api/v1/order/single

Abaixo, você pode ver exemplos de requisições para os métodos de pagamento: Cartão de crédito, Pix e Boleto.

Exemplo para cartão de crédito
curl --request POST \
--url https://sandbox.azpag.dev/api/v1/order/single \
--header 'Authorization: Bearer {token}' \
--header 'Accept: application/json' \
--header 'Content-type: application/json' \
--data '{
"customer": {
"email": "cliente@exemplo.com",
"fullname": "Maria Souza",
"taxvat": "12345678909",
"telephone": "11999998888"
},
"address": {
"postcode": "01310-100",
"street": "Av. Paulista",
"number": 1000,
"complement": "Sala 1",
"city": "São Paulo",
"region": "SP",
"district": "Bela Vista"
},
"items": [
{
"sku": "ABC-123",
"title": "Consultoria",
"unit_price": 150.00,
"quantity": 1
}
],
"payment": {
"method": "credit",
"installments": 1,
"card": {
"holder": "MARIA SOUZA",
"number": "4111111111111111",
"expiration": "12/2027",
"security": "123"
}
}
}'
Exemplo para Pix
curl --request POST \
--url https://sandbox.azpag.dev/api/v1/order/single \
--header 'Authorization: Bearer {token}' \
--header 'Accept: application/json' \
--header 'Content-type: application/json' \
--data '{
"customer": {
"email": "cliente@exemplo.com",
"fullname": "Maria Souza",
"taxvat": "12345678909",
"telephone": "11999998888"
},
"address": {
"postcode": "01310-100",
"street": "Av. Paulista",
"number": 1000,
"city": "São Paulo",
"region": "SP",
"district": "Bela Vista"
},
"items": [
{
"sku": "ABC-123",
"title": "Consultoria",
"unit_price": 150.00,
"quantity": 1
}
],
"payment": {
"method": "pix",
"expiration": 10
}
}'
Exemplo para boleto bancário
curl --request POST \
--url https://sandbox.azpag.dev/api/v1/order/single \
--header 'Authorization: Bearer {token}' \
--header 'Accept: application/json' \
--header 'Content-type: application/json' \
--data '{
"customer": {
"email": "cliente@exemplo.com",
"fullname": "Maria Souza",
"taxvat": "12345678909",
"telephone": "11999998888"
},
"address": {
"postcode": "01310-100",
"street": "Av. Paulista",
"number": 1000,
"city": "São Paulo",
"region": "SP",
"district": "Bela Vista"
},
"items": [
{
"sku": "ABC-123",
"title": "Consultoria",
"unit_price": 150.00,
"quantity": 1
}
],
"payment": {
"method": "bank_slip"
}
}'

Quando payment.method = credit, é possível enviar payment.card.token no lugar dos dados brutos do cartão (holder / number / expiration / security). Nesse caso, apenas o token é validado.

Exemplo com cartão tokenizado
curl --request POST \
--url https://sandbox.azpag.dev/api/v1/order/single \
--header 'Authorization: Bearer {token}' \
--header 'Accept: application/json' \
--header 'Content-type: application/json' \
--data '{
"customer": {
"email": "cliente@exemplo.com",
"fullname": "Maria Souza",
"taxvat": "12345678909",
"telephone": "11999998888"
},
"address": {
"postcode": "01310-100",
"street": "Av. Paulista",
"number": 1000,
"city": "São Paulo",
"region": "SP",
"district": "Bela Vista"
},
"items": [
{
"sku": "ABC-123",
"title": "Consultoria",
"unit_price": 150.00,
"quantity": 1
}
],
"payment": {
"method": "credit",
"installments": 1,
"card": {
"token": "card_3e1d9542-09fe-4b8b-9800-38f99f5b2147"
}
}
}'

Para aplicar um desconto ao total do pedido, informe o nó discount com o valor em total.

"discount": { "total": 30.00 }
AtributoTipoObrigatórioDescriçãoInstruções
customerObjetoSim
idNúmeroNãoID de um cliente já existente.
fullnameTextoSimNome do comprador.
Ex: Maria Souza
Em caso de empresas, informar a Razão Social.
taxvatTextoSimDocumento do comprador (CPF ou CNPJ).
Ex: 12345678909
Apenas números.
emailTextoSimEmail do comprador.
telephoneTextoSimTelefone do comprador.
Ex: 11999998888
addressObjetoSim
postcodeTextoSimCEP do endereço do comprador.
Ex: 01310-100
Formato com hífen (00000-000).
streetTextoSimLogradouro do endereço do comprador.
Ex: Av. Paulista
numberNúmeroSimNúmero do endereço do comprador.
Ex: 1000
complementTextoNãoComplemento do endereço do comprador.
Ex: Sala 1
districtTextoSimBairro do endereço do comprador.
Ex: Bela Vista
cityTextoSimCidade do endereço do comprador.
Ex: São Paulo
regionTextoSimUF do endereço do comprador.
Ex: SP
itemsArraySimLista de itens avulsos do pedido (sem cadastro prévio).
items[].skuTextoSimCódigo do item nessa transação.
Ex: ABC-123
items[].titleTextoSimDescrição do item nessa transação.
Ex: Consultoria
items[].unit_priceDecimalSimValor unitário do item. Não utilize vírgula para os centavos.
Ex: 150.00
items[].quantityInteiroSimQuantidade do item nessa transação.
Ex: 1
discountObjetoNãoDesconto aplicado ao total do pedido.
discount.totalDecimalNãoValor do desconto.
Ex: 30.00
paymentObjetoSim
methodTextoSimQual opção de pagamento será realizada: credit, pix ou bank_slip.
installmentsInteiroCondicionalNúmero de parcelas (1 a 12).Obrigatório quando method for credit.
expirationInteiroNãoValidade do Pix/boleto.
payment.cardObjetoCondicionalObrigatório quando method for credit. Envie os dados do cartão ou um token de cartão salvo.
holderTextoSimNome impresso no cartão (máx. 25 caracteres).
Ex: MARIA SOUZA
numberTextoSimNúmero do cartão de crédito do comprador.
expirationTextoSimData de expiração no formato MM/YYYY, não vencida.
Ex: 12/2027
securityTextoSimCódigo de segurança do cartão (CVV).
tokenTextoNãoToken de cartão salvo, enviado no lugar dos dados completos do cartão.Quando informado, apenas o token é validado.

Todas as respostas retornam HTTP 200 (exceto empresa em moderação); o resultado real é indicado pelos campos success / hasError no corpo.

Sucesso — pagamento aprovado (HTTP 200)
{
"success": true,
"response": "Pedido criado com sucesso",
"data": {
"order_number": "1654112455",
"public_key": "t9rb",
"status": "paid"
},
"payment": {
"tid": "...",
"nsu": "...",
"link_to_pay": "https://sandbox.azpag.dev/...",
"digitable_number": "...",
"due_date": "...",
"card": {
"token": "card_3e1d9542-09fe-4b8b-9800-38f99f5b2147",
"brand": "visa",
"last_digits": "1111"
}
}
}

Os campos link_to_pay e digitable_number são retornados para Pix e boleto (rota de pagamento e linha digitável / copia-e-cola). O nó card só é retornado quando há pagamento com cartão.

Falha de pagamento — pedido criado, mas não pago (HTTP 200)
{
"hasError": true,
"response": "<motivo da recusa>",
"data": {
"order_number": "1654112455",
"public_key": "t9rb",
"status": "unpaid"
}
}
Empresa em moderação (HTTP 403)
{
"hasError": true,
"response": "No momento não foi possível processar sua solicitação..."
}

Nas transações por cartão de crédito, a resposta inclui o token do cartão. É possível armazenar esse token para realizar novas vendas, informando apenas este campo em payment.card.token no lugar de todos os dados do cartão.