Criar promessa de desconto com cupom pré-adicionado
A promessa de desconto com cupom prĂ©-adicionado representa uma forma simplificada e eficiente de aplicar descontos em transaçÔes. Neste sistema, Ă© possĂvel que o vendedor exiba o preço com desconto de determinado produto antes de realizar o pagamento, ou seja, antes do checkout.
A criação da promessa de desconto com cupom pré-adicionado é feita em dois passos:
- Validar o cupom antes da realização do pagamento
- Adicionar o cupom antes de prosseguir para pagamento
Validar cupom antes da realização do pagamento.
Para validar um cupom antes de prosseguir com o pagamento, Ă© importante enviar os dados da campanha na solicitação subsequente. Esta solicitação garante que o cliente possa aproveitar o benefĂcio do desconto antes de finalizar a compra.
Para isso, utilize o curl abaixo e insira os parùmetros de acordo com a tabela descritiva. Esta solicitação verificarå a validade do cupom e retornarå informaçÔes detalhadas sobre o desconto aplicåvel, se houver.
Parùmetro | Descrição | Tipo | Exemplo |
Authorization | Token de autorização do usuårio (Access token). Esta informação pode ser obtida através do menu Suas integraçÔes. | String | APP_USR-123456-test-access-t0ken |
x-payer-token | Este Ă© um token especĂfico do pagador, substitua <PAYER_TOKEN> pelo token correspondente. Esta informação Ă© obtida ao finalizar o fluxo de vinculação de contas | String | payer1-token2-test3-example4 |
id | ID do cupom: CĂłdigo que identifica e associa sua utilização Ă uma campanha promocional especĂfica | String | Black_Friday_20 |
curl -X POST \
'https://api.mercadopago.com/v2/wallet_connect/coupons' \
--header 'Authorization: <Bearer YOUR_ACCESS_TOKEN>' \
--header 'x-payer-token: <PAYER_TOKEN>' \
--header 'Content-Type: application/json' \
-d '{
"id": "<COUPON>"
}'
Adicionar cupom antes de prosseguir para pagamento
Quando a validação de um código de cupom é necessåria durante o checkout, isto é, antes de efetuar o pagamento, é essencial enviar os dados da campanha na requisição subsequente.
Esta etapa envolve o envio de uma requisição ao sistema para aplicar o desconto do cupom à transação que estå prestes a ser finalizada.
Utilize o curl abaixo para realizar a requisição e garanta que os parùmetros estejam preenchidos de acordo com a tabela descritiva a seguir.
Parùmetro | Descrição | Exemplo |
Authorization | Token de autorização do usuårio (Access token). Esta informação pode ser obtida através do menu Suas integraçÔes. | APP_USR-123456-test-access-t0ken |
x-payer-token | Este Ă© um token especĂfico do pagador, substitua <PAYER_TOKEN> pelo token correspondente. Esta informação Ă© obtida ao finalizar o fluxo de vinculação de contas. | payer1-token2-test3-example4 |
amount | Valor total da transação | 550.50 |
coupon | CĂłdigo do cupom a ser aplicado. Ă o cĂłdigo que o usuĂĄrio insere e que faz referĂȘncia Ă campanha de desconto. | desconto20off |
curl -X POST \
'https://api.mercadopago.com/v2/wallet_connect/discounts' \
--header 'Authorization: Bearer <YOUR_ACCESS_TOKEN>' \
--header 'x-payer-token: <PAYER_TOKEN>' \
--header 'Content-Type: application/json' \
-d '{
"amount": 550,
"coupon": "<COUPON>"
}'
Ao adicionar o cupom antes de prosseguir para o pagamento, Ă© possĂvel que diferentes respostas sejam recebidas (sucesso/erro). Veja abaixo o detalhamento de cada uma delas.
Sucesso
- Resposta de sucesso ao adicionar cupom
Código de status: nenhum código é devolvido nesta solicitação.
Descrição: a resposta traz a informação referente à moeda, valor do desconto, termos legais, entre outros, o que atesta o sucesso da transação.
Corpo da resposta:
{ "transaction_amount": 550.0, "currency_id": "ARS", "discount": { "amount": 55.0, "detail": { "value": 10.0, "type": "percent", "cap": 1000.0 }, "legal_terms":"https://mp.com/legal" } }
Erro
- Desconto inexistente para usuĂĄrio
- CĂłdigo de status: nenhum cĂłdigo Ă© retornado.
- Descrição: Este erro retorna para informar que nĂŁo existe um desconto disponĂvel para o usuĂĄrio.
- Corpo da resposta:
Json
{
"transaction_amount": 550.0,
"currency_id": "ARS",
"discount": {}
}
- Transaction_amount deve ser maior que 0
CĂłdigo de status: 400 (Bad Request).
Descrição: Este erro retorna quando o campo `transaction_amount_ é preenchido com valor 0. Neste caso, é necessårio inserir um valor que seja superior a 0 e realizar uma nova requisição.
Corpo da resposta:
{ "error": "bad_request", "message": "transaction_amount must be greater than 0", "status": 400 }
- Transaction_amount nĂŁo pode estar vazio
CĂłdigo de status: 400 (Bad Request).
Descrição: Este erro retorna quando o campo `transaction_amount_ é deixado em branco. Neste caso, é necessårio inserir um valor que seja superior a 0 e realizar uma nova requisição.
Corpo da resposta:
{ "error": "bad_request", "message": "transaction_amount must not be null.", "status": 400 }