Crear promesa de descuento con cupón pre-añadido
La promesa de descuento con cupĂłn pre-añadido representa una forma simplificada y eficiente de aplicar descuentos en transacciones. En este sistema, es posible que el vendedor muestre el precio con descuento de un producto especĂfico antes de realizar el pago; es decir, antes del checkout.
La creación de la promesa de descuento con cupón pre-añadido se realiza en dos pasos:
- Validar el cupĂłn antes de realizar el pago
- Añadir el cupón antes de proceder al pago
Validar cupĂłn antes de realizar el pago.
Para validar un cupón antes de proceder con el pago, es importante enviar los datos de la campaña en la solicitud, que asegura que el cliente pueda aprovechar el beneficio del descuento antes de finalizar la compra.
Para ello, utiliza el curl a continuaciĂłn e inserta los parĂĄmetros de acuerdo con la tabla descriptiva. Esta solicitud verificarĂĄ la validez del cupĂłn y devolverĂĄ informaciĂłn detallada sobre el descuento aplicable, si lo hay.
ParĂĄmetro | DescripciĂłn | Tipo | Ejemplo |
Authorization | Token de autorizaciĂłn del usuario (Access token). Esta informaciĂłn puede obtenerse a travĂ©s del menĂș Tus integraciones. | String | APP_USR-123456-test-access-t0ken |
x-payer-token | Este es un token especĂfico del pagador. Reemplaza <PAYER_TOKEN> con el token correspondiente. Esta informaciĂłn se obtiene al finalizar el flujo de vinculaciĂłn de cuentas | String | payer1-token2-test3-example4 |
id | ID del cupĂłn. CĂłdigo que identifica y asocia su uso a una campaña 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>"
}'
Añadir cupón antes de proceder al pago
Cuando la validación de un código de cupón es necesaria durante el proceso de checkout, es decir, antes de efectuar el pago, es esencial enviar los datos de la campaña en la solicitud subsiguiente.
Esta etapa implica el envĂo de esta solicitud al sistema, para aplicar el descuento del cupĂłn a la transacciĂłn que estĂĄ a punto de finalizarse.
Utiliza el curl a continuaciĂłn para realizar la solicitud y asegĂșrate de que los parĂĄmetros sean completados de acuerdo con la siguiente tabla descriptiva.
ParĂĄmetro | DescripciĂłn | Ejemplo |
Authorization | Token de autorizaciĂłn del usuario (Access token). Esta informaciĂłn se puede obtener a travĂ©s del menĂș Tus integraciones. | APP_USR-123456-test-access-t0ken |
x-payer-token | Este es un token especĂfico del pagador. Reemplaza <PAYER_TOKEN> por el token correspondiente. Esta informaciĂłn se obtiene al finalizar el flujo de vinculaciĂłn de cuentas. | payer1-token2-test3-example4 |
amount | Valor total de la transacciĂłn | 550.50 |
coupon | Código del cupón a ser aplicado. Es el código que el usuario introduce y que refiere a la campaña de descuento. | descuento20off |
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>"
}'
Al añadir el cupón antes de proceder al pago, es posible que se reciban diferentes respuestas, sean de éxito o errores. A continuación, se detalla cada una de ellas.
Ăxito
- Respuesta de éxito al añadir cupón
- CĂłdigo de estado: no se devuelve ningĂșn cĂłdigo en esta solicitud.
- Descripción: la respuesta trae información referente a la moneda, valor del descuento, términos legales, entre otros, lo que atestigua el éxito de la transacción.
- Cuerpo de la respuesta:
Json
{
"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"
}
}
Error
- Descuento inexistente para el usuario
- CĂłdigo de estado: no se retorna ningĂșn cĂłdigo.
- DescripciĂłn: Este error se devuelve para informar que no existe un descuento disponible para el usuario.
- Cuerpo de la respuesta:
Json
{
"transaction_amount": 550.0,
"currency_id": "ARS",
"discount": {}
}
- Transaction_amount debe ser mayor que 0
- CĂłdigo de estado: 400 (Bad Request).
- DescripciĂłn: Este error se devuelve cuando el campo
transaction_amount
se llena con un valor de 0. En este caso, es necesario ingresar un valor superior a 0 y realizar una nueva solicitud. - Cuerpo de la respuesta:
Json
{
"error": "bad_request",
"message": "transaction_amount must be greater than 0",
"status": 400
}
- Transaction_amount no puede estar vacĂo
- CĂłdigo de estado: 400 (Bad Request).
- DescripciĂłn: Este error se devuelve cuando el campo
transaction_amount
se deja en blanco. En este caso, es necesario ingresar un valor superior a 0 y realizar una nueva solicitud. - Cuerpo de la respuesta:
Json
{
"error": "bad_request",
"message": "transaction_amount must not be null.",
"status": 400
}