package Ġcom . stripe . android . stri pec ard scan . card image verification Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Parcelable Ċ import Ġandroidx . activity . Component Activity Ċ import Ġandroidx . activity . result . Activity Result Launcher Ċ import Ġandroidx . activity . result . contract . Activity Result Contract Ċ import Ġcom . stripe . android . stri pec ard scan . card image verification . exception . Unknown Scan Exception Ċ import Ġcom . stripe . android . stri pec ard scan . payment . card . Sc anned Card Ċ import Ġcom . stripe . android . stri pec ard scan . scan ui . Cancellation Reason Ċ import Ġkotlinx . parcel ize . Parcel ize Ċ Ċ @ Parcel ize Ċ internal Ġdata Ġclass ĠCard Image Verification Sheet Params ( ĊĠĠĠ Ġval Ġstripe Publish able Key : ĠString , ĊĠĠĠ Ġval Ġcard Image Verification Intent Id : ĠString , ĊĠĠĠ Ġval Ġcard Image Verification Intent Secret : ĠString , Ċ ) Ġ: ĠParcel able Ċ Ċ sealed Ġinterface ĠCard Image Verification Sheet Result Ġ: ĠParcel able Ġ{ ĊĊĠĠĠ Ġ@ Parcel ize ĊĠĠĠ Ġdata Ġclass ĠCompleted ( ĊĠĠĠĠĠĠĠ Ġval Ġscanned Card : ĠSc anned Card , ĊĠĠĠ Ġ) Ġ: ĠCard Image Verification Sheet Result ĊĊĠĠĠ Ġ@ Parcel ize ĊĠĠĠ Ġdata Ġclass ĠC anceled ( ĊĠĠĠĠĠĠĠ Ġval Ġreason : ĠC ancellation Reason , ĊĠĠĠ Ġ) Ġ: ĠCard Image Verification Sheet Result ĊĊĠĠĠ Ġ@ Parcel ize ĊĠĠĠ Ġdata Ġclass ĠFailed ( val Ġerror : ĠThrowable ) Ġ: ĠCard Image Verification Sheet Result Ċ } Ċ Ċ class ĠCard Image Verification Sheet Ġprivate Ġconstructor ( private Ġval Ġstripe Publish able Key : ĠString ) Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġon Finished : ĊĠĠĠĠĠĠĠ Ġ(( card Image Verification Sheet Result : ĠCard Image Verification Sheet Result ) Ġ-> ĠUnit )? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġlauncher : ĠActivity Result Launcher < Card Image Verification Sheet Params > ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠCreate Ġa Ġ[ Card Image Verification Sheet ] Ġinstance Ġwith Ġ[ Component Activity ]. ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* ĠThis ĠAPI Ġregisters Ġan Ġ[ Activity Result Launcher ] Ġinto Ġthe ĊĠĠĠĠĠĠĠĠ Ġ* Ġ[ Component Activity ], Ġit Ġmust Ġbe Ġcalled Ġbefore Ġthe Ġ[ Component Activity ] ĊĠĠĠĠĠĠĠĠ Ġ* Ġis Ġcreated Ġ( in Ġthe ĠonCreate Ġmethod ). ĊĠĠĠĠĠĠĠĠ Ġ* ĊĠĠĠĠĠĠĠĠ Ġ* Ġsee Ġhttps :// github . com / stripe / stripe - android / blob / 3 e 9 2 b 7 9 1 9 0 8 3 4 dc 3 aab 1 c 2 d 9 ac 2 dfb 7 bc 3 4 3 afd 2 / payments - core / src / main / java / com / stripe / android / payments / payment launcher / Payment Launcher . kt # L 5 2 ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġ@ Jvm Static ĊĠĠĠĠĠĠĠ Ġfun Ġcreate ( from : ĠComponent Activity , Ġstripe Publish able Key : ĠString ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCard Image Verification Sheet ( stripe Publish able Key ). apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlauncher Ġ= Ġfrom . register For Activity Result ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġobject Ġ: ĠActivity Result Contract < ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCard Image Verification Sheet Params , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠCard Image Verification Sheet Result ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ> () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcreate Intent ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext : ĠContext , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinput : ĠCard Image Verification Sheet Params , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ= Ġthis @ Companion . create Intent ( context , Ġinput ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġparse Result ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠresultCode : ĠInt , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġintent : ĠIntent ?, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ= Ġthis @ Companion . parse Result ( require NotNull ( intent )) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ:: on Result , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġcreate Intent ( context : ĠContext , Ġinput : ĠCard Image Verification Sheet Params ) Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠIntent ( context , ĠCard Verify Activity :: class . java ). putExtra ( INT ENT _ PARAM _ REQUEST , Ġinput ) ĊĊĠĠĠĠĠĠĠ Ġprivate Ġfun Ġparse Result ( intent : ĠIntent ): ĠCard Image Verification Sheet Result Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġintent . get Parcelable Extra ( INT ENT _ PARAM _ RESULT ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: ĠCard Image Verification Sheet Result . Failed ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠUnknown Scan Exception (" No Ġdata Ġin Ġthe Ġresult Ġintent ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠPresent Ġthe ĠCard Verification Ġscan Ġflow Ġusing Ġthe Ġprovided ĠID Ġand ĠSecret . ĊĠĠĠĠ Ġ* ĠResults Ġwill Ġbe Ġreturned Ġin Ġthe Ġcallback Ġfunction . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠThe ĠID Ġand ĠSecret Ġare Ġcreated Ġfrom Ġthis Ġserver - server Ġrequest : ĊĠĠĠĠ Ġ* Ġhttps :// paper . dropbox . com / doc / Bo unc er - Web - API - Review -- B TO cl List n Ap Wj H dp v 4 Do a Ou Ag - Wy 0 H Gl L 0 X fw AO z 9 h H uz S 1 #: h 2 = Creating - a - Card Image Ver ific ati ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġpresent ( ĊĠĠĠĠĠĠĠ Ġcard Image Verification Intent Id : ĠString , ĊĠĠĠĠĠĠĠ Ġcard Image Verification Intent Secret : ĠString , ĊĠĠĠĠĠĠĠ Ġon Finished : Ġ( card Image Verification Sheet Result : ĠCard Image Verification Sheet Result ) Ġ-> ĠUnit , ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . on Finished Ġ= Ġon Finished ĊĠĠĠĠĠĠĠ Ġlauncher . launch ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠCard Image Verification Sheet Params ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstripe Publish able Key Ġ= Ġstripe Publish able Key , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcard Image Verification Intent Id Ġ= Ġcard Image Verification Intent Id , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcard Image Verification Intent Secret Ġ= Ġcard Image Verification Intent Secret , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠWhen Ġa Ġresult Ġis Ġavailable Ġfrom Ġthe Ġactivity , Ġcall Ġ[ on Finished ] Ġif Ġit 's Ġavailable . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġprivate Ġfun Ġon Result ( card Image Verification Sheet Result : ĠCard Image Verification Sheet Result ) Ġ{ ĊĠĠĠĠĠĠĠ Ġon Finished ?. let Ġ{ Ġit ( card Image Verification Sheet Result ) Ġ} ĊĠĠĠ Ġ} Ċ } Ċ