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:
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 valoresCCTYPE
(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 deCCTYPE
está basado en su propia definición. - Para la columna
CCALGTASKRN
: Para realizar una comprobación deLUHN
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 deCCLENGTH
yCCPREFIX
, deje la columnaCCALGTASKRN
en blanco.