package Ġcom . very good security . vg sc heck out . config Ċ Ċ import Ġandroid . os . Parcel Ċ import Ġandroid . os . Parcelable Ċ import Ġcom . very good security . vg sc heck out . VG SC heck out Config Init Callback Ċ import Ġcom . very good security . vg sc heck out . collect . core . api . an ality c . event . JWT Validation Event Ċ import Ġcom . very good security . vg sc heck out . config . core . Checkout Config Ċ import Ġcom . very good security . vg sc heck out . config . networking . VG SC heck out Payment Route Config Ċ import Ġcom . very good security . vg sc heck out . config . ui . VG SC heck out Add Card Form Config Ċ import Ġcom . very good security . vg sc heck out . config . ui . VG SC heck out Payment Form Config Ċ import Ġcom . very good security . vg sc heck out . exception . VG SC heck out Exception Ċ import Ġcom . very good security . vg sc heck out . model . VG SC heck out Environment Ċ import Ġcom . very good security . vg sc heck out . util . command . Result Ċ import Ġcom . very good security . vg sc heck out . util . command . order . Get Payment Info Ċ import Ġcom . very good security . vg sc heck out . util . command . VG SC heck out C ancellable Ċ import Ġcom . very good security . vg sc heck out . util . command . order . Payment Info Ċ Ċ /** Ċ Ġ* ĠHold s Ġconfiguration Ġwith Ġpredefined Ġsetup Ġfor Ġwork Ġwith Ġpayment Ġorche stration Ġapp . Ċ Ġ* Ċ Ġ* Ġ@ param ĠaccessToken Ġpayment Ġorche stration Ġapp Ġaccess Ġtoken . Ċ Ġ* Ġ@ param Ġtenant Id Ġpayment Ġorche stration Ġtenant Ġid . Ċ Ġ* Ġ@ param Ġenvironment Ġtype Ġof Ġvault . Ċ Ġ* Ġ@ param Ġroute Config ĠNetwork ing Ġconfiguration , Ġlike Ġhttp Ġmethod , Ġrequest Ġheaders Ġetc . Ċ Ġ* Ġ@ param Ġform Config ĠUI Ġconfiguration . Ċ Ġ* Ġ@ param Ġis Screenshots Allowed ĠIf Ġtrue , Ġcheckout Ġform Ġwill Ġallow Ġto Ġmake Ġscreenshots . Ċ Ġ* Ġ@ param Ġis Analytics Enabled ĠIf Ġtrue , Ġcheckout Ġwill Ġsend Ġanalytics Ġevents Ġthat Ġhelps Ġto Ġdebug Ġissues Ġif Ġany Ġoccurs . Ċ Ġ* Ġ@ param Ġcreated From Parcel Ġif Ġtrue Ġthen Ġobject Ġcreated Ġform Ġparcel . ĠUsed Ġto Ġdetermine Ġif Ġaccess Ġtoken Ċ Ġ* Ġvalidation Ġevent Ġshould Ġbe Ġsend . Ċ Ġ*/ Ċ @ Suppress (" Member Visibility Can Be Private ", Ġ" Can Be Parameter ") Ċ internal Ġclass ĠV G SC heck out Payment Config Ġprivate Ġconstructor ( ĊĠĠĠ Ġinternal Ġval ĠaccessToken : ĠString , ĊĠĠĠ Ġval Ġtenant Id : ĠString , ĊĠĠĠ Ġinternal Ġval Ġpayment Info : ĠPayment Info , ĊĠĠĠ Ġoverride Ġval Ġenvironment : ĠV G SC heck out Environment , ĊĠĠĠ Ġoverride Ġval Ġroute Config : ĠV G SC heck out Payment Route Config , ĊĠĠĠ Ġoverride Ġval Ġform Config : ĠV G SC heck out Payment Form Config , ĊĠĠĠ Ġoverride Ġval Ġis Screenshots Allowed : ĠBoolean , ĊĠĠĠ Ġoverride Ġval Ġis Analytics Enabled : ĠBoolean , ĊĠĠĠ Ġprivate Ġval Ġcreated From Parcel : ĠBoolean Ċ ) Ġ: ĠCheckout Config ( tenantId ) Ġ{ ĊĊĠĠĠ Ġinit Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! created From Parcel ) Ġvalidate Token () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinternal Ġconstructor ( parcel : ĠParcel ) Ġ: Ġthis ( ĊĠĠĠĠĠĠĠ Ġparcel . readString () !! , ĊĠĠĠĠĠĠĠ Ġparcel . readString () !! , ĊĠĠĠĠĠĠĠ Ġparcel . read Parcelable ( Payment Info :: class . java . class Loader ) !! , ĊĠĠĠĠĠĠĠ Ġparcel . read Parcelable ( VG SC heck out Environment :: class . java . class Loader ) !! , ĊĠĠĠĠĠĠĠ Ġparcel . read Parcelable ( VG SC heck out Payment Route Config :: class . java . class Loader ) !! , ĊĠĠĠĠĠĠĠ Ġparcel . read Parcelable ( VG SC heck out Add Card Form Config :: class . java . class Loader ) !! , ĊĠĠĠĠĠĠĠ Ġparcel . readInt () Ġ== Ġ 1 , ĊĠĠĠĠĠĠĠ Ġparcel . readInt () Ġ== Ġ 1 , ĊĠĠĠĠĠĠĠ Ġtrue ĊĠĠĠ Ġ) ĊĊĠĠĠ Ġoverride Ġfun ĠwriteTo Parcel ( parcel : ĠParcel , Ġflags : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠ Ġparcel . writeString ( accessToken ) ĊĠĠĠĠĠĠĠ Ġparcel . writeString ( tenantId ) ĊĠĠĠĠĠĠĠ Ġparcel . write Parcelable ( payment Info , Ġflags ) ĊĠĠĠĠĠĠĠ Ġparcel . write Parcelable ( environment , Ġflags ) ĊĠĠĠĠĠĠĠ Ġparcel . write Parcelable ( route Config , Ġflags ) ĊĠĠĠĠĠĠĠ Ġparcel . write Parcelable ( form Config , Ġflags ) ĊĠĠĠĠĠĠĠ Ġparcel . writeInt ( if Ġ( is Screenshots Allowed ) Ġ 1 Ġelse Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġparcel . writeInt ( if Ġ( is Analytics Enabled ) Ġ 1 Ġelse Ġ 0 ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġdescribe Contents (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ 0 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Throws ( VG SC heck out Exception :: class ) ĊĠĠĠ Ġprivate Ġfun Ġvalidate Token () Ġ{ ĊĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCheckout Credentials Validator . validate JWT ( accessToken ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġan alytic Tracker . log ( JWT Validation Event ( true )) ĊĠĠĠĠĠĠĠ Ġ} Ġfinally Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġan alytic Tracker . log ( JWT Validation Event ( false )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject ĠCRE ATOR Ġ: ĠParcel able . Creator < VG SC heck out Payment Config > Ġ{ ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcreate From Parcel ( parcel : ĠParcel ): ĠV G SC heck out Payment Config Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠV G SC heck out Payment Config ( parcel ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġnew Array ( size : ĠInt ): ĠArray < VG SC heck out Payment Config ?> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠarrayOf Null s ( size ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠCheck Ġall Ġparameters Ġand Ġcreate Ġ[ VG SC heck out Payment Config ] Ġasynchronously . ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param ĠaccessToken Ġpayment Ġorche stration Ġapp Ġaccess Ġtoken . ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param ĠorderId Ġid Ġof Ġorder Ġcreated Ġon Ġserver . ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġtenant Id Ġpayment Ġorche stration Ġtenant Ġid . ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġcallback Ġinitialization Ġcallback . ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġenvironment Ġtype Ġof Ġvault . ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġform Config ĠUI Ġconfiguration . ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġis Screenshots Allowed ĠIf Ġtrue , Ġcheckout Ġform Ġwill Ġallow Ġto Ġmake Ġscreenshots . ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ param Ġis Analytics Enabled ĠIf Ġtrue , Ġcheckout Ġwill Ġsend Ġanalytics Ġevents Ġthat Ġhelps Ġto Ġdebug Ġissues Ġif Ġany Ġoccurs . ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* Ġ@ return Ġ[ VG SC heck out C ancellable ] ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġ@ Jvm Over loads ĊĠĠĠĠĠĠĠ Ġfun Ġcreate ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠaccessToken : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠorderId : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtenant Id : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcallback : ĠV G SC heck out Config Init Callback < VG SC heck out Payment Config >, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġenvironment : ĠV G SC heck out Environment Ġ= ĠV G SC heck out Environment . Sandbox (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġform Config : ĠV G SC heck out Payment Form Config Ġ= ĠV G SC heck out Payment Form Config (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Screenshots Allowed : ĠBoolean Ġ= Ġfalse , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis Analytics Enabled : ĠBoolean Ġ= Ġtrue , ĊĠĠĠĠĠĠĠ Ġ): ĠV G SC heck out C ancellable Ġ= ĠGet Payment Info (). execute ( orderId ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen ( it ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠResult . Success < Payment Info > Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcallback . on Success ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠV G SC heck out Payment Config ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠaccessToken , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtenant Id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit . data , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġenvironment , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠV G SC heck out Payment Route Config ( accessToken ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġform Config , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Screenshots Allowed , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis Analytics Enabled , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠResult . Error Ġ-> Ġcallback . on Failure ( it . e ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġcatch Ġ( e : ĠV G SC heck out Exception ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcallback . on Failure ( e ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }