#cpark14-applepay-connect
1 messages ยท Page 1 of 1 (latest)
Hello ๐
Snufkin isn't around at the moment, can you catch me up with the context here? How exactly are you integrating apple pay?
Are you using direct charges or destination charges?
Trying to figure that out currently, but this is the account ID acct_1MAIHjRbbQKGyKeL
Okay, I do see a bunch of domains registered
Would need more information to dig deeper though ๐
so thats the thing is the error I'm getting back is saying the account isnt registered
How exactly are you integrating apple pay?
Are you using Payment Request button? In which case, how are you initialising Stripe.js?
Which domain are you testing this on?
This is the element we are using https://stripe.com/docs/payments/payment-element
following this to initialize stripe.js https://stripe.com/docs/stripe-js/elements/payment-request-button
testing on integration.keap.app right now
and how what kind of payment flow are you integrating?
Direct charges or destination charges?
cpark14-applepay-connect
๐ @bitter pumice ! I have personally helped your team at least 3 or 4 times with Connect + Apple Pay on this Discord server this year so I'm a bit worried/confused we seem to always go back to the same root cause
Howdy @lusty tangle nice to chat again, but like you said same issue is very worrying. Just to recap we thought it had to do with the original account(acct_1F0ExBDplt1gidMZ) not being a live account, so then we made a new live account(acct_1MAIHjRbbQKGyKeL) for testing apple pay and then we deleted all the domains off of the original account and registered them using the curl commands from the documentation in the new live app. That was supposed to fix the error of the app not being registered. However here we are again and I know its as frustrating for you as it is for me. You sure there isn't any chance we can jump on a call. I feel like you guys could figure it out pretty quick if I took you through the flow.
I don't know but this is the error when I try to submit a payment with apple pay
I'm sorry but I need you to help me help you for a bit. Please try and give a clear and exact/detailed summary of what you did where. You gave me an account id and a picture right now.
Which domain did you register, which URL is this failing on, which API key are you using (Live or Test?), what's the exact error in text so that I can copy-paste it, etc.
Okay the domains that are registered are integration.keap.app, invoice.intg.keap.page, invoice.keap.page, invoice.stge.keap.page, keap.app, and staging.keap.app. Im attaching a screenshot of the curl command used to register each domain from step 2 in the documentation and a secret live API key was used. The url that it's failing on is integration.keap.app. The error itself says "Could not create Apple Pay sessions. Please make sure you have registered this Stripe account". Here's the documentation thats being followed https://stripe.com/docs/stripe-js/elements/payment-request-button?html-or-react=html#html-js-using-with-connect
hope that is more helpful let me know if you need more explaining\
yeah unfortunately it's yet another configuration issue again
1/ You registered the domain in Test mode which you should never do
2/ You registered the domain in Live mode too but not as a platform because it was already registered by hand in the Dashboard, which you also should never do
So you have to either use a brand new account and start fresh again (easiest), or clean up first by deleting all the Test mode domains, and then deleting all the Live mode domains, and then re-registering the domain as the platform
Okay, so Im going to try option 2 first just because the credentials for the account aren't exactly under my control
Once every domain has been removed how do you register the domain as the platform?
using the command you screenshotted above
but only after the domain has already been deleted
so I'd say, delete every domain and then ping me and I can confirm it's done
nope, Test mode domains are still here
would you mind telling me which account they are linked to, I don't see any domains in either account
You have to use the API to do all this
as a developer of the Keap platform you should never use the Dashboard for those flows, that's how you got in trouble in the first place
so use the API, list all the domains and then delete them all one by one
are you figuring out how to do this?
yep figuring it out rn
do you need more pointed help?
curl https://api.stripe.com/v1/apple_pay/domains \ -u secret live key \ -H "Stripe-Account: acct1MAIHjRbbQKGyKeL" \ -x "DELETE" 'integration.keap.app
does that look correct to you, trying to delete a domain via the API
no
really don't use curl
Use one of our official client libraries, they have all the APIs you need and it'd take 2 minutes to write the code and be done with it
$domains = $stripe->applePayDomains->all(); this would list the domains in PHP for example on your account. And $domains = $stripe->applePayDomains->all([], ['stripe_account' => 'acct_123']); to do it on the connected account
So is there a specific reason why we can't use a CURL command?
Mostly that you are quite lost with this and have been for weeks and so I'm trying to give you the tools to understand our API for real and self serve forever
you're trying to rush curl commands without understanding them. Like your curl to delete doesn;t make sense, that's not how our API works. To delete an object you have to pass its id like /v1/my_objects/myo_123456
to create one you do a POST to /v1/my_objects. To list existing ones you do a GET to /v1/my_objects. Our API has consistent and recurring design patterns across the entire API shape
By using our official client libraries, which you are doing with stripe-java right now for example, you can easily self-serve the entire API with auto-completion in your IDE
So instead of "guessing" curl calls and struggling with it, because curl is just a pain to work with for nested parameters, complex naming, Connect, etc.
You can grasp the whole API and do everything cleanly in code that can be re-used tomorrow, next month or 3 years from now by you and your whole team.
Then once you have that, you hopefully can "translate" those java calls into basic curl calls if you prefer
@bitter pumice does that make sense? Are you making progress? I have to run soon and I don't want to bounce you to someone else on my team
Makes sense to me. As I understand it I need to delete all the domains, then re add them using exclusively the API once that has been done the payment should pass.
yes
but you still have those test mode domains, so I'm trying to see what's blocking you from deleting them immediately in like the next 5 minutes
okay well I wont have it done in 5 minutes sorry. but that being said I feel like whoever you pass me on to shouldn't be confused as to what the issue is
If you have time before you go, my teammember wanted me to ask this,"if Stripe is saying adding the domain to a test account is going to cause issues when adding it to a live account later, it's not going to cause issues if we add it to multiple live accounts in the future is it?"
I'm trying to figure out what prevents you from doing this quickly
every time we discuss this it takes hours and I think part of this is a misunderstanding
running a simple example with our API should take 2/3 minutes at best usually when familiar with our API and official libraries. And not all my colleagues are deeply familiar with both the Connect complexity of Apple Pay and the hours we spent explaining this to your team already so I'm trying to be efficient by helping you/your team resolve this synchronously now
And no, you can add the same domain in Live mode to other accounts it's totally fine. Just you/your colleague should never register domains via the Dashboard or in Test mode in your flow
totally fine if you can't, but in that case I would really ask that you work directly with our support team instead for deep help like this so specific to your account.
Yeah im relying on another dev to write the java code but yeah if dealing directly with the support team is better than I'll use that route instead. I really appreciate your help and when I email the support team I'll make sure to mention you.
Ah you're not the dev writing the code, this explains everything
That's the part I ws struggling to understand but if you have different devs touching different parts it definitely makes this harder. Would have been easier to have the other person in this thread at the same time otherwise!