#lost-paypal-connect

1 messages ยท Page 1 of 1 (latest)

balmy muralBOT
sudden flume
#

Hello ๐Ÿ‘‹
If you have the payment methods enabled under settings and are using automatic_payment_methods parameter then those should show up automatically

wise roost
#

Let me verify ๐Ÿ™‚

#
                    <Elements stripe={stripePromise} options={{
                        mode: "payment",
                        amount: currentAmount,
                        currency: currency,
                        appearance: {
                            theme: "flat",
                        },
                    }}>
                        <PaymentElement />
                    </Elements>
#

This is what I have for my payment element.

#

But I don't see anything in options for automatic_payment_methods ?

#

Is it undocumented?

sudden flume
#

Not exactly, what flow are you integrating? Are you following a guide?

wise roost
#

Yeah, trying to. But it's disjointed. Here's what I'm using:

#

But then I'm hoping to do this:

#

But I don't see anywhere to select automatic payment methods prior to having to go to my server to create an intent

sudden flume
wise roost
#

So I checked that, and I have "7 turned on"

#

Yet it's still showing me this warning.

#

And I'm not using a payment method type in my checkout integration?

sudden flume
#

Can you check if you have the test mode toggled on?
Live mode and test mode will have separate settings for this

wise roost
#

checking...

#

7 enabled in test mode

#

I've never fiddled with these settings, so I presume they're all still at their defaults.

#

And yet this is how it's rendering:

#

only the card details

sudden flume
#

Are you seeing any errors in your console?

wise roost
#

Not the selector for gpay, etc

sudden flume
#

is this page live? If so, can you share the URL?

wise roost
#

Not live, local development (apologies)

#

So I see some errors, but I figured these were nominal for my local dev scenario.

#

The one thing I can say is if I use the explicit gpay/apple pay element, it works.

#

But that's not the UX I was hoping for.

#

So, <ExpressCheckoutElement onConfirm={console.log} /> shows me a gpay button

sudden flume
wise roost
#

one sec, will try

#

What would I put in there?

sudden flume
#

a list of payment methods you want it to render

wise roost
#

But I want automatic

#

Not explicit

sudden flume
#

I know, this is just to see if it works manually or it doesn't

wise roost
#

Ahhh, one sec

wise roost
#

Sorry, just fiddling...

#

hang on

#

What are the correct values for this array?

sudden flume
wise roost
#

I just tried putting in paypal and I got this in errors

#

I'll try your list

sudden flume
#

paypal isn't supported in the US

wise roost
#

Ah, I'm in Canada ๐Ÿ™‚

sudden flume
#

I see. so it does work with manual list of payment methods

wise roost
#

Indeed!

#

It's just for some reason not grabbing them automatically.

#

I assume you're checking a few things? ๐Ÿ™‚

sudden flume
#

Yeah

wise roost
#

NP, thank you for your help, I'll hang on ๐Ÿ™‚

sudden flume
#

what currency are you setting with currency parameter?

