#itgben-terminal-reader
1 messages ยท Page 1 of 1 (latest)
itgben-terminal-reader
@upbeat kestrel there should be a req_123456 somewhere returned in that error message, can you share that?
req_urSznehCReRIvK
That request is made on a connected account for the "Direct Charge" flow but that Reader was registered on the **platform **
Yes... so I am doing something wrong. I am trying to process a payment through a connected account, and I getting the reader id from metadata in the Reader. Not really sure the "Direct Charge" flow is, but do I need to Register the reader in a different way to be used with a connected account?
I thought that Readers were always associated with the platform.
If you use the Direct Charge flow then the Reader has to be registered on the connected account
But you are using Express accounts so you should never use the Direct Charge flow
Is there a way to register a Reader on a connected account via the Dashboard? And also, can you point me to the various "flows" and which one I should be using to handle a Wise POS E payment? Node.
yeah sorry let's take a step back because you're quite confused
You are a platform, you have Express accounts, you should always use Destination Charges: https://stripe.com/docs/connect/destination-charges and nothing else.
All transactions should happen in your own platform account
So mostly the problem is that you seem to use Direct Charges and need to stop doing that
Alright. I think I understand. Basically, when it comes to payment intents, anytime it is related to a connected account -> destination-charges? When it comes to billing my own platform customers, I can use the Direct Payment flow, subscriptions,etc.. ?
no
Everything should always happen on your main platform account.
Sorry I worry you're mixing up words here. You say "Direct Payments flow". But that is not a term we use. And we use "Direct Charges" which is about an advanced Connect flow of funds for platforms with Standard accounts
I am probably mixing up words sorry. I am pretty sure I understand what you are referring to.
all good, vocabulary is tough when you use multiple Stripe products but also refer to your own payment flow ๐ฆ
But as long as you understood tat's great. Mostly: you shouldn't be using the stripeAccount option in your code at all for payments
ah man now im confused
So.. when I create a payment intent with a destination charge to a connected acount, is it not necessary to specify the customer within the connected account?
๐ stepping in here
if I am saying that correctly
https://stripe.com/docs/connect/destination-charges#flow-of-funds-app-fee has a nice diagram for how destination charges work
const payment_intent = await stripe.paymentIntents.create({
customer: stripe_customer_id,
amount: amount_cents,
currency: 'usd',
payment_method_types: ['card_present'],
capture_method: 'automatic',
application_fee_amount:application_fee,
transfer_data: {
destination: stripe_account_id,
},
});
Since you charge on your platform, you would only use the Customer ID that exists on your platform account
Im still confused. I am trying to charge a Connect Acount Customer ID, not a Customer ID listed on the base "platform" or a Customer listed on the default Dashboard page?
When you use Destination Charges you don't deal with any Customer IDs on the Connected Accounts. All of those Customer objects live on your platform and you just transfer funds to the Connected Account via Destination Charge.
So the Customer object might be a customer of your Connected Account but it still is created and used on your Platform account
So I just need to leave out the "customer: stripe_customer_id" then?
That is optional -- if you want to save the PaymentMethod that is collected to that Customer then you should create a Customer ahead of the PaymentIntent and pass that parameter (with the Customer ID) and the setup_future_usage parameter. If you don't care about saving the PaymentMethod for future use, then you can omit that customer parameter
Am I thinking of this wrong? I am trying to differentiate between my Customers and my Customers' Customers?
So you are taking payments from customers both for yourself and for your users?
As in, you aren't just facilitating payments as a platform but also collecting payments directly from customers?
Crap. I almost think I need to go through a new user registration process. So I use Stripe on a few levels which is probably why the confusion. A User signs up to use my CRM app. If they would like to continue to use, then I setup a Stripe subscription and they are a Stripe Customer. If they decide they would also like to accept payments for their Customer base then they go through the onboard connect process.
Sure that all sounds fine.
So you do both process payments from your users and facilitate payments to them
Which isn't an issue.
But what you may want to do is add metadata to your Customer objects for example to help differentiate them
That said, all of your Customer objects are going to be on your Platform since you use Express Accounts
Or, as I mentioned above, you could exclude using Customer objects at all for facilitating payments to your users if you only want to support one-off payments (meaning collecting payment method details every time) for their customers.
Hmm... so I can achieve what I am trying to do if I do not want to save their payment method?
Yeah sure if you are just taking one-time payments
I guess it's not necessary. What would need to change again if I did want to save the payment method? Not an Express Account?
You would just exclude the Customer ID. You are technically already not saving payment methods since you aren't passing setup_future_usage based on the snippet you provided above
If you are ever going to have repeat customers then it is recommended to save payment methods to make the future checkout flow easier.
On the whole, I think you are over-thinking this a bit.
Mostly I would recommend you just use Customer objects for the Subscriptions for your users and those of your Connected Account Destination charges. You set metadata on the Customers for those with Subscriptions to make it clear these are associated to the user of the Connected Account.
Hi there ๐ jumping in as my teammate needs to step away soon. I'll be happy to continue on this topic if there is anything unanswered or if there is anything that isn't clear.