package Ġcom . max pay . sdk . payment . utils čĊč Ċ class ĠLu hn Algorithm Helper Ġ{ čĊĠĠĠ Ġcompanion Ġobject { čĊĠĠĠĠĠĠĠ Ġ// ĠReturns Ġtrue Ġif Ġgiven čĊĠĠĠĠĠĠĠ Ġ// Ġcard Ġnumber Ġis Ġvalid čĊĠĠĠĠĠĠĠ Ġfun Ġcheck Lu hn ( card No : ĠString ): ĠBoolean Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġn Digits Ġ= Ġcard No . length čĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġn Sum Ġ= Ġ 0 čĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġis Second Ġ= Ġfalse čĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġn Digits Ġ- Ġ 1 Ġdown To Ġ 0 ) Ġ{ čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġd Ġ= Ġcard No [ i ] Ġ- Ġ' 0 ' čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( is Second Ġ== Ġtrue ) Ġd Ġ= Ġd Ġ* Ġ 2 čĊčĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠWe Ġadd Ġtwo Ġdigits Ġto Ġhandle čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġcases Ġthat Ġmake Ġtwo Ġdigits čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġafter Ġdoub ling čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġn Sum Ġ+= Ġd Ġ/ Ġ 1 0 čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġn Sum Ġ+= Ġd Ġ% Ġ 1 0 čĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Second Ġ= Ġ! is Second čĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} čĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġn Sum Ġ% Ġ 1 0 Ġ== Ġ 0 čĊĠĠĠĠĠĠĠ Ġ} čĊĠĠĠ Ġ} č Ċ }