package Ġvent um . zephyr . google p ays ample Ċ Ċ import Ġandroid . content . Context Ċ import Ġcom . google . android . gms . common . api . ApiException Ċ import Ġcom . google . android . gms . wallet .* Ċ import Ġjava . util .* Ċ Ċ object ĠGoogle Payment Utils Ġ{ ĊĠĠĠ Ġconst Ġval ĠLOAD _ PAYMENT _ DATA _ REQUEST _ CODE Ġ= Ġ 1 0 0 1 ĊĊĠĠĠ Ġfun Ġcreate Payments Client ( context : ĠContext ): ĠPay ments Client Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠWallet . get Payments Client ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠWallet . Wallet Options . Builder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Environment ( Wallet Constants . ENVIRONMENT _ TEST ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build ()) ĊĊĠĠĠ Ġfun Ġis Ready To Pay ( payments Client : ĠPay ments Client , Ġcallback : Ġ( res : ĠBoolean ) Ġ-> ĠUnit ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= ĠIs Ready To Pay Request . newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Allowed PaymentMethod ( Wallet Constants . PAYMENT _ METHOD _ CARD ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Allowed PaymentMethod ( Wallet Constants . PAYMENT _ METHOD _ TOKEN IZED _ CARD ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠ Ġval Ġtask Ġ= Ġpayments Client . is Ready To Pay ( request ) ĊĠĠĠĠĠĠĠ Ġtask . add On Complete Listener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcallback . invoke ( task . result ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( exception : ĠApiException ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexception . printStackTrace () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcallback . invoke ( false ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġcreate Token ization Parameters (): ĠPayment Method Token ization Parameters Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠPayment Method Token ization Parameters . newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set PaymentMethod Token ization Type ( Wallet Constants . PAYMENT _ METHOD _ TOKEN IZATION _ TYPE _ PAYMENT _ GATE WAY ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Parameter (" gateway ", Ġ" stripe ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Parameter (" stripe : publish able Key ", Ġ" pk _ test _ zq 1 7 Q Zc 7 r WH C nv R qw X 0 Fe DB j ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Parameter (" stripe : version ", Ġ" 8 . 0 . 0 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġcreate Payment Data Request (): ĠPayment Data Request Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrequest Ġ= ĠPayment Data Request . newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Transaction Info ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTransaction Info . newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Total Price Status ( Wallet Constants . TOTAL _ PRICE _ STATUS _ FINAL ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Total Price (" 1 0 . 0 0 ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Currency Code (" USD ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Allowed PaymentMethod ( Wallet Constants . PAYMENT _ METHOD _ CARD ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Allowed PaymentMethod ( Wallet Constants . PAYMENT _ METHOD _ TOKEN IZED _ CARD ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. set Card Requirements ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCard Requirements . newBuilder () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. add Allowed Card Networks ( Arrays . asList ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠWallet Constants . CARD _ NETWORK _ AME X , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠWallet Constants . CARD _ NETWORK _ DIS COVER , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠWallet Constants . CARD _ NETWORK _ VIS A , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠWallet Constants . CARD _ NETWORK _ MASTER CARD )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. build ()) ĊĠĠĠĠĠĠĠ Ġrequest . set PaymentMethod Token ization Parameters ( create Token ization Parameters ()) ĊĠĠĠĠĠĠĠ Ġreturn Ġrequest . build () ĊĠĠĠ Ġ} Ċ }