Credit Card Algorithm
Credit Card Algorithm
Credit Card Algorithm
DocumentDisplay
APPSQLAP97864:Unabletocreateacreditcard.(DocID579459.1)
InthisDocument
Symptoms
Cause
Solution
References
APPLIESTO:
OraclePaymentsVersion12.0.6andlater
OraclePayablesVersion12.0.6andlater
OracleInternetExpensesVersion12.0.6andlater
Informationinthisdocumentappliestoanyplatform.
Checkedforrelevanceon23Jan2014.
OracleiPaymentVersion:12.0.2
APXWCARD.fmx
SYMPTOMS
WhenattemptingtoaddacreditcardintheCreditCardsscreeninPayables(APXWCARD),thefollowingerroroccurs:
APPSQLAP97864:Unabletocreateacreditcard.Pleaseverifythecreditcardnumber.
.
CAUSE
CreditCardSecuritywassetto"Immediate".AspertheanalysisinBug6788107,whencreditcardsecurityissetto
"Immediate",theerroroccursbecause"InstrRegService.java"isenforcingowner_idparameterthatisnotcurrently
passedbyPayables.
1.Ifthevalueis"Immediate",theregistrationwillbedonevia"IBY_INSTRREG_PUB.OraInstrAdd"thatcallstheECAPP
servletthatwillhandletheregistrationwiththeclass"InstrRegService.java".Asthisclassmakesmandatorythe
parameter"oapfInstrOwnerId"andthisparameteriscurrentlynotpassedbyPayables,theregistrationwillfail.
2.Ifthevalueis"Scheduled",theregistrationwillbedonevia"iby_creditcard_pkg.Create_Card".AsthislastAPIdoes
NOTenforceowner_idtheregistrationwillsucceed.
Iftheregisteringcodewasthepathofscenario1,Javalayercodewillencryptthecard,makevalidationsontheLuhn
algorithmandinsertthecardinthedatabase.Ifthepathisthatofscenario2,encryptionwillnotoccurandtheLuhn
algorithmwillbevalidated.
Note:Whenencryptiondoesnotoccur("Immediate"),thenaconcurrentprogram"EncryptSensitiveDataRequestSet"
isusedatalaterstagetoencryptthedata.
SOLUTION
https://support.oracle.com/epmos/faces/SearchDocDisplay?_adf.ctrlstate=z4ol13qpa_4#FIX
1/2
6/9/2015
DocumentDisplay
1.Firstlyitisnecessarytoensurethatthecreditcardnumberyouareenteringisavalidone.Thevalidityofacredit
cardnumbercanbedeterminedbytheLuhnvalidationalgorithm.Thevalidationisasfollows:
"Foracardwithanevennumberofdigits,doubleeveryoddnumbereddigitandsubtract9iftheproductisgreater
than9.Addupalltheevendigitsaswellasthedoubledodddigits,andtheresultmustbeamultipleof10orit'snota
validcard.Ifthecardhasanoddnumberofdigits,performthesameadditiondoublingtheevennumbereddigits
instead."
"Oddnumbereddigit"meansthefirstdigit,thethirddigit,thefifthdigitetc(i.e.it'snothingtodowithwhetherthedigit
itselfisanoddnumberorevennumber)."Evendigits"meanstheseconddigit,thefourthdigit,thesixthdigitetc.
PleaserefertouploadedfileCCValLuhnAlgorithm.xlsforsomeexamples.
2.Assumingthatyouhaveverifiedthevalidityofthecreditcardnumber,butyouarestillgettingthesameerror
message,pleaseperformthefollowingworkaround.
Workaround:SetthecreditcardsecuritytoScheduledinsteadofImmediateasfollows:
a)PaymentsSetupAdministrator>SystemSecurityOptions>GotoTask
b)SetCreditCardto"Scheduled"insteadof"Immediate".
c)Ifyouwishtoencryptthedata,submittheconcurrentprogram"EncryptSensitiveDataRequestSet"
TheissuehasbeenfixedinPayablesPatch7529313.(withthepatchitshouldbepossibletorevertbacktousing
"Immediate").
Didn'tfindwhatyouarelookingfor?
https://support.oracle.com/epmos/faces/SearchDocDisplay?_adf.ctrlstate=z4ol13qpa_4#FIX
2/2