#BJ

1 messages · Page 1 of 1 (latest)

steady spearBOT
light rapids
#

why not just take the customer details like say, if you store their email in a database on your end, fetch the customer, and then said data?

#

At least that is how I do it on my integration on my capstone project as my ERD has an email column to help with that.

strange rivet
light rapids
#

normally I do not directly worry about payment method data on my capstone project as I modeled it as an auto renewing subscription for everything on it.

#

However, yeah not all projects are like that.

nova monolith
#
  1. sure. You can get details of the Customer on the platform account via the API, and you can use the ephemeral key integration with that Customer. Ultimately, you kind of have to clone the customer right? You can't do a Direct Charge unless the objects(PaymentMethod pm_xxx) exist on the connected account

  2. yes, that's possible, they can charge the cloned customer themselves.

  3. nothing automatic, you would have to build a solution for that. I generally recommend not trying to do that, and keeping a "master" copy of the customer on the platform account that you manage and update, and only clone a PaymentMethod to a connected account when you need a payment.

  4. Yes that's fine(it's what I'm suggesting above)

#

note that what we call "cloning a customer" in our docs does not actually involve cloning a Customer object cus_xxx ; rather it's just that you can take a PaymentMethod pm_xxx from a Customer on a platform account, and copy that PaymentMethod to a connected account(and then on the connected account you can charge it directly, or attach to a Customer there); which is a building block that could be used for a "shared customers" system.

strange rivet
#

Can I ask more? well, I describe the my situation more, I used future payment for store card data in our user(platform customer), and we implemented off-session charge. But we have problem with 3DS, some card was rejected by bank in off-session charge. So I should create payment intent for on-session now.

#

But the requirement is that the customer should be controlled or managed by our stripe account only(platform). So connected account(seller) must not be create some payment with cloned payment method data.(We use standard account for connect).

#

So according to answer 2, I cannot clone the customer into connected account.

nova monolith
#

that requirement is not possible, if you use Standard Connect and create a cus_xxx in the connected account with a saved pm_xxx, the owner of that account can initiate a payment against them(using their dashboard, or their own API keys), though that might be unlikely unless they have a specific reason to do so.

nova monolith
#

if you don't want the connected account to be able to charge, I would again mention:

I generally recommend not trying to do that, and keeping a "master" copy of the customer on the platform account that you manage and update, and only clone a PaymentMethod to a connected account when you need a payment.
if you clone a PaymentMethod and use it for a one-off PaymentIntent, that's it, that cloned PaymentMethod, it can't be used again on the connected account.

#

it's only a problem if you save the PaymentMethod to Customers on the connected account.

strange rivet
#

Thank you for answer. 🙂 I guess I misunderstand some point. My situation is like using test card 4000 0027 6000 3184. off-session was decline because of 3DS. So I created on-session but unfortunately, I cannot clone the customer into connect account. How can I show the stored card data from customer on frontend? When I just tried to with platform customer's ephemeralkey's secret, I got the No such customer. This is right because connect account doesn't have customer. So Is there some way to show? or should I clone the customer?

nova monolith
#

that test card always requires authentication regardless of what you do with it

#

use the 3155 card to test "setup and then not needing 3DS off-session".

#

When I just tried to with platform customer's ephemeralkey's secret, I got the No such customer. This is right because connect account doesn't have customer
well you'd have to use the secret key of your platform to create the ephemeral key, naturally

#

and when you say frontend, I assume you are talking about a mobile app using our mobile SDKs, and the publishable key of the platform too.

#

unfortunately it's really hard/impossible to do this really where you show the payment methods saved to a customer on the platform and then create a PaymentIntent on the connected account, it doesn't really work as the SDKs don't really support switching accounts like that.

#

so it's likely better to not use our frontend components like PaymentSheet and instead implement your own UI for showing cards and then doing the payment, it's a lot of custom work unfortunately. The Stripe product here for handling this type of setup with Connect + cloning is quite poor.