package Ġcom . air wal lex . payment accept ance Ċ Ċ import Ġcom . air wal lex . android . model . We Chat Ċ import Ġcom . tencent . mm . opens dk . model base . Base Resp Ċ import Ġcom . tencent . mm . opens dk . model pay . Pay Req Ċ import Ġcom . tencent . mm . opens dk . openapi . I WX API Ċ import Ġcom . tencent . mm . opens dk . openapi . WX API Factory Ċ Ċ class ĠW X Pay Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġinstance : ĠW X Pay Ġby Ġlazy ( mode Ġ= ĠLazy Thread Safety Mode . SYN CH RON IZED ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠW X Pay () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġval Ġwe Chat Api : ĠI WX API Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠ ĠW X API Factory . create WX API ( Sample Application . instance , Ġnull ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġvar Ġlistener : ĠWe Chat Payment Listener ? Ġ= Ġnull ĊĊĠĠĠ Ġfun Ġlaunch We Chat ( ĊĠĠĠĠĠĠĠ Ġdata : ĠWe Chat , ĊĠĠĠĠĠĠĠ Ġlistener : ĠWe Chat Payment Listener ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . listener Ġ= Ġlistener ĊĠĠĠĠĠĠĠ Ġlaunch We Chat ( data ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġon Resp ( err Code : ĠInt , Ġerr Text : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġwhen Ġ( err Code ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBase Resp . Err Code . ERR _ OK Ġ-> Ġlistener ?. on Success () ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBase Resp . Err Code . ERR _ COMM Ġ-> Ġlistener ?. on Failure ( err Code . toString (), Ġerr Text ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠBase Resp . Err Code . ERR _ USER _ CANCEL Ġ-> Ġlistener ?. on Cancel () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġlistener ?. on Failure ( err Code . toString (), Ġerr Text ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġlaunch We Chat ( data : ĠWe Chat ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsuccess Ġ= Ġwe Chat Api . register App ( Settings . we Chat AppId ) ĊĠĠĠĠĠĠĠ Ġif Ġ( success ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwe Chat Api . send Req ( create Pay Req ( data )) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlistener ?. on Failure (" 0 ", Ġ" Failed Ġto Ġstart ĠWe Chat ĠPay ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcreate Pay Req ( we Chat : ĠWe Chat ): ĠPay Req Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġwe Chat Req Ġ= ĠPay Req () ĊĠĠĠĠĠĠĠ Ġwe Chat Req . appId Ġ= Ġwe Chat . appId ĊĠĠĠĠĠĠĠ Ġwe Chat Req . partner Id Ġ= Ġwe Chat . partner Id ĊĠĠĠĠĠĠĠ Ġwe Chat Req . pre pay Id Ġ= Ġwe Chat . pre pay Id ĊĠĠĠĠĠĠĠ Ġwe Chat Req . package Value Ġ= Ġwe Chat .` package ` ĊĠĠĠĠĠĠĠ Ġwe Chat Req . nonce Str Ġ= Ġwe Chat . nonce Str ĊĠĠĠĠĠĠĠ Ġwe Chat Req . time Stamp Ġ= Ġwe Chat . timestamp ĊĠĠĠĠĠĠĠ Ġwe Chat Req . sign Ġ= Ġwe Chat . sign ĊĠĠĠĠĠĠĠ Ġreturn Ġwe Chat Req ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinterface ĠWe Chat Payment Listener Ġ{ ĊĠĠĠĠĠĠĠ Ġfun ĠonSuccess () ĊĊĠĠĠĠĠĠĠ Ġfun Ġon Failure ( err Code : ĠString ?, Ġerr Message : ĠString ?) ĊĊĠĠĠĠĠĠĠ Ġfun Ġon Cancel () ĊĠĠĠ Ġ} Ċ } Ċ