@@ -43,7 +43,7 @@ export default function SetupIntentScreen() {
4343 useState ( false ) ;
4444 const [ collectReason , setCollectReason ] = useState < CollectionReason > ( 'unspecified' ) ;
4545 const [ moto , setMoto ] = useState ( false ) ;
46-
46+ const [ createSIServerSide , setServerSideCreate ] = useState ( deviceType === 'verifoneP400' ) ;
4747 const [ allowRedisplay , setAllowRedisplay ] =
4848 useState < AllowRedisplay > ( 'always' ) ;
4949
@@ -194,7 +194,7 @@ export default function SetupIntentScreen() {
194194 let setupIntent : SetupIntent . Type | undefined ;
195195 let setupIntentError : StripeError < CommonError > | undefined ;
196196
197- if ( deviceType === 'verifoneP400' ) {
197+ if ( createSIServerSide ) {
198198 const resp = await api . createSetupIntent ( { } ) ;
199199
200200 if ( 'error' in resp ) {
@@ -360,11 +360,28 @@ export default function SetupIntentScreen() {
360360 }
361361 />
362362 </ List >
363- < ListItem
364- color = { colors . blue }
365- title = "Collect setupIntent"
366- onPress = { _createSetupIntent }
367- />
363+ < List bolded = { false } topSpacing = { false } title = "Create Server Side" >
364+ < ListItem
365+ title = "Enable Server Side Create"
366+ rightElement = {
367+ < Switch
368+ testID = "enable-server-side-create"
369+ value = { createSIServerSide }
370+ disabled = { deviceType === 'verifoneP400' }
371+ onValueChange = { ( value ) => {
372+ setServerSideCreate ( value ) ;
373+ } }
374+ />
375+ }
376+ />
377+ </ List >
378+ < List bolded = { false } topSpacing = { true } >
379+ < ListItem
380+ color = { colors . blue }
381+ title = "Collect setupIntent"
382+ onPress = { _createSetupIntent }
383+ />
384+ </ List >
368385 </ KeyboardAwareScrollView >
369386 ) ;
370387}
0 commit comments