Closed scramatte closed 1 year ago
Parece ser que un error que devuelve Curl. No que pretendo hacer es un pago por referencia directo sin formulario. Con Rest o sin.
Para los pagos por referencia lo primero es pasar por el formulario luego de eso, ya se puede hacer la llamada por Rest, tendría que probarlo. Lo que no se si es sin tener un FUC válido me active esa opción, lamentablemente REDSYS no APOYA este tipo de desarrollos sin antes pasar POR CAJA.
Hola,
El primer formulario me funciona y puedo recoger el identificador. Si luego utilizo el mismo código añadiendo el valor del identificador, llego a la página de Redsys y solamente tengo que validar el pago, no me pide el nº de tarjeta.
Lo que no me funciona es el pago directo para poder hacer una suscripción automática mensual. Tengo FUC válido e activo en producción. He probado, y me da el mismo error
Dime si necesita probar algo y lo hago. ¿Podría ser que falte que Redsys active algo para eso?
Gracias Un saludo
Eso lo que me constetarón de RedSys hace tiempo y se lo pedi a mi Banco, pero no estoy muy seguro que este activo. Mañana lo reclamo. Al parecer hay que tener activado la operativa MIT
PAGO POR REFERENCIA El titular de la tarjeta introduce los datos de la tarjeta en el 1r pago. Redsys devuelve al comercio una referencia o token asociado a esa tarjeta para que el titular pueda realizar pagos posteriores sin necesidad de volver a introducir los datos de la tarjeta (pago 1 click) o para realizar cobros periódicos (como pago de suscripciones o importes fraccionados).
Esto significa que el comercio NO tiene los datos de la tarjeta y por lo tanto la oficina PCI no interviene, con la salvedad de que en casos puntuales el comercio solicite el acceso a datos de tarjeta, o bien si realiza la conexión por Webservice. Sería necesario activar una exención SCA para transacciones MIT. Se consideran transacciones MIT las que el comercio envía cuando el cliente está fuera de sesión, por ejemplo, las suscripciones mensuales de Netflix, gastos de hotel no liquidados en el check-out (mini bar..), siempre que cumplan los siguientes requisitos:
Tiene que existir un acuerdo entre comercio y comprador, para realizar pagos posteriores con la tarjeta. Este acuerdo acostumbra a instrumentarse mediante contrato físico, o en comercio electrónico mediante la firma de los T&C. Tiene que haber un mandato del comprador para realizar los pagos: Autorización expresa del comprador a utilizar una tarjeta para los pagos posteriores. En comercio electrónico, se considera que en la primera transacción donde el comprador autoriza a pagos posteriores con una tarjeta debe autenticarse. La autenticación se considera como el mandato. No interacción del comprador al lanzar la operación. Para considerarse transacciones MIT, el comprador debe estar fuera de sesión. Para activar esta operativo, por favor, diríjanse a su oficina de ****.
Me han dicho que falta parámetros en la petición para el MIT y me han mandado lo siguiente También tengo una guía, pero no la puedo mandar por aquí.
Por lo visto en la 1ra petición hace faltaDS_MERCHANT_COF_TYPE = R
y en la 2da DS_MERCHANT_EXCEP_SCA = MIT
Primera petición:
{
"DS_MERCHANT_MERCHANTCODE": "xxxx",
"DS_MERCHANT_TRANSACTIONTYPE": "0",
"DS_MERCHANT_COF_INI": "S",
"DS_MERCHANT_COF_TYPE": "R",
"DS_MERCHANT_ORDER": "9722vBXOv5O",
"DS_MERCHANT_TERMINAL": "1",
"DS_MERCHANT_CURRENCY": "978",
"DS_MERCHANT_IDENTIFIER": "REQUIRED",
"DS_MERCHANT_AMOUNT": "0",
"DS_MERCHANT_MERCHANTURL":"http://www.prueba.com/urlNotificacion.php",
"DS_MERCHANT_URLOK":"http://www.prueba.com/urlOK.php",
"DS_MERCHANT_URLKO":"http://www.prueba.com/urlKO.php"
}
Segunda petición
{
"DS_MERCHANT_IDENTIFIER": "[TOKEN DEVUELTO EN LA PRIMERA PETICION]",
"DS_MERCHANT_COF_TXNID": "[TXNID DEVUELTO EN LA PRIMERA PETICION]",
"DS_MERCHANT_MERCHANTCODE": "xxxx",
"DS_MERCHANT_TRANSACTIONTYPE": "0",
"DS_MERCHANT_DIRECTPAYMENT": "true",
"DS_MERCHANT_ORDER": "4986Qpqx",
"DS_MERCHANT_TERMINAL": "1",
"DS_MERCHANT_CURRENCY": "978",
"DS_MERCHANT_AMOUNT": "5",
"DS_MERCHANT_EXCEP_SCA": "MIT",
"DS_MERCHANT_COF_INI":"N"
}
Tienes un método para poder asignar todos los parámetros en caso la clase no lo tenga por defecto.
https://github.com/ssheduardo/sermepa#asignar-par%C3%A1metros
Ahora ha hecho la peticion REST pero no autoriza la comra y devuelve código 0180 en DS_RESPONSE
Ese error que te da es
Hola,
Cuando intento hacer un pago por referencia directo , tengo este mensaje tanto en test como restTest Request failure [HttpCode: '0']
¿Que puede ser?
Un saludo