#
                        mode: "payment",
                        amount: currentAmount,
                        currency: currency,
                        appearance: {
                            theme: "flat",
                        },
                    }}>
                        <PaymentElement />
                    </Elements>```
#

Can you share the account ID you're testing with?

wise roost
#

yep, one sec

#

Currency is "cad"

#

acct_1MPUldBhBPAhixsR

balmy muralBOT
wise roost
#

Dunno if it helps, but this is the publishable key: pk_test_51MPUldBhBPAhixsRWWKPEogol81wulBStFcjBDwdO1OuYmx4A9EzStm27w5mqoWebzE2mQCF8ME77W9ZEa5nI3zO00nqvemeam

sudden flume
#

So looks like most of the PaymentMethods you have activated in test mode are for eur presentment currency like banacontact , eps etc

wise roost
#

I have apple pay and google pay enabled though

sudden flume
#

or affirm

wise roost
#

kk, I've enabled affirm, will it take some time to populate?

sudden flume
#

It shouldn't, make sure to take out paymentMethodTypes

wise roost
#

heh, yeah I have ๐Ÿ™‚

#

Also, can you explain why then when I use:

<ExpressCheckoutElement onConfirm={console.log} />

It shows a working gpay button?

#

I should think if I'm not meeting any specific requirements (yet), that such a button shouldn't work?

sudden flume
wise roost
#

yep

sudden flume
#

is your site being served on HTTPS?

wise roost
#

Yep. But running locally, not visible to internet.

#

If I do the express checkout element, I get that button

#

If I click it, I get this modal.

#

It's not the same as the built in browser one mind you...

pure echo
#

๐Ÿ‘‹ stepping in as hanzo needs to step away

wise roost
#

Heya! Thanks Hanzo!

pure echo
#

So to clarify you are seeing Google Pay button render when you are testing locally?

wise roost
#

Yes, I see that button.

#

However, to be clear, I'm not trying to get that working

#

What I want is something similar to this

#

But without having to specify the payment methods manually

#

Right now, if I don't specify the payment methods, I get this:

#

And I'm doing the flow where I get payment information before creating a payment intent.

pure echo
#

So you are using Automatic Payment Methods but not seeing the ones that are turned on in your Dashboard?

wise roost
#

Well, I want automatic payment methods. But I don't have anywhere to opt-in. So I'm anticipating that the default behaviour will have it enabled.

#

Yes, all enabled

#

When my <PaymentElement /> renders however, it doesn't show anything except the manual credit card entry options.

pure echo
#

Okay what else are you passing to your options object?

#

Ah I see it above

wise roost
#

๐Ÿ™‚

#

Happy to re-share anything.

pure echo
#

Appreciate it. What is the actual amount that is being passed in?

#

Since that seems to be a variable currently

wise roost
#

2500

#

And currency is "cad"

#

er, sorry

#

2500

#

Whatever $25CAD is in cents, haha

pure echo
#

Yeah that would be 2500 ๐Ÿ™‚

wise roost
#

Yeah, I just realized that.

#

Sorry, it's early ๐Ÿ˜‰

pure echo
#

No worries at all

#

Hmmm and you have a Canadian Stripe Account?

wise roost
#

I do!

#

I'm using connect as well. Although I don't think it matters at this stage yet.

#

I'm using the publishable key that my platform obtains when the connection is made.

#

Both my stripe accounts are CA based though.

#

And both connected to my CA bank account

pure echo
#

Hmm do you set onBehalfOf?

wise roost
#

No, never.

#

That changes the charge type and I just went through a whole ordeal figuring out that I don't need that parameter, haha.

#

All charges will be "owned" by the connected account, not by my platform.

#

My platform is simply a facilitator.

pure echo
#

Oh oh

#

You are initializing Stripe.JS as the Connected Account here

wise roost
#

Yeah, I'd have to, I'm using their publishable key...

#

Nes pas?

pure echo
#

Ah you don't want to be doing that

wise roost
#

Oh??

pure echo
#

Let's back up a second

wise roost
#

yep!

pure echo
#

These are Standard Accounts correct?

wise roost
#

Correct.

#

Users manage their own stuff 100%

pure echo
#

Yep great

#

So what you want to do is initialize as the Connected Account

#

You pass the Stripe-Account header with your own publishable key

#

You should never need (or be asking) your Connected Account merchant's for their keys

wise roost
#

Oh interesting. It was one piece of information made available during the connect process.

#

I don't ever ask them for it, but I was capturing it.

pure echo
#

Are you using OAuth?

wise roost
#

(just in case, hehe)

#

Yes

pure echo
#

Gotcha and is this because they have already-created Stripe accounts?

wise roost
#

Correct.

pure echo
#

Okay

#

So you either want to tell your Connected Account users that so they turn on the ones they want. Or you want to specify paymentMethodTypes here explicitly

wise roost
#

Right, so the screenshots above were for the connected account

#

Not the platform

#

In my scenario:

  • Street Swipe == platform
  • Copper Dusk == connected account (which I use for testing)
#

Everything I'm showing from the Stripe configs/dashboard/keys is for Copper Dusk.

#

However what you're saying is that I should be using the publishable key from Street Swipe? Not Copper Dusk?

pure echo
#

Yep

blazing geyser
wise roost
#

Where do I need to specify the stripe account? Options?

blazing geyser
pure echo
#

No you specify it when you initialize Stripe.JS. Via loadStripe in React

wise roost
#

Alright, just doing the rewiring now to use my platform PK, and then to plumb the connected account ID.

#

Will just take a few moments.

pure echo
#

No rush

wise roost
#

hmm

#

no love

#

I'm using:

#

pk_test_51NccxJLuyOQnR8JDoS510Da8a61cJ9ZcCGNNWgHs8ct4Nw9Fw25H8l2o1l25QlfIzB8bhhVki1Q9RoKfTv0MQ2jk0030xgI1ZD
acct_1MPUldBhBPAhixsR

#

So the PK should be from Street Swipe.
And the account ID should be for Copper Dusk.

pure echo
#

One sec

#

Let me look at that account

wise roost
#

For sure

pure echo
#

Hmmm very strange

#

Seems like it should work just fine

#

Can you test something for me and try to use EUR real quick instead of CAD?

wise roost
#

Sure

#

No diff

#

Same thing

blazing geyser
# wise roost For sure

Can you check if you are using the Latest api version?

As the new api only has automatic payment methods

wise roost
#

Whereabouts would I check that?

#

(I never specify API versions)

pure echo
#

That shouldn't be relevant for the deferred intent flow

blazing geyser
wise roost
#
        "@stripe/react-stripe-js": "^2.3.0",
        "@stripe/stripe-js": "^2.1.5",
#

I know these are just JS wrapper versions, but JIC it implies anything

blazing geyser
wise roost
#

Is there a way to roll my account forward without having to specify version explicitly?

pure echo
#

The API version only has an impact in the standard payment element flow where you create the PaymentIntent upfront

wise roost
#

ah

pure echo
#

You are using the deferred intent flow, so if you don't specify paymentMethodTypes then we use Automatic Payment Methods (the ones set in your Dashboard) by default

wise roost
#

Yeah, that's what I was hoping ๐Ÿ™‚

#

Regardless, it looks like I'm on the latest API version anyway.

pure echo
#

Is there somewhere I can visit your site?

#

Or do you only have this locally?

wise roost
#

Sadly not like this, no.

#

I'm working on new functionality.

pure echo
#

Hmm okay. If you don't use Connect at all and you just initialize as your platform, what do you see?

wise roost
#

checking...

#

Interestingly, I get the Link message.

#

But still no payment methods.

#

Haha

pure echo
#

Can you complete a PaymentIntent and provide me the PaymentIntent ID?

wise roost
#

err, haven't made it that far ๐Ÿ˜ฆ

#

This isn't communicating with my server for creating the payment

pure echo
#

No worries

wise roost
#

Was building my way towards it.

#

That is literally the next step, hah

pure echo
#

Ah wait you don't have Afterpay on for you platform

wise roost
#

checking

#

Right, I didn't fiddle with any of those

pure echo
#

Yeah toggle that on and let's make sure it works

wise roost
#

Well, but I do have google and apple

#

Aha!!

pure echo
#

lol okay that's good

#

Google Pay and Apple Pay require HTTPS

#

So they shouldn't show locally

wise roost
#

I am HTTPS locally....but not a valid cert

#

Probably the reason

pure echo
#

Ah

wise roost
#

That's fine, we can continue with these as examples

#

Okay, so they're showing up when I don't put the account id of the connected account.

#

But wat du?

pure echo
wise roost
#

Ohhh, this is an ACL scheme, isn't it?

#

They gotta all be green to let through?

pure echo
#

Really no. This shouldn't have any affect imo but I can double check on that if this does work.

wise roost
#

Hah, it works

pure echo
#

Okay I mean yeah that was the last thing I could think of

#

Let me check with a colleague but I don't think it should work like this

#

Regardless, that should get you unblocked for now

wise roost
#

So the only thing I can think then is that the platform and connected account must both agree on methods before they show

pure echo
#

I suppose, but really you shouldn't have any control from the platform if you aren't the controlling platform. But yeah maybe we built it with the idea that you still have some control

#

Let me check

wise roost
#

For sure, thanks!

#

I don't mind either way, I'll just set the most permissive from my platform.

#

The general idea is that my customers will have the most control.

pure echo
#

Yep that works well

wise roost
#

But yeah, maybe this screen was only intended as defaults for accounts I create, right? Haha.

pure echo
#

That was my impression. But maybe that was mistaken

wise roost
#

๐Ÿ˜„

#

We both learning here. Maybe me moreso than you though, haha

#

How does one get paypal to show up?

#

I'm not hung up on it, but I thought it was a thing

pure echo
#

You have to have an EU account currently for Paypal

#

We don't yet support for US/CA

wise roost
#

Ahh

#

What if my connected account is EU?

#

Shouldn't they be allowed to process using it at that point?

pure echo
#

Yep that should work

wise roost
#

But I don't have paypal in my dashboard to block or allow it for connect?

#

Would it show up if I got an EU connected account?

pure echo
#

Hmmm actually I'm not positive we support Paypal in Payment Element yet.

#

Let me double check

wise roost
#

K!

#

If I wanted to add a paypal button for EU customers, is there a path for me?

pure echo
#

Okay confirmed it is supported in Payment Element and I believe if you have an EU connected account with it turned on then it should just work

#

But I haven't tested this myself as Paypal is relatively new

#

I'd recommend testing it out!

wise roost
#

Fair, no prob. I guess yeah once I have some way of creating EU accounts, I will do so.

balmy muralBOT
wise roost
#

If I might suggest having the connect page show all possible forms of payment, even outside of what the platform account itself supports ....

#

That would at least help me understand the full list of what to anticipate.

#

and then if there was a method that I wanted to block that I didn't myself have access to...

#

Also Neo, I think you've added Neo?

winter grail
#

lost-paypal-connect

wise roost
#

They have a big office here in my home city of Winnipeg, haha. I should think they'd show up as an option if you're set up with them too ๐Ÿ˜‰

pure echo
#

That's fair feedback and something I can pass along.

#

Don't believe we support Neo

wise roost
#

Sounds good!

#

Awesome, thank you so much for all the deep sleuthing here

#

Really appreciate it