#eat_terminal-connect
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/1228375735211921472
๐ Have more to share? Add more details, code, screenshots, videos, etc. below.
Hi there! I see this PaymentIntent was created by a Platform but it was created directly on a Standard account. Did you use the Stripe-Account header when trying to confirm or retrieve that PaymentIntent?
payment intent created from web php, and retriving from iOS
What exactly were you attempting to do when you received the "No such payment_intent: 'pi_3P4gbJRvdkBgCq4z0v96wAAz'" error?
on web we created using "acct_1OzSh3RvdkBgCq4z" and able to retrive on web
$stripe_response = $stripe->paymentIntents->retrieve(
'pi_3P4HlSRvdkBgCq4z1gyGQX7V', [],['stripe_account' => 'acct_1OzSh3RvdkBgCq4z']
);
this works on web
but on iOS, we use Terminal using secret key
and its not wotking
Terminal.shared.retrievePaymentIntent(clientSecret: self.client_secreate)
self.client_secreate is dynamic
Terminal using secret key
I take it you're using your platform's secret key?
Yes, something like pi_3P4IpdRvdkBgCq4z1q08hQN2_secret_l3sRz9vjhR1dkmX8kg6IHYQw6
That's the PaymentIntent's client secret, that's separate from what you use for authenticating requests.
Let's take a step back for a second. Which SDK are you using client side for your Terminal integration?
iOS SDK
all code works when we use normal transaction without the "Multiparty payments with Connect"
"client_secret" = "pi_3P4mv4JiUwDR4rw61nxnHXV6_secret_iFtNI8XGBI8sDkSGsxkas2b7N";
this works
Hi ๐
I'm stepping in and catching up. Give me a minute
ok
Okay so you are attempting to retrieve the Payment Intent on the client side (iOS) for your Connected Accounts, Correct?
Correct
Okay and how are you initializing your Terminal application?
Terminal.shared.retrievePaymentIntent(clientSecret: self.client_secreate) { paymentIntent, error in
if let error = error {
print("retrievePaymentIntent failed: \(error)")
} else if let p_Intent = paymentIntent {
print("retrievePaymentIntent succeeded")
Simulated
.setSimulated(true)
No sorry, that's already too far into the application logic. Can I assume you are using Connection Tokens to initialize the SDK?
https://docs.stripe.com/terminal/payments/setup-integration?terminal-sdk-platform=ios#connection-token-client-side
Yes
And when you create the Connection Token on your server, are you setting the stripe_account like we show here?
https://docs.stripe.com/terminal/features/connect?lang=php#direct-connection-tokens
You would use your Platform secret key to initialize the the StripeClient in PHP, but you would pass the Connected Account ID as the stripe-account option.
Is that what you are doing?
Yes, doing that
NEVER EVER SHARE YOUR SECRET KEY
ohk!
You should assume it is compromised
got it
I would follow this guide immediately: https://docs.stripe.com/keys#rolling-keys
ok, it was test mode
Essentially. anyone with your secret key can do pretty much anything with your account through the APIs. Even change which bank account it pays out to
understood
Even in Test mode, malicious actors can make your life VERY difficult
ok, will do
What you can share, and I would appreciate, is a Confirmation Token ID.
Could you share a Confirmation Token ID here please
from where I can get this?
Your PHP code where you create the Connection Token. Log the ID and paste it here please
ok, I need more time for this. can we do that tomorrow?
Our Discord server is for real-time chats. We archive threads after some period of inactivity. You are welcome to come back here but you will likely be interacting with someone else who will need to get familiar with your situation. If handling real-time chat is difficult, and this situation may require some additional debugging, we recommend writing in to Support https://support.stripe.com/contact
When writing in to Support it is very important to be as detailed as possible, with clear examples of the code you are using (both PHP and iOS) and a clear description of the problem.
everything works from web, using key in
getting issue on iOS side when we use Termial Simulated
Your web-based approach is correctly setting the Stripe Account header. The failure from the iOS SDK indicates that is where the account is not being set
ok, go through in detail on iOS code, and raise another help requiest if required
Yup! And it's fine if you don't have time to do a real-time chat. In that case we would recommend Support.
I prefer realtime chat, You people are more technical ๐
If you provide enough technical detail in your initial question to Support, those get routed to us anyway. You just need to provide enough clear details that the Support agents know it's for us.
ok, sure, will do