Inicio
DocumentaciĂłn
Recursos
Partners
Comunidad

Recursos

Revisa las actualizaciones de nuestras soluciones y operatividad del sistema o pide soporte técnico.

Partners

Conoce nuestro programa para agencias o desarrolladores que ofrecen servicios de integraciĂłn y vendedores que quieren contratarlos.

Comunidad

Recibe las Ășltimas novedades, pide ayuda a otros integradores y comparte tus conocimientos.

Procesar pagos con descuento - Descuentos - Mercado Pago Developers

BĂșsqueda inteligente powered by OpenAI 

Procesar pagos con descuento

En esta secciĂłn, detallamos las solicitudes y los parĂĄmetros necesarios para procesar pagos con descuento, y las respuestas esperadas para cada una de ellas.

Importante
El reembolso del descuento no es instantĂĄneo; puede tardar unos 200 milisegundos sin un cupĂłn y hasta 10 segundos con un cupĂłn. Por lo tanto, recomendamos crear la promesa de descuento y proceder inmediatamente con el pago.

Para realizar el procesamiento de los pagos con descuento, utiliza el curl a continuaciĂłn y asegĂșrate de que los parĂĄmetros de la solicitud estĂ©n completos de acuerdo con la informaciĂłn descrita en la siguiente tabla.

ParĂĄmetroTipoDescripciĂłnEjemplo
AuthorizationStringToken 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
wallet_paymentObjectObjeto que agrupa información de pago procesado a través de Wallet Connect.N/A
transaction_amountDoubleValor por el cual se efectĂșa el pago.550.0
descriptionStringDescripción genérica del pago que se estå efectuando."Descripción del pago"
external_referenceStringReferencia de pago asignada por el vendedor. Solo acepta nĂșmeros y letras."Pagamento_123"
discountObjectCampo opcional que agrupa los datos del descuento a aplicar. Este campo sĂłlo es obligatorio si deseas crear un pago con descuento. Si se envĂ­a vacĂ­o, crearĂĄ un pago sin descuento.N/A
amountDoubleValor del descuento a aplicar en el pago.55.0
descriptionStringDescripciĂłn del descuento."Descuento para Black Friday".
detailObjectObjeto que proporciona informaciĂłn sobre las caracterĂ­sticas del descuento.N/A
valueDoubleCantidad de descuento a aplicar en el pago. Este campo se corresponde con el type mencionado abajo, por ejemplo, 30 por ciento.10.0
typeStringUnidad de medida del valor de descuento, pudiendo ser porcentual o un monto fijo.percent (para porcentaje) o fixed (para valores fijos).
capDoubleValor mĂĄximo por el cual el descuento puede ser aplicado en un pago.5000
payerObjectObjeto que contiene los datos del pagador.N/A
tokenStringToken especĂ­fico del pagador, utilizado para realizar toda la validaciĂłn del flujo de pago.payer1-token2-test3-example4
type_tokenStringTipo de token a ser utilizado en los pagos.wallet-token (este es el Ășnico tipo de token aceptado para los pagos a travĂ©s de Wallet Connect).
          
curl -X POST \
'https://api.mercadopago.com/v1/advanced_payments' \
--header 'Authorization: <YOUR_ACCESS_TOKEN>' \
--data '{
    "wallet_payment": {
        "transaction_amount": 550,
        "description": "DescripciĂłn del pago",
        "external_reference": "Pago_123",
        "discount": {
            "amount": 55.0,
            "description": "Pruebas wc",
            "detail": {
                "value": 10.0,
                "type": "percent",
                "cap": 5000
            }
        }
    },
    "payer": {
        "token": "PAYER_TOKEN",
        "type_token": "wallet-token"
    }
}'


        

Respuestas

A continuaciĂłn detallamos las diferentes respuestas que pueden recibirse al procesar un pago con descuento. Las mismas se categorizan en base al resultado de la solicitud, variando desde el Ă©xito en el procesamiento hasta un error especĂ­fico.

Éxito

Json

{
  "id": 1234567,
  "status": "approved",
  "marketplace": null,
  "sponsor_id": null,
  "payments": [
    {
      "id": "PAYMENT-ID",
      "status": "approved",
      "status_detail": "accredited",
      "payment_type_id": "account_money",
      "payment_method_id": "account_money",
      "token": null,
      "transaction_amount": 500,
      "installments": 1,
      "processing_mode": "aggregator",
      "issuer_id": null,
      "coupon_amount": 10.0,
      "campaign_id": "CAMPAIGN-ID",
      "coupon_code": null,
      "description": "Payment Wallet",
      "external_reference": null,
      "statement_descriptor": null,
      "date_of_expiration": null,
      "merchant_account_id": null,
      "payment_method_option_id": null,
      "additional_info": null,
      "transaction_details": null,
      "net_amount": null,
      "taxes": null
    }
  ],
  "disbursements": null,
  "payer": {
    "id": "PAYER-ID",
    "email": "PAYER-EMAIL",
    "address": null,
    "identification": null,
    "first_name": null,
    "last_name": null,
    "phone": null,
    "token": "PAYER-TOKEN",
    "external_payer_id": "EXTERNAL-PAYER-ID"
  },
  "external_reference": null,
  "description": null,
  "binary_mode": true,
  "capture": true,
  "date_created": "2023-07-24T14:30:45.574-04:00",
  "date_last_updated": "2023-07-24T14:30:46.517-04:00",
  "metadata": null,
  "additional_info": null,
  "wallet_payment": {
    "transaction_amount": 550,
    "description": "Payment Wallet",
    "external_reference": null,
    "subscription_data": null,
    "user_present": null,
    "discount": {
      "amount": 50.0,
      "description": "wallet connect test",
      "detail": {
        "value": 10.0,
        "type": "percent",
        "cap": 100000.0
      }
    },
    "payment_preference": {
      "active": true,
      "user_id": 1431302201,
      "payment_method": [
        {
          "priority": 1,
          "payment_method": "account_money"
        }
      ]
    }
  },
  "pos_id": null,
  "store_id": null,
  "wallet_connect_discount": {
    "amount": 10.0,
    "token": "DISCOUNT-TOKEN"
  }
}

Error

En caso de que el descuento aplicado en el pago no sea vĂĄlido o el valor indicado en el pedido no corresponda al valor del descuento establecido, se generarĂĄ un error, como se describe a continuaciĂłn.

Json

{
  "error": "bad_request",
  "message": "discount doesn't exist or amount is incorrect",
  "status": 400,
  "cause": [
    {
      "code": 400136,
      "description": "discount doesn't exist or amount is incorrect",
      "data": null
    }
  ]
}