Etiqueta: tipos de pago

  • Excluir métodos y tipos de pagos en MercadoPago

    Excluir métodos y tipos de pagos en MercadoPago

    Dentro de tu carrito de compras tienes integrado preferencias de MercadoPago para el manejo de todas las compras de tus usuarios con cualquier método o tipo de pago.

    Sin embargo, tú o tu jefe, deciden agregar un nuevo requerimiento al carrito de compras. Ahora necesitan excluir los métodos o tipos de pagos de todas las nuevas preferencias de MercadoPago.

    Digamos que el requerimiento dice que los pagos en efectivo con OXXO y las transferencias SPEI sean excluidos de las nuevas preferencias de MercadoPago.

    ¿Es posible? Claro que sí.

    En este tutorial te mostraré cómo excluir los métodos y tipos de pagos de las preferencias de MercadoPago.

    Antes de empezar necesitamos claves de integración

    Para seguir con las siguientes secciones, necesitas una Public Key y un Access Token, los cuales consigues creando una integración en MercadoPago.

    Aquí hay una guía de MercadoPago que te enseña a crear una integración.

    Obtener los métodos de pago de MercadoPago

    Para excluir uno o más métodos de pago en MercadoPago primero debemos conocer los ids de esos métodos de pago.

    Para obtener esos ids debemos hacer una petición GET al siguiente enlace:

    https://api.mercadopago.com/v1/payment_methods?public_key=[PUBLIC_KEY]

    Si te fijas bien, la URL acepta el parámetro public_key. Sirve para autenticar la petición. La public_key lo obtienes en tu panel de desarrollador de MercadoPago.

    Cuando ejecutas la petición debes recibir un JSON de respuesta con múltiples valores.

    [
        {
            "id": "debvisa",
            "name": "Visa Débito",
            "payment_type_id": "debit_card",
            "status": "active",
            "secure_thumbnail": "https://www.mercadopago.com/org-img/MP3/API/logos/debvisa.gif",
            "thumbnail": "http://img.mlstatic.com/org-img/MP3/API/logos/debvisa.gif",
            "deferred_capture": "unsupported",
            "settings": [
                {
                    "card_number": {
                        "validation": "standard",
                        "length": 16
                    },
                    "bin": {
                        "pattern": "^(400064|400443|400819|400889|401531|401863|401906|402708|402766|403130|404313|404597|405063|405689|405930|406285|407848|408340|408341|408343|408400|409851|410128|410177|410277|410881|410894|411117|411608|411673|411773|411775|411808|412294|412408|413098|415231|416916|418914|418928|419334|419335|419821|419822|419823|420767|420807|420831|420839|421003|421316|422299|422671|425983|425984|426188|426808|427088|428464|430967|432049|433126|433194|433454|434256|434257|434258|434769|434798|435769|436618|438099|441312|441313|441545|441549|442177|442192|442742|442756|442788|443042|443045|444888|444889|445016|445017|445319|446115|446116|446117|446118|446878|446985|446986|449187|449700|451312|455509|455510|455511|455533|455537|457249|457476|459497|460068|460700|460766|461046|465345|465495|465496|465497|465498|465762|465828|465829|466188|466397|467010|467596|469495|469693|470132|470502|471239|471724|473622|473702|473703|473993|474174|474176|474472|474477|474478|474646|476588|476840|476890|477177|477261|477961|478200|479303|480062|480076|480078|480922|481516|481517|481582|481588|481689|482473|483030|483104|483112|483314|483316|485043|485044|486742|486796|490070|490256|490950|491089|491282|491365|491566|491567|491580|492143|498587|498590|41891410|41891431|41892810|46227850|47658885|49156630|49156634|49156644|49156650|49156651|49156652|49156653|49156654|49156655|49156656|49156657|49156658|49156659|49156660|49156661|49156662|49156663|49156664|49156665|49156666|49156667|49156668|49156669|49156670|49156671|49156672|49156673|49156674|49156675|49156676|49156677|49156678|49156679|49156680|49156681|49156682|49156683|49156684|49156685|49156686|49156687|49156688|49156689|49156690|49156691|49156692|49156693|49156694|49156695|49156696|49156697|49156698|49156699)",
                        "installments_pattern": "",
                        "exclusion_pattern": "^(49156649|49156648|49156647|49156646|49156645|49156644|49156643|49156642|49156641|49156640|49156639|49156638|49156637|49156636|49156635|49156634|49156633|49156632|49156631|49156630|49156629|49156628|49156627|49156626|49156625|49156624|49156623|49156622|49156621|49156620|49156619|49156618|49156617|49156616|49156615|49156614|49156613|49156612|49156611|49156610|49156609|49156608|49156607|49156606|49156605|49156604|49156603|49156602|49156601|49156600)"
                    },
                    "security_code": {
                        "length": 3,
                        "card_location": "back",
                        "mode": "mandatory"
                    }
                }
            ],
            "additional_info_needed": [
                "cardholder_name"
            ],
            "min_allowed_amount": 5,
            "max_allowed_amount": 300000,
            "accreditation_time": 2880,
            "financial_institutions": [],
            "processing_modes": [
                "aggregator"
            ]
        }
    ]

    Con el JSON anterior encontrarás información de los métodos de pago. Para México se muestran los siguientes:

    • Visa Débito – debvisa
    • Mastercard Débito – debmaster
    • American Express – amex
    • Visa – visa
    • Mastercard – master
    • Citibanamex – banamex
    • OXXO – oxxo
    • BBVA Bancomer – bancomer

    Obtener los tipos de pago de MercadoPago

    Los tipos de pago sirven para identificar si queremos hacer cobros con tarjeta de débito/crédito, efectivo, tarjeta de prepago, entre otros.

    Estos tipos de pago son encontrados dentro de la misma respuesta JSON que obtuviste en la petición anterior. Específicamente, la propiedad payment_type_id.

    Estos son los tipos de pago y sus ids encontrados en la petición:

    • ATM – atm
    • Tarjeta de crédito – credit_card
    • Tarjeta de débito – debit_card
    • Ticket – ticket
    • Transferencia bancaria – bank_transfer

    Excluir métodos o tipos de pago de una preferencia de MercadoPago

    La siguiente sección solo funciona con preferencias de MercadoPago.

    Para crear una preferencia de MercadoPago usando su API, debemos seguir la documentación.

    La petición que haremos será de tipo POST al siguiente enlace:

    https://api.mercadopago.com/checkout/preferences

    Debemos estar autenticados con nuestro Bearer Token pasándole un header de autenticación:

    Y debemos pasar datos obligatorios para crear la preferencia.

    Dentro de la documentación, busca la propiedad payment_methods, la cual es una propiedad para excluir métodos o tipos de pago y también para poner un método de pago por default.

    La propiedad payment_methods acepta las propiedades excluded_payment_methods y excluded_payment_types. Estos son arreglos y dentro de estos irán objetos con los ids de los métodos y tipos de pago, respectivamente.

    Si estamos creando una preferencia y estamos excluyendo los métodos de pago oxxo y bancomer y los tipos de pago bank_transfer. El JSON a pasar a la petición debe verse de esta forma:

    {
      "items": [
        {
          "title": "Dummy Product",
          "description": "Dummy product description",
          "category_id": "car_electronics",
          "quantity": 1,
          "unit_price": 10
        }
      ],
      "payment_methods": {
        "excluded_payment_methods": [
          {
            "id": "oxxo"
          },
          {
            "id": "bancomer"
          }
        ],
        "excluded_payment_types": [
          {
            "id": "bank_transfer"
          }
        ]
      }
    }

    Recuerda que los ids de los métodos y tipos de pago se consiguieron anteriormente.

    El resultado del POST anterior será un JSON y te mostrará la información de la preferencia.

    Métodos y tipos de pago excluidos de la preferencia de MercadoPago

    Una vez creada la preferencia, la respuesta JSON tendrá las propiedades init_point y sandbox_init_point. Estos son los enlaces para enviar a tus clientes y puedan comprar.

    La propiedad sandbox_init_point es para pruebas. Entonces, si vamos a este enlace:

    https://sandbox.mercadopago.com.mx/checkout/v1/redirect?pref_id=703458213-0e171ffb-125f-4d27-9611-ae36e57e85cd

    Primero verás que no sale la opción “Transferencia SPEI”. Y si seleccionas “Efectivo”, en la siguiente ventana la opción para pagar con OXXO no estará.

    Y así es como excluyes métodos y tipos de pago en MercadoPago.

    Si tienes problemas o dudas, no dudes en comentar.