package Ġcom . r azor pay . sample app . kotlin Ċ Ċ import Ġandroid . app . Activity Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . os . Persist able Bundle Ċ import Ġandroid . util . Log Ċ import Ġandroid . widget . Button Ċ import Ġandroid . widget . Toast Ċ import Ġcom . r azor pay . Checkout Ċ import Ġcom . r azor pay . Payment Result Listener Ċ import Ġcom . r azor pay . sample app . R Ċ import Ġorg . json . JSONObject Ċ import Ġjava . lang . Exception Ċ Ċ class ĠPayment Activity : ĠActivity (), ĠPayment Result Listener Ġ{ ĊĊĠĠĠ Ġval ĠTAG : String Ġ= ĠPayment Activity :: class . toString () ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ payment ) ĊĠĠĠĠĠĠĠ Ġ/* ĊĠĠĠĠĠĠĠ Ġ* ĠTo Ġensure Ġfaster Ġloading Ġof Ġthe ĠCheckout Ġform , ĊĠĠĠĠĠĠĠ Ġ* Ġcall Ġthis Ġmethod Ġas Ġearly Ġas Ġpossible Ġin Ġyour Ġcheckout Ġflow ĊĠĠĠĠĠĠĠ Ġ* Ġ*/ ĊĠĠĠĠĠĠĠ ĠCheckout . preload ( application Context ) ĊĊĠĠĠĠĠĠĠ Ġvar Ġbutton : ĠButton Ġ= ĠfindViewById ( R . id . btn _ pay ) ĊĠĠĠĠĠĠĠ Ġbutton . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstart Payment () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġstart Payment () Ġ{ ĊĠĠĠĠĠĠĠ Ġ/* ĊĠĠĠĠĠĠĠ Ġ* Ġ ĠYou Ġneed Ġto Ġpass Ġcurrent Ġactivity Ġin Ġorder Ġto Ġlet ĠR azor pay Ġcreate ĠCheckout Activity ĊĠĠĠĠĠĠĠ Ġ* Ġ*/ ĊĠĠĠĠĠĠĠ Ġval Ġactivity : Activity Ġ= Ġthis ĊĠĠĠĠĠĠĠ Ġval Ġco Ġ= ĠCheckout () ĊĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġoptions Ġ= ĠJSONObject () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoptions . put (" name "," Razor pay ĠCorp ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoptions . put (" description "," Demo ing ĠChar ges ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// You Ġcan Ġomit Ġthe Ġimage Ġoption Ġto Ġfetch Ġthe Ġimage Ġfrom Ġdashboard ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoptions . put (" image "," https :// s 3 . amazonaws . com / rz p - mobile / images / rz p . png ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoptions . put (" currency "," IN R ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġoptions . put (" amount "," 1 0 0 ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpref ill Ġ= ĠJSONObject () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpref ill . put (" email "," test @ r azor pay . com ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpref ill . put (" contact "," 9 8 7 6 5 4 3 2 1 0 ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġoptions . put (" pref ill ", pref ill ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġco . open ( activity , options ) ĊĠĠĠĠĠĠĠ Ġ} catch Ġ( e : ĠException ){ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( activity ," Error Ġin Ġpayment : Ġ"+ Ġe . message , Toast . LENGTH _ LONG ). show () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġe . printStackTrace () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Payment Error ( errorCode : ĠInt , Ġresponse : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġtry { ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this ," Payment Ġfailed Ġ$ errorCode Ġ\ n Ġ$ response ", Toast . LENGTH _ LONG ). show () ĊĠĠĠĠĠĠĠ Ġ} catch Ġ( e : ĠException ){ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e ( TAG ," Exception Ġin Ġon Payment Success ", Ġe ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Payment Success ( r azor pay Payment Id : ĠString ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġtry { ĊĠĠĠĠĠĠĠĠĠĠĠ ĠToast . makeText ( this ," Payment ĠSuccessful Ġ$ r azor pay Payment Id ", Toast . LENGTH _ LONG ). show () ĊĠĠĠĠĠĠĠ Ġ} catch Ġ( e : ĠException ){ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLog . e ( TAG ," Exception Ġin Ġon Payment Success ", Ġe ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊ Ċ }