#ADITYA-multiparty

1 messages ยท Page 1 of 1 (latest)

cedar summit
#

Hello! Please continue typing in this thread ๐Ÿ™‚

fresh orchid
#

When we want to process customer 1 transition to business 1 ==> we create payment intent under Business 1 and process it .
When we want to process customer 2 transition to business 2 ==> we create payment intent under Business 2 and process it.

#

Now problem arise when we want to saved cards .
Customer 1 saved cards for Business1 can't be access by customer 1 saved cards for Business2 . Ideally we want saved card for Master Huddleup .

cedar summit
#

Are you familiar with Connect already?

fresh orchid
#

Yes . We implemented connect and it is working properly .

#

We stuck at saving cards info . how to access across vendors.

cedar summit
#

Awesome! What kind of connected accounts are you working with? Standard? Express? Custom?

fresh orchid
#

Standard

#

Another way we explored that create payment intent for Master on behalf on vendor . Which works perfectly - saved cards access across vendors .

#

But we want to get it reviewed second approach - is right way ?

cedar summit
#

When you say that you create the payment intent for master on behalf of vendor - does that mean you're using destination charges? Or are you using Direct charges?

Ideally, you should be using Direct charges with Standard accounts

fresh orchid
#

In first apporach - API we are using:

stripe.PaymentIntent.create(
amount=1099,
currency='usd',
payment_method_types=['card'],
stripe_account='{{CONNECTED_ACCOUNT_ID}}',
)

But In second method - master payment intent we tried using this API:

stripe.PaymentIntent.create(
amount=1099,
currency='usd',
application_fee_amount=200,
payment_method_types=['card'],
on_behalf_of='{{CONNECTED_ACCOUNT_ID}}',
transfer_data={
'destination': '{{CONNECTED_ACCOUNT_ID}}',
},
)

{{CONNECTED_ACCOUNT_ID}} => Vendor Account ID

cedar summit
#

Definitely use the first approach (direct charges) if you're using Standard connect accounts

fresh orchid
#
  • I am reconfirming this ....
    does that mean you're using destination charges? Or are you using Direct charges?
#

Is it possible to have voice call with you ?

cedar summit
#

Let me summarize everything again to see if that clears things up as well

fresh orchid
#

Sure .

#

In First approach - how can we link saved cards across vendors ( customers of Master)

cedar summit
#

For the two methods you shared, the first is a Direct charge, and the second is a Destination charge. We strongly recommend that if you're working with Standard connect accounts, the you go with your first approach/Direct charges. If you go with Destination charges that can result in problems for you down the line.

With Direct charges, if you need to share payment information across multiple connected accounts you should look into cloning card payments (https://stripe.com/docs/payments/payment-methods/connect#cloning-payment-methods). With this scenario, the customer and payment methods would live on the platform and you could clone them to the connected account as needed. To reference the image you shared earlier, Customer 1 + their payment info would be stored on Huddle Up. When Business 1 wants to charge them, you'd clone the customer + payment info from Huddle Up to Business 1 and optionally attach it to the customer for future use. You'd do the same thing for Business 2

fresh orchid
#

Thanks a lot Karbi . Got it . checking out cloning . It seems it will solve our problem .

#

Thanks a lot again for quick and spot -on help. I really appreciate it .

cedar summit
#

๐Ÿ‘ happy to help! Try out cloning in test mode and let us know if anything comes up

fresh orchid
#

Yup . Thanks .

stray hawk
#

hey @fresh orchid , I unarchived this thread

#

Copying your new message in:

Thanks @cedar summit for suggesting cloning card method around this .
We tried to implement that but we stuck at this point :
payment_method = stripe.PaymentMethod.create(
customer='{{CUSTOMER_ID}}',
payment_method='{{PAYMENT_METHOD_ID}}',
stripe_account='{{CONNECTED_ACCOUNT_ID}}',
)
To do this we need to create payment method, which requires card element - which we are not storing locally .

fresh orchid
#

Got it. Thanks

stray hawk
#

So these payment methods would need to be attached to Stripe customers in order to be reusable like this

#

So you can retrieve them from your platform customer:

#

Then use the payment method ID with the sharing/cloning snippet for whichever target account

tacit rivet
#

Actually what we want is, the customer we used with previous transaction, so the customer details that were saved by stripe so that we can reuse that. We ourself aren't saving any card details on our server so we can't create a PaymentMethod to begin with as it requires type which will be card. and then card details. And before cloning we would need a PaymentMethod to clone with .

stray hawk
#

The cloning to connected accounts approach is specifically for replicating saved cards from your platform to connected accounts. If you don't have saved cards on your platform customer that you want to use on a connected account, then what are you trying to do here?

fresh orchid
#

Hi @stray hawk . in this image . as we are using standard connect system . We created and saved card for Business 1 - customer 1 . Now when same customer 1 do transition @ other Business 2, we want to use saved card ( which he saved it @ business 1 ) . Now we don;t have anything related to card . What is saved during first transition - also at stripe only.

ornate epoch
#

@fresh orchid okay so what is blocking you exactly? In your flow you need to figure out a way to store card details at the "Huddle up" level for it to work. You can not save card details as part of the first payment on business 1. If you do, you can not re-use that card elsewhere

fresh orchid
ornate epoch
#

that's impossible that's what I explained above

#

you will have to change your integration path/logic if you want to save cards at the platform first

#

1/ Collect card details via a SetupIntent on the platform
2/ Get the PaymentMethod pm_123 on the platform
3/ Clone that PaymentMethod on Business 1 and get pm_ABC
4/ Confirm the PaymentIntent (your code above) with that new PM id.

tacit rivet
#

Okay, Thanks

ornate epoch
#

did that make sense?

tacit rivet
#

Yes. But can we save card details used by customer directly after payment is made? Like save the card he used for payment so he doesn't have to go through different process to save it again.

We're using the stripe pre-built in payment screen.

#

On React Native platform

ornate epoch
#

That's not really possible to do it in one step, you have to do the extra steps unfortunately

tacit rivet
#

Okay, but is there an extra step we can take so its done in the same flow? And need not create a completely different flow

ornate epoch
#

Honestly no, that's jut not possible

#

you have to do the flow like I mentioned above, that's the only way

tacit rivet
#

Okay thanks