/* Ċ Ġ* ĠCreated Ġby ĠNon th aw att ĠPh ong w itt ay apan u Ġon Ġ 1 0 / 7 / 2 1 , Ġ 3 : 3 9 ĠPM Ċ Ġ* ĠCopyright ĠÂ© Ġ 2 0 2 1 Ġ 2 C 2 P . ĠAll Ġrights Ġreserved . Ċ Ġ*/ Ċ Ċ package Ġcom . cc pp . pg w _ sdk . api Ċ Ċ import Ġandroid . util . Log Ċ import Ġandroidx . annotation . NonNull Ċ import Ġcom . cc pp . pg w . sdk . android . callback . API Response Callback Ċ import Ġcom . cc pp . pg w . sdk . android . core . PG W SDK Ċ import Ġcom . cc pp . pg w . sdk . android . enums . API Response Code Ċ import Ġcom . cc pp . pg w . sdk . android . model . api . Transaction Status Request Ċ import Ġcom . cc pp . pg w . sdk . android . model . api . Transaction Status Response Ċ import Ġio . flutter . plugin . common . MethodCall Ċ import Ġio . flutter . plugin . common . Method Channel Ċ import Ġorg . json . JSONObject ĊĊ Ċ class ĠTransaction Status Api ( ĊĠĠĠ Ġ@ NonNull Ġval Ġcall : ĠMethod Call , Ġ@ NonNull Ġval Ġresult : ĠMethod Channel . Result Ċ ) Ġ{ ĊĊĠĠĠ Ġfun Ġrequest () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġjson Ġ= Ġcall . argument < String >(" transaction Status Request ") Ġ?: Ġ"" ĊĠĠĠĠĠĠĠ Ġval ĠjsonObject Ġ= ĠJSONObject ( json ) ĊĠĠĠĠĠĠĠ Ġval Ġpayment Token Ġ= ĠjsonObject [" payment Token "]. toString () ĊĊĠĠĠĠĠĠĠ ĠLog . d (" DEMO ", Ġ" parse Json : ĠRequest Ġ=> > Ġ${ jsonObject . toString ( 2 )} ") ĊĊĠĠĠĠĠĠĠ Ġval Ġtransaction Status Request Ġ= ĠTransaction Status Request ( payment Token ) ĊĠĠĠĠĠĠĠ Ġtransaction Status Request . set Additional Info ( true ) ĊĊĠĠĠĠĠĠĠ ĠP GW SDK . getInstance () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. transaction Status ( transaction Status Request , Ġobject Ġ: ĠAPI Response Callback < Transaction Status Response > Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Response ( response : ĠTransaction Status Response ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( response . response Code Ġ== ĠAPI Response Code . Transaction NotFound Ġ|| ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresponse . response Code Ġ== ĠAPI Response Code . Transaction Completed ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Read Ġtransaction Ġstatus Ġin quiry Ġresponse . ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . success ( response ToJson ( response )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Get Ġerror Ġresponse Ġand Ġdisplay Ġerror . ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" DEMO ", Ġ" on Response : ĠError Ġ${ response . response Code }") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠLog . d (" DEMO ", Ġ" on Response : ĠError Ġ${ response . response Description }") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġresult . error ( response . response Code , Ġresponse . response Description , Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Failure ( error : ĠThrowable ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Get Ġerror Ġresponse Ġand Ġdisplay Ġerror . ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġresponse ToJson ( response : ĠTransaction Status Response ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresponse Map Ġ= Ġmap Of < String , ĠAny >( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" channel Code " Ġto Ġresponse . channel Code , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" invoice No " Ġto Ġresponse . invoice No , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" additional Info " Ġto Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" transaction Details " Ġto Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" dateTime " Ġto Ġresponse . additional Info . transaction Info . dateTime , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" agent Code " Ġto Ġresponse . additional Info . transaction Info . agent Code , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" channel Code " Ġto Ġresponse . additional Info . transaction Info . channel Code , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" data " Ġto Ġresponse . additional Info . transaction Info . data , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" interest Type " Ġto Ġresponse . additional Info . transaction Info . interest Type , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" interest Rate " Ġto Ġresponse . additional Info . transaction Info . interest Rate , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" monthly Amount " Ġto Ġresponse . additional Info . transaction Info . monthly Amount , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" install ment Period " Ġto Ġresponse . additional Info . transaction Info . install ment Period , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" amount " Ġto Ġresponse . additional Info . transaction Info . amount , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" currency Code " Ġto Ġresponse . additional Info . transaction Info . currency Code , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" invoice No " Ġto Ġresponse . additional Info . transaction Info . invoice No , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" product Description " Ġto Ġresponse . additional Info . transaction Info . product Description , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" merchant Details " Ġto Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" id " Ġto Ġresponse . additional Info . merchant Info . id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" name " Ġto Ġresponse . additional Info . merchant Info . name , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" address " Ġto Ġresponse . additional Info . merchant Info . address , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" email " Ġto Ġresponse . additional Info . merchant Info . email , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" logo Url " Ġto Ġresponse . additional Info . merchant Info . logo Url , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" banner Url " Ġto Ġresponse . additional Info . merchant Info . banner Url , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" payment Result Details " Ġto Ġmap Of ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" code " Ġto Ġresponse . additional Info . result Info . response Code , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" description " Ġto Ġresponse . additional Info . result Info . response Description , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" auto Redirect Timer " Ġto Ġresponse . additional Info . result Info . auto Redirect Timer , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" frontend Return Url " Ġto Ġresponse . additional Info . result Info . frontend Return Url , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" frontend Return Data " Ġto Ġresponse . additional Info . result Info . frontend Return Data , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" response Code " Ġto Ġresponse . response Code , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ" response Description " Ġto Ġresponse . response Description , ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġreturn ĠJSONObject ( response Map ). toString () ĊĠĠĠ Ġ} Ċ Ċ }