Validación de la tarjeta de crédito en HCL Commerce

Cuando se envía un pedido, se invoca automáticamente el mandato CheckCCNumberCmd. Este mandato verifica la información de la tabla CCCHECK para determinar la validez del número de la tarjeta de crédito. Esta tabla está vacía de forma predeterminada y si no es encuentra ninguna entrada en la tabla, se inicia el mandato básico de comprobación de error de la tarjeta de crédito, DoLuhnCheckCmd.

Nota: Para aplicar más reglas a la validación de la tarjeta de crédito, póngase en contacto con su centro de tarjetas de crédito y confirme las reglas.

A continuación, puede rellenar la tabla CCCHECK. La tabla siguiente proporciona datos de ejemplo:

Tabla 1. Tarjeta de crédito: Datos de ejemplo
Tipo de tarjeta Prefijo del número de tarjeta Longitud del número de tarjeta
Visa 4xxxxxxx 13, 16
MasterCard 51xxxxx - 55xxxx 16
American Express 34xxxx, 37xxxxx 15

Presuponiendo que los datos de ejemplo sean correctos, inserte las filas siguientes en la tabla CCCHECK para los tipos de tarjeta listados en la tabla 1:

Insert into CCCHECK(CCRFNBR,CCTYPE,CCLENGTH,CCPREFIX,CCALGTASKRN)
values(-10001,'VISA',13,'4','com.ibm.commerce.payment.commands.DoLuhnCheckCmd ');

Insert into CCCHECK(CCRFNBR,CCTYPE,CCLENGTH,CCPREFIX,CCALGTASKRN)
values(-10002,'VISA',16,'4','com.ibm.commerce.payment.commands.DoLuhnCheckCmd ');

Insert into CCCHECK(CCRFNBR,CCTYPE,CCLENGTH,CCPREFIX,CCALGTASKRN)
values(-10003,'MasterCard',16,'51','com.ibm.commerce.payment.commands.DoLuhnCheckCmd ');

Insert into CCCHECK(CCRFNBR,CCTYPE,CCLENGTH,CCPREFIX,CCALGTASKRN)
values(-10004,'MasterCard',16,'52','com.ibm.commerce.payment.commands.DoLuhnCheckCmd ');

Insert into CCCHECK(CCRFNBR,CCTYPE,CCLENGTH,CCPREFIX,CCALGTASKRN)
values(-10005,'MasterCard',16,'53','com.ibm.commerce.payment.commands.DoLuhnCheckCmd ');

Insert into CCCHECK(CCRFNBR,CCTYPE,CCLENGTH,CCPREFIX,CCALGTASKRN)
values(-10006,'MasterCard',16,'54','com.ibm.commerce.payment.commands.DoLuhnCheckCmd ');

Insert into CCCHECK(CCRFNBR,CCTYPE,CCLENGTH,CCPREFIX,CCALGTASKRN)
values(-10007,'MasterCard',16,'55','com.ibm.commerce.payment.commands.DoLuhnCheckCmd ');

Insert into CCCHECK(CCRFNBR,CCTYPE,CCLENGTH,CCPREFIX,CCALGTASKRN)
values(-10008,'Amex',15,'34','com.ibm.commerce.payment.commands.DoLuhnCheckCmd ');

Insert into CCCHECK(CCRFNBR,CCTYPE,CCLENGTH,CCPREFIX,CCALGTASKRN)
values(-10009,'Amex',15,'37','com.ibm.commerce.payment.commands.DoLuhnCheckCmd '); 
Nota:
  • Para la columna CCTYPE: En HCL Commerce, de forma predeterminada, los valores CCTYPE (cc_brand) correspondientes definidos en el sistema de pago son VISA, MasterCard y Amex. Para otros tipos de tarjeta que quizá desee utilizar (por ejemplo, Discover), el valor de CCTYPE está basado en su propia definición.
  • Para la columna CCALGTASKRN: Para realizar una comprobación de LUHN después de validar el número de tarjeta según las reglas especificadas (prefijo y longitud), debe insertar ,com.ibm.commerce.payment.commands.DoLuhnCheckCmd tal como se muestra en este ejemplo. También puede validar el número de tarjeta con su propio mandato personalizado insertando la vía de acceso completa de la interfaz del mandato. Si no precisa realizar ninguna validación adicional que no sea la de las reglas aplicadas después de CCLENGTH y CCPREFIX, deje la columna CCALGTASKRN en blanco.