Skip to main content
POST

Authorizations

X-Client-Id
string
header
required
X-Api-Key
string
header
required

Headers

X-Idempotency-Key
string
required

Chave de idempotência da criação. Ausente, a API devolve 422 com invalid_request

Required string length: 1 - 255

Body

application/json

Dados para criar uma Venda com 2 ou 3 cartões

amount
integer
required

Valor total em centavos. Deve ser igual à soma de payments[].amount

Required range: x >= 200
currency
enum<string>
required

Moeda da Venda. Somente BRL

Available options:
BRL
capture
boolean
required

Define o que acontece depois das autorizações. Vale para todos os cartões da Venda.

  • false: a Venda permanece pending com os cartões pre_authorized, até você chamar POST /v1/purchases/{id}/capture.
  • true: a Malga captura automaticamente os cartões pré-autorizados. Se todos já estiverem authorized, a Venda vai direto para paid.
merchantId
string<uuid>
required

Identificador do merchant da Venda

payments
object[]
required

Cartões da Venda, de 2 a 3

Required array length: 2 - 3 elements
orderId
string

Identificador do pedido no seu sistema

sessionId
string<uuid>

Identificador de uma Session de origem, apenas para rastreio. Não cria vínculo com a Session e permite filtrar a listagem

metadata
object

Pares de chave e valor livres, devolvidos na resposta. Faz parte da comparação de idempotência. Dados de cartão em claro devolvem 422 com pan_not_allowed

splitRules
object[]

Regras de split da Venda. Cada cartão recebe a parcela correspondente em payments[].splitRules

fraudAnalysis
object

Dados de antifraude da Venda, informados uma única vez. A Malga repete o objeto em cada cobrança da Venda. O campo faz parte da comparação de idempotência e nunca é retornado nas respostas, por conter dados pessoais do comprador. Dados de cartão em claro devolvem 422 com pan_not_allowed.

Response

Venda aceita com status: pending, ou repetição idempotente (mesma chave e mesmo corpo) com o estado atual da Venda. Na primeira resposta, operation traz type: authorize e status: pending; na repetição, operation pode ser omitido. payments[].card aparece quando a Malga já conhece a bandeira e os últimos quatro dígitos do cartão. pendingReview não é retornado na criação.

Venda paga com 2 ou 3 cartões

id
string<uuid>
required

Identificador da Venda

merchantId
string<uuid>
required

Identificador do merchant da Venda

amount
integer
required

Valor total da Venda em centavos

Required range: x >= 200
currency
enum<string>
required
Available options:
BRL
capture
boolean
required

Indica o modo de captura informado na criação. false exige captura explícita; true captura automaticamente

status
enum<string>
required

Status da Venda

Available options:
pending,
paid,
failed,
cancelled
payments
object[]
required
Required array length: 2 - 3 elements
createdAt
string<date-time>
required
updatedAt
string<date-time>
required
pendingReview
object

Sinal de que a Venda precisa de revisão. A Venda permanece pending e você deve interromper o polling automático

activeOperation
object

Operação pending ou processing em andamento na Venda (a mais recente). Omitido quando não há operação ativa. Nas respostas 202, a operação aceita vem em operation

orderId
string | null

Identificador do pedido no seu sistema

sessionId
string<uuid> | null

Session de origem informada na criação

metadata
object

Metadados informados na criação. Omitido quando não enviados

splitRules
object[]

Regras de split informadas na criação. Omitido quando não enviadas

operation
object

Operação assíncrona aceita por esta chamada. Na criação, vem com type: authorize e pode ser omitida numa repetição idempotente