px-ios
px-ios copied to clipboard
Métodos de pago Colombia.
Estuve revisando la documentación y no logro obtener que se muestren los otros medios de pago al iniciar el proceso de checkout. La preferencia la estoy creando en el servidor utilizando el SDK para NodeJS (https://github.com/mercadopago/dx-nodejs), con el siguiente código:
let preference = {
items: [{
title: 'Pago de saldo.',
quantity: 1,
currency_id: 'COP',
unit_price: 20000.0
}],
payer: {
email: "[email protected]"
},
payment_methods:{
excluded_payment_methods: [],
excluded_payment_types: [],
default_payment_method_id: "pse"
}
}
return mercadopago.preferences.create(preference);
Al crear la preferencia se obtiene la siguiente respuesta:
"response": {
"processing_modes": [],
"binary_mode": false,
"payment_methods": {
"excluded_payment_methods": [
{
"id": ""
}
],
"excluded_payment_types": [
{
"id": ""
}
],
"installments": null,
"default_payment_method_id": "pse",
"default_installments": null
},
"collector_id": **********,
"operation_type": "regular_payment",
"items": [
{
"id": "",
"picture_url": "",
"title": "Pago de saldo.",
"description": "",
"category_id": "",
"currency_id": "COP",
"quantity": 1,
"unit_price": 20000
}
],
"payer": {
"name": "",
"surname": "",
"email": "[email protected]",
"date_created": "",
"phone": {
"area_code": "",
"number": ""
},
"identification": {
"type": "",
"number": ""
},
"address": {
"street_name": "",
"street_number": null,
"zip_code": ""
}
},
"back_urls": {
"success": "",
"pending": "",
"failure": ""
},
"auto_return": "",
"client_id": "963",
"marketplace": "NONE",
"marketplace_fee": 0,
"shipments": {
"receiver_address": {
"zip_code": "",
"street_number": null,
"street_name": "",
"floor": "",
"apartment": ""
}
},
"notification_url": null,
"external_reference": "",
"additional_info": "",
"expires": false,
"expiration_date_from": null,
"expiration_date_to": null,
"date_created": "2018-11-20T14:02:31.652-04:00",
"id": "378925295-9b5d5210-21a6-470f-9593-72c93c1b782d",
"init_point": "https://www.mercadopago.com/mco/checkout/start?pref_id=378925295-9b5d5210-21a6-470f-9593-72c93c1b782d",
"sandbox_init_point": "https://sandbox.mercadopago.com/mco/checkout/pay?pref_id=378925295-9b5d5210-21a6-470f-9593-72c93c1b782d"
},
"status": 201,
"idempotency": null,
"pagination": null
Posteriormente, se procede a realizar el Mobile Checkout con el id de la preferencia:
let checkout = MercadoPagoCheckout.init(builder: MercadoPagoCheckoutBuilder.init(publicKey: "TEST-**********", preferenceId: "378925295-9b5d5210-21a6-470f-9593-72c93c1b782d"))
if let myNavigationController = navigationController {
checkout.start(navigationController: myNavigationController)
}
En la aplicación al ejecutar la función anterior lo primero que se muestra es la pantalla para ingresar la tarjeta:
Y si se intenta ingresar la tarjeta de prueba para Colombia (4013 5406 8274 6260) https://www.mercadopago.com.co/developers/es/guides/payments/api/testing/ se muestra este error:
Al presionar "More Info":
Nota
Me di cuenta que si abro la url de sandbox_init_point
(https://sandbox.mercadopago.com/mco/checkout/pay?pref_id=378925295-9b5d5210-21a6-470f-9593-72c93c1b782d) se ingresa directamente a pago por pse y permite seleccionar los otros medios de pago. Esto me hace creer que el problema no estaría en la preferencia si no en la integración con el SDK.
He intentado modificar los parámetros de la preferencia, agregando más información del comprador pero no ha servido. Espero puedan orientarme sobre lo que puede estar sucediendo.
Estuve leyendo en el foro de desarrolladores y encontré usuarios con el mismo problema pero ninguna solución.
https://www.mercadopago.com.ar/developers/es/community/forum/?place=msg%2Fmercadopago-developers%2FbrAtzQ2fg8c%2FXxpPIL5TBAAJ
Gracias.
Originally posted by @f-martinez11 in https://github.com/mercadopago/px-ios/issues/1731#issuecomment-440393256
Gracias por todo el detalle @f-martinez11 . Lo analizamos, y seguimos por este hilo.
Algún avance al respecto? Tampoco me funciona los métodos de pago desde Colombia en modo Sandbox Gracias de antemano!