package Ġcom . stripe . android . payments heet . repositories Ċ Ċ import Ġandroidx . core . os . Locale List Compat Ċ import Ġcom . stripe . android . Payment Configuration Ċ import Ġcom . stripe . android . model . Stripe Intent Ċ import Ġcom . stripe . android . networking . ApiRequest Ċ import Ġcom . stripe . android . networking . Stripe Repository Ċ import Ġcom . stripe . android . payments . core . injection . IO Context Ċ import Ġcom . stripe . android . payments heet . model . Client Secret Ċ import Ġcom . stripe . android . payments heet . model . Payment Intent Client Secret Ċ import Ġcom . stripe . android . payments heet . model . Setup Intent Client Secret Ċ import Ġdagger . Lazy Ċ import Ġkotlinx . coroutines . with Context Ċ import Ġjava . util . Locale Ċ import Ġjavax . inject . Inject Ċ import Ġkotlin . coroutines . Coroutine Context Ċ Ċ internal Ġsealed Ġclass ĠStripe Intent Repository Ġ{ ĊĠĠĠ Ġabstract Ġsuspend Ġfun Ġget ( ĊĠĠĠĠĠĠĠ Ġclient Secret : ĠClient Secret ĊĠĠĠ Ġ): ĠStripe Intent ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠRetrieve Ġthe Ġ[ Stripe Intent ] Ġfrom Ġa Ġstatic Ġsource . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġclass ĠStatic ( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġstripe Intent : ĠStripe Intent ĊĠĠĠ Ġ) Ġ: ĠStripe Intent Repository () Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġsuspend Ġfun Ġget ( client Secret : ĠClient Secret ) Ġ= Ġstripe Intent ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠRetrieve Ġthe Ġ[ Stripe Intent ] Ġfrom Ġthe Ġ[ Stripe Repository ]. ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġclass ĠApi Ġ@ Inject Ġconstructor ( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġstripe Repository : ĠStripe Repository , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġlazy Payment Config : ĠLazy < Payment Configuration >, ĊĠĠĠĠĠĠĠ Ġ@ IO Context Ġprivate Ġval Ġwork Context : ĠCor outine Context , ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġlocale : ĠLocale ? Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠLocale List Compat . get Adjust ed Default (). take Unless Ġ{ Ġit . isEmpty Ġ} ?. get ( 0 ) ĊĠĠĠ Ġ) Ġ: ĠStripe Intent Repository () Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġrequest Options Ġby Ġlazy Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠApi Request . Options ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlazy Payment Config . get (). publish able Key , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlazy Payment Config . get (). stripe AccountId ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ/** ĊĠĠĠĠĠĠĠĠ Ġ* ĠT ries Ġto Ġretrieve Ġthe ĠStripe Intent Ġwith Ġordered ĠPayment ĠMethods , Ġfalling Ġback Ġto ĊĠĠĠĠĠĠĠĠ Ġ* Ġtraditional ĠGET Ġif Ġwe Ġdon 't Ġhave Ġa Ġlocale Ġor Ġthe Ġcall Ġfails Ġfor Ġany Ġreason . ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠĠĠĠĠ Ġoverride Ġsuspend Ġfun Ġget ( client Secret : ĠClient Secret ) Ġ= Ġwith Context ( work Context ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ( client Secret ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠPayment Intent Client Secret Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrequire NotNull ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlocale ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstripe Repository . retrieve Payment Intent With Ordered Payment Methods ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclient Secret . value , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrequest Options , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġit ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġ?: Ġstripe Repository . retrieve Payment Intent ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclient Secret . value , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrequest Options , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpand Fields Ġ= ĠlistOf (" payment _ method ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Could Ġnot Ġparse ĠPayment Intent ." ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠSetup Intent Client Secret Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrequire NotNull ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlocale ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstripe Repository . retrieve Setup Intent With Ordered Payment Methods ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclient Secret . value , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrequest Options , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlocale ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġ?: Ġstripe Repository . retrieve Setup Intent ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġclient Secret . value , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrequest Options , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpand Fields Ġ= ĠlistOf (" payment _ method ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Could Ġnot Ġparse ĠSetup Intent ." ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