#cpark14-applepay-connect

1 messages ยท Page 1 of 1 (latest)

dusty capeBOT
elfin ice
#

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?

bitter pumice
#

Trying to figure that out currently, but this is the account ID acct_1MAIHjRbbQKGyKeL

elfin ice
#

Okay, I do see a bunch of domains registered
Would need more information to dig deeper though ๐Ÿ™‚

bitter pumice
#

so thats the thing is the error I'm getting back is saying the account isnt registered

elfin ice
#

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?

bitter pumice
#

testing on integration.keap.app right now

elfin ice
#

and how what kind of payment flow are you integrating?
Direct charges or destination charges?

lusty tangle
#

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

bitter pumice
#

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.

lusty tangle
#

Definitely not possible to do a call no

#

So what's the issue with this account?

bitter pumice
#

I don't know but this is the error when I try to submit a payment with apple pay

lusty tangle
#

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.

bitter pumice
#

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\

lusty tangle
#

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

bitter pumice
#

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?

lusty tangle
#

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

bitter pumice
#

you got it

#

alright the domains should all be removed

lusty tangle
#

nope, Test mode domains are still here

bitter pumice
#

would you mind telling me which account they are linked to, I don't see any domains in either account

lusty tangle
#

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

lusty tangle
#

are you figuring out how to do this?

bitter pumice
#

yep figuring it out rn

lusty tangle
#

do you need more pointed help?

bitter pumice
#

does that look correct to you, trying to delete a domain via the API

lusty tangle
#

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

bitter pumice
#

So is there a specific reason why we can't use a CURL command?

lusty tangle
#

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

bitter pumice
#

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.

lusty tangle
#

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

bitter pumice
#

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?"

lusty tangle
#

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.

bitter pumice
#

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.

lusty tangle
#

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!