#ceo_code
1 messages ยท Page 1 of 1 (latest)
๐ Welcome to your new thread!
โฒ๏ธ We'll be here soon! Typically we respond in a few minutes, but sometimes we might take a bit longer if the server is busy or if you have a particularly tricky question.
โฑ๏ธ We close idle threads, which makes them read-only. Once a thread is closed it won't be reopened, but you can always start a new thread if you have another question.
๐ This thread will always be available, even after it's closed. You can find it again using Discord's search, or you can save this link: https://discord.com/channels/841573134531821608/1268863267741241414
๐ Have more to share? Add more details, code, screenshots, videos, etc. below.
Below are links to other discussions we've had with you in the past week in case you want to review that information. If your question is related to one of these previous discussions, please provide a comprehensive summary of the current state and what you need help with now. We help many users simultaneously, so a summary allows us to resolve your issue as soon as possible.
๐ happy to help
tml_EZMp4AeQ0i5Bw7
We are trying to implement Stripe Tap to Pay on IOS and have this issue at the moment.
what's the request that is failing?
Find help and support for Stripe. Our support site provides answers on all types of situations, including account information, charges and refunds, and subscriptions information. Get your questions answered and find international support for Stripe.
hello, if we want to implement tap to pay through react native, it is necessary to made some setting in the stripe dashboard platform to be allowed to use it ?
and this more specifically https://docs.stripe.com/terminal/payments/setup-integration
I tried to do this, but I didn't find that tab in apple platform, there is no tab with that name
you mean the additional capabilities?
yes, additional capabilities
hmm I don't know sorry, these are just the instructions we get from Apple and it's their site and docs. I'd suggest keep looking and maybe reach out to Apple developer support for clarity or open a support ticket at https://support.stripe.com/?contact=true and maybe someone internally knows more about this.
maybe check what Apple says here
To access the request form, you must hold an organization-level Apple Developer account and be logged in as the Account Holder
https://developer.apple.com/support/compare-memberships/#:~:text=Organizations. Apps are listed under the organizationโs
@tiny kestrel
we already hold that
is the main account
we do pay yearly for their membership too
however, somehow I managed to discover a reader through discoverReader function with localMobile method, but that reader has an address in US and when I tried to connectLocalMobileReader with that reader it gives me an error as I am in Romania and I have no merchant.
My first question is: how discoverReader works with localMobile prop, what exactly it does ?
That discoverReader function discover readers which are related to that tokenProvider or not ?
see availability at https://docs.stripe.com/terminal/payments/setup-reader/tap-to-pay?platform=ios&terminal-sdk-platform=ios#availability
: how discoverReader works with localMobile prop, what exactly it does ?
https://docs.stripe.com/terminal/payments/connect-reader?terminal-sdk-platform=ios&reader-type=tap-to-pay#discover-readers
Use the discoverReaders method to determine whether your iPhone is supported for Tap to Pay
so if I am a developer in Romania , I cannot implement this feature for UK, I have to be in uk ? or I have to fake somehow location of my device ?
I'm not 100% sure. it's quite likely though. Let's start with :
when I tried to connectLocalMobileReader with that reader it gives me an error as I am in Romania and I have no merchant.
what exact error mesage and stack trace do you have?
based on reading the error message : have you considered then creating a Location object in a supported country and using that?
Step 1 : https://docs.stripe.com/terminal/payments/connect-reader?terminal-sdk-platform=ios&reader-type=tap-to-pay#create-location and pass the Location ID in Step 3 : https://docs.stripe.com/terminal/payments/connect-reader?terminal-sdk-platform=ios&reader-type=tap-to-pay#connect-reader
I'd also suggest using a Stripe account in a supported country(not your own RO dev account which it sounds like is what you're using).
ok, Step 1 , is server side, so on the server side I have to create a continuationToken which I have to pass to StripeTerminalProvider through tokenProvider and discoverReaders will find the right one ?
@tiny kestrel is already using our official Stripe account that is 100% UK Based.
I have provided the above screenshot
can you leave the chat to us developers instead please?
yep, https://docs.stripe.com/terminal/payments/setup-integration?terminal-sdk-platform=ios#connection-token is the guide to getting the SDK set up and using ConnectionTokens, and then after that you can follow https://docs.stripe.com/terminal/payments/connect-reader?terminal-sdk-platform=ios&reader-type=tap-to-pay to connect to a reader
ok, the first step is done, the integration is ok
but for the second with reader, Is it requierd to asign a location to the stripeClient ?
as you see above in the screenshots from @river granite , there are some testLocations created on that stripeClient api_key, but somehow can you leave the chat to us developers instead please?
you need to pass a Location ID to the LocalMobileConnectionConfigurationBuilder like it says in step 3 https://docs.stripe.com/terminal/payments/connect-reader?terminal-sdk-platform=ios&reader-type=tap-to-pay#connect-reader
that's what the error message is telling you ".. as determined by the Location this reader is registered to, none - used merchant"
the reason it says "none" is probably because you did not pass a Location
if you're having difficulty, share the actual code you're writing so we can look and potentially help
ok, but It return me the same error even if I return at locationId this locationId
then help us to help you by sharing the exact code you're writing and the values of the variables you're passing and ID of the location.
const { discoverReaders, discoveredReaders, cancelDiscovering, connectLocalMobileReader } =
useStripeTerminal({
onUpdateDiscoveredReaders: (readers) => {
console.log(">>>> readers:", readers)
handleDiscoverAReader(readers)
},
onDidChangeConnectionStatus: (status) => {
console.log(">>>> status:", status)
},
});
const handleDiscoverAReader =async (readerDiscovered:any) =>{
console.log(">>> handleReader: ", readerDiscovered)
if (readerDiscovered.length > 0){
const {reader, error} = await connectLocalMobileReader({
reader: readerDiscovered[0],
locationId:'tml_EZMp4AeQ0i5Bw7'
})
if (error) {
console.log('connectLocalMobileReader error:', error);
return;
}
console.log('Reader connected successfully', reader);
}
}
useEffect(() => {
console.log('Starting reader discovery...')
const discover = async () => {
// console.log('Calling discoverReaders...')
const { error } = await discoverReaders({
discoveryMethod: 'localMobile',
simulated: true, // false gives an error
})
if (error) {
console.log('Error discovering readers:', error)
} else {
console.log('discoverReaders called successfully.')
}
}
discover();
return () => {
console.log('Cancelling reader discovery...')
cancelDiscovering()
}
}, [discoverReaders, cancelDiscovering])
I think is clearer in this screenshot (is the same code as above)
readerDiscovered[0] variable is this:
You still seem to be passing simulated: true to the discoverReaders function? Since you have a real location (tml_xxx) you should omit that really
Not even sure if TTP supports simulated readers
ok, I'll change it and retry
ok, back to square 1, after i change that I receive this, so the entitlements, I'll write to apple, think this is the next normal step
Yeah I think passing simulated: true is masking the real issue here which is the above
If you pass simulated: true then it forgoes the registered location for the reader (GB) and probably uses the location of your device (which is obviously unsupported)
To use Tap to Pay on iPhone to accept payments, your application must request and configure the Tap to Pay on iPhone entitlement from your Apple Developer account. Review the instructions for requesting this entitlement.
https://developer.apple.com/documentation/proximityreader/setting-up-the-entitlement-for-tap-to-pay-on-iphone?language=objc
Then that's probably a question for Apple, not Stripe
we can try to register a new idenfifier