BLOG
Naturalmente podemos forzar nuestro programa previamente para que obvie el paso del pago para comprobar el resto de las fases de la compra pero tarde o temprano tenemos que simular una compra completa. Por lo general, en las pasarelas de pago que ofrecen las entidades bancarias te suministran una tarjeta de crédito ficticia con el que puedes hacer tus pruebas (además de otros requisitos) pero ¿Qué ocurre con aquellas pasarelas que no te ofrecen dicha solución, por ejemplo, PayPal?
Buscando en Google encontraremos una gran cantidad de números de tarjetas de crédito ficticias pero lamentablemente veremos como, muy a nuestro pesar, dichos números ya han sido utilizados y no podemos volver a usarlos nosotros.
La solución pasa entonces por generarte un número por tu cuenta. Aquí también existe bastante información en internet pero no encontré (o no supe encontrar) algún artículo que describiera todos los pasos a seguir, con lo que, tras ir recopilando, organizando y probando la información obtenida, decidí compartir el nuevo conocimiento conseguido y publicar este post. Vamos a ello.
Para usar una tarjeta de crédito necesitamos un número, una fecha de caducidad y un código de seguridad CCV de 3 ó 4 dígitos. Las tarjetas VISA y MASTERCARD tienen 3 dígitos y la excepción la da AMERICAN EXPRESS con 4 dígitos. En este post voy a tratar sólo las VISA y MASTER CARD que son las más utilizadas y las que he probado con éxito.
El código CCV puede ser cualquier combinación de 3 dígitos inventados. Da igual los dígitos que sean. Por ejemplo 111.
La fecha de caducidad es cualquier fecha en el futuro en formato mm/aa. Por ejemplo 12/18 (caduca en diciembre de 2018).
Ahora vamos al número de la tarjeta, aquí está el meollo de la cuestión.
Debe empezar por 4 para las VISA y por 5 para las MASTERCARD.
Debe cumplir el algoritmo de Luhn o mod-10 cuya explicación está en http://en.wikipedia.org/wiki/Luhn_algorithm.
Nos inventamos un número de 16 dígitos que empiece por 4 ó 5, según queramos que sea VISA o MASTERCARD. La última cifra no la vamos a establecer porque será el dígito de control que aún no sabemos cuál es. Le llamaremos x. Ejemplo:
400315184868186x
Contando los dígitos de derecha a izquierda , empezando la numeración desde 1 y excluyendo el dígito de control x, iremos sumándolos de esta manera:
Para los dígitos en las posiciones 2,4,6,8 ... (es decir, posiciones pares) sumamos al resultado el valor numérico del dígito.
Para los dígitos en las posiciones 1,3,5,7 ... (es decir, posiciones impares), sumamos el doble del valor del dígito. Ahora bien, si el doble del valor del dígito es mayor que 9, entonces lo que hacemos es sumar las dos cifras de ese valor doble con objeto de seguir obteniendo un número de un solo dígito. Por ejemplo, si nuestro dígito fuera 8, al multiplicarlo por 2 daría 16, que sería mayor que 9, con lo que entonces sumaríamos sus dos cifras, 1+6 y obtendríamos 7 que sería lo que sumaríamos al resultado.
Siguiendo con el ejemplo, tenemos el número de la tarjeta al que le hemos quitado la cifra x del final
400315184868186
Como las posiciones se cuentan de derecha a izquierda, podemos invertir el número y separarlo en grupos de 4 para facilitar los cálculos. Eso depende de cada uno.
6818 6848 1513 004
Y aplicamos el algoritmo, dando como resultado de la suma 68
3 + 8 + 2 + 8 + 3 + 8 + 8 + 8 + 2 + 5 + 2 + 3 + 0 + 0 + 8 = 68
El resultado de esa peculiar suma de dígitos lo multiplicamos por 9, dando 612
68 x 9 = 612
Cogemos el primer dígito de la derecha de ese resultado que será 2. Ese será el dígito de control x de nuestro número de tarjeta y el que hará que cumpla el algoritmo de Luhn. En el ejemplo
4003151848681862
Juntando todos los datos obtenemos una tarjeta de crédito operativa para nuestras pruebas, por ejemplo para el sandbox de PayPal:
Tipo tarjeta: VISA
Número: 4003151848681862 ccv 111
Caducidad: 12/18

Área de clientes