Skip to main content

Criar um Cash-In Pix

Endpoint dedicado para criação de cobrança (cash-in) utilizando Pix como forma de pagamento.

POST/v1/chash-in/pix

Request Body Params

Todos os parâmetros listados abaixo são obrigatórios, com exceção daqueles marcados como opcionais.

PropriedadeTipoDescrição
amountint32 || floatValor a ser cobrado. Caso o valor contenha centavos, deverá ser passado no formato float (Ex. 100.12 -> Cem reais e doze centavos).
item_idstringID de cobrança/pedido em sua plataforma.
customerobjectObjeto cliente.
customer[name]stringNome do cliente.
customer[email]stringE-mail do cliente.
customer[document_number]stringNúmero do documento CPF do cliente.
customer[phone_number]stringNúmero de telefone do cliente.
customer[address]objetoObjeto endereço do cliente.
customer[address][zipcode]stringCEP do endereço do cliente.
customer[address][country]stringNacionalidade do cliente, no formato da sigla do país. Somente o formato ISO 3166-1 alfa-2 (duas letras) será aceito

Ex.: BR, US, CA...
customer[address][state]stringEstado do endereço atual do cliente, no formato da sigla do estado, ISO 3166-1 alpha-2 (duas letras).

Ex.: TX, WY, MO...
customer[address][city]stringCidade do endereço do cliente.
customer[address][neighborhood]stringBairro do endereço do cliente.
customer[address][street]stringRua do endereço do cliente.
customer[address][number]stringNúmero do endereço do cliente.
customer[address][complement]stringParâmetro opcional do complemento do endereço do cliente.
soft_descriptorstringDescrição do pagamento da cobrança que aparecerá no extrato bancário do cliente.
expirationint32Parâmetro opcional do tempo de expiração em segundos após criação. Se não for passado nenhum valor o tempo será o padrão de 86400 segundos (24 horas).
simulate_statusstringParâmetro opcional para "simular" alguns status durante a fase de desenvolvimento, uma vez que não é possível pagar uma transação Pix em Sandbox.

Valores aceitos: paid, failed e expired.
webhook_urlstringParâmetro opcional para receber notificações sobre todas as alterações de status de uma cobrança.
webhook_auth_tokenstringParâmetro opcional para autenticar as notificações enviadas para o webhook_url. Caso o parâmetro não seja informado, as notificações serão enviadas sem autenticação.

Response Object

Quando uma operação de saque bem-sucedida é criada em nossa API, abaixo está o payload do objeto de resposta.

PropriedadeTipoDescrição
statusstringStatus para validar que a operação foi bem-sucedida e o pix está ativo.

Valor padrão: active.
date_createddateTimeData de criação da operação no formato ISODateTime.
date_updateddateTimeData de atualização do status da operação no formato ISODateTime.
cash_in_idstringNúmero identificador da operação Marlim.
amountint32 || floatValor a ser cobrado do cliente pagante.
paid_amountint32 || floatValor pago pelo cliente pagante.

Valor padrão: 0.
customer_namestringNome do cliente pagante.
customer_document_numberstringNúmero do documento do cliente pagador.
pix_copy_pastestringString para o cliente copiar e colar para efetuar o pagamento no aplicativo do banco.
pix_image_base64stringString para criar o QR Code na UI da sua aplicação para o cliente efetuar o pagamento no aplicativo do banco.

Webhooks

Todo o processo de alteração do status de uma operação de saque é assíncrono. Portanto, é importante que você passe um webhook_url durante o processo de criação de uma operação para que sua aplicação receba todas as alterações de status. Esta url da sua aplicação pode ser aberta para receber payloads dos Servidores Marlim (você pode validar os payloads recebidos pela nossa aplicação), ou caso esta url exija autenticação, você pode passar um webhook_auth_token para o Marlim enviar os webhooks com autenticação no HEADER da requisição.

ValorDescrição
paidOperação paga e capturada com sucesso.
failedO banco relatou uma falha no pagamento durante a captura.
cancelledPor algum motivo operacional, este ID de cash-in foi cancelado e não pode mais ser pago.
expiredApós 24 horas sem concluir o pagamento, esse cash-in expira e não pode mais ser pago.
info

Se for passado algum valor no parâmetro webhook_auth_token a Marlim vai enviar o token para a sua aplicação usando o padrão no Header da requisição: Authorization: Bearer {webhook_auth_token}.

Caso nenhum valor seja passado em webhook_url, você poderá consultar o status atual da operação futuramente utilizando o endpoint GET e filtrando o cash-in, utilizando a propriedade cash_in_id.

Exemplos

Nota

Os valores usados nos exemplos abaixo são apenas para fins ilustrativos e não devem ser usados para solicitações de teste. Num ambiente de desenvolvimento ou teste, utilize dados mais próximos de uma transação real (dados reais de um pagador). Se você usar valores fictícios, a API poderá não funcionar conforme o esperado.

Request
curl -X POST "https://api.pix.marlim.co/v1/chash-in/pix" \
-H "Content-Type: application/json" \
-H "api_key: api_key_value" \
-d '{
"amount": 10,
"item_id": "123456789",
"customer": {
"name": "Luke Skywalker",
"email": "luke@jedimaster.sw",
"document_number": "00099988877",
"phone_number": "+5511988776655",
"address": {
"country": "BR",
"state": "SP",
"city": "São Paulo",
"neighborhood": "Some Neighborhood",
"street": "Some Street",
"number": "1234",
"zipcode": "05544001"
}
},
"soft_descriptor": "Star Wars Company"
}'
Response200
{
"status": "active",
"date_created": "2023-10-05T12:51:47.430Z",
"date_updated": "2023-10-05T12:51:47.430Z",
"cash_in_id": "os7WT0bCGbWxAjAv2eT6",
"amount": 10,
"paid_amount": 0,
"customer_name": "Luke Skywalker",
"customer_document_number": "00099988877",
"pix_copy_paste": "00020101021226930014 --- 6304B67D",
"pix_image_base64": "iVBORw0KGgoAAAANSUhE --- rkJggg=="
}