package Ġcom . very good security . vgs collect . view . card . validation . payment . brand Ċ Ċ import Ġcom . very good security . vgs collect . view . card . validation . V GS Validator Ċ Ċ /** Ġ@ suppress Ġ*/ Ċ class ĠLu hn Check Sum Validator Ġ: ĠV GS Validator Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠisValid ( content : ĠString ?): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ! content . isNull OrEmpty () Ġ&& Ġis Lu hn Check Sum Valid ( content ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġis Lu hn Check Sum Valid ( number : ĠString ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġcard Sum Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġvar Ġis Double d Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġnumber . length Ġ- Ġ 1 Ġdown To Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġdigit Ġ= Ġnumber [ i ] Ġ- Ġ' 0 ' ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( digit Ġ< Ġ 0 Ġ|| Ġdigit Ġ> Ġ 9 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontinue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġappend : ĠInt ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( is Double d ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġappend Ġ= Ġdigit Ġ* Ġ 2 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( append Ġ> Ġ 9 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġappend Ġ-= Ġ 9 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġappend Ġ= Ġdigit ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcard Sum Ġ+= Ġappend ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Double d Ġ= Ġ! is Double d ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġcard Sum Ġ% Ġ 1 0 Ġ== Ġ 0 ĊĠĠĠ Ġ} Ċ }