#itgben-terminal-reader

1 messages ยท Page 1 of 1 (latest)

mortal cedarBOT
vast flare
#

itgben-terminal-reader

#

@upbeat kestrel there should be a req_123456 somewhere returned in that error message, can you share that?

upbeat kestrel
#

req_urSznehCReRIvK

vast flare
#

That request is made on a connected account for the "Direct Charge" flow but that Reader was registered on the **platform **

upbeat kestrel
#

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.

vast flare
#

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

upbeat kestrel
#

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.

vast flare
#

yeah sorry let's take a step back because you're quite confused

#

So mostly the problem is that you seem to use Direct Charges and need to stop doing that

upbeat kestrel
#

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

vast flare
#

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

mortal cedarBOT
upbeat kestrel
#

I am probably mixing up words sorry. I am pretty sure I understand what you are referring to.

vast flare
#

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

upbeat kestrel
#

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?

sullen cloud
#

๐Ÿ‘‹ stepping in here

upbeat kestrel
#

if I am saying that correctly

sullen cloud
upbeat kestrel
#

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,
},
});

sullen cloud
#

Since you charge on your platform, you would only use the Customer ID that exists on your platform account

upbeat kestrel
#

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?

sullen cloud
#

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

upbeat kestrel
#

So I just need to leave out the "customer: stripe_customer_id" then?

sullen cloud
#

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

upbeat kestrel
#

Am I thinking of this wrong? I am trying to differentiate between my Customers and my Customers' Customers?

sullen cloud
#

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?

upbeat kestrel
#

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.

sullen cloud
#

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.

upbeat kestrel
#

Hmm... so I can achieve what I am trying to do if I do not want to save their payment method?

sullen cloud
#

Yeah sure if you are just taking one-time payments

upbeat kestrel
#

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?

sullen cloud
#

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.

lean niche
#

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.

upbeat kestrel
#

Yeah, I just left out the customer id:stripe_custoemr_id and the Wise POS E initialized fine

#

Thanks for the help