#harshit.tyagi
1 messages · Page 1 of 1 (latest)
hi! well if you're not doing an immediate transfer then there wouldn't be any link, you would just create the CheckoutSession on the platform account with no reference to any other account, and then later you can call the Transfers API to split funds from the underlying PaymentIntent/Charge.
I was just wondering what this parameter - "payment_intent_data.on_behalf_of" is for?
We have this parameter under "checkout.sessions.create" API.
it's to mark an account as the merchant of record/settlement merchant
the meaning of that is defined on https://stripe.com/docs/connect/destination-charges#settlement-merchant
Can you please explain this a bit more?
I thought, I can provide the connect account id for this parameter and that way payment will be linked with connect account.
depends what you mean by "linked"
When I say "linked", I'm expecting that when I open that connect accont on Stripe dashboard, it will show me all the payments that were done for this merchant.
And stripe will use this linking to calculate the total amount that is pending for transfer for that merchant
there's no such feature like that
if you use Direct Charges then the CheckoutSessions/PaymentIntents appear on the connected account dashboard
if you Destination Charges or Separate Charges & Transfers(you're talking about using the latter here), all the connected account sees are the funds arriving from Transfers and not details of the actual payment the end-customer made via Checkout(that is all stored on your platform account instead)
so when you say that I'll have to call the Transfer API later to transfer the amount into merchant's account, how will I know that what total amount is pending for transfer?
it's up to you, you choose the amount you want to transfer based on your own business logic and you pass that to the amount parameter of the Transfer API
make sure to read https://stripe.com/docs/connect/charges-transfers#transfer-availability (and that whole page) in detail
In that case, what this Edit payout schedule option is for? I see this on Stripe dashboard, when I open any of connect accounts that I have added.
that's quite unrelated to anything we've discussed thusfar
that's for how payouts to the connected account work. When you use the Transfers API to transfer, that adds funds to the balance of the Stripe account recieving the Transfer. Separately, the balance of a Stripe account is paid out to their linked bank account (real money) according to the schedule settings of the account
I think I understand it now.
Okay, so if I do not want to manually calculate the "amount to be transferred" to connect account in my application code, I'll have to use "payment_intent_data.transfer_data.destination" parameter of Create Checkout Session API. This will transfer the amount directly to Connect's balances .. and then payout can be done by manually from dashboard or I can also set a schedule for that?
@heavy kayak
yes, usually you'd use transfer_data (Destination Charges) unless you have a strong reason to need this to be separate
and then payout can be done by manually from dashboard or I can also set a schedule for that?
either/or, the screenshot you shared explains the options well , as does https://stripe.com/docs/connect/manage-payout-schedule
Okay, and on that screenshot, there is one field - "Delay payouts by". What is this for?
If I have set the schedule for every "week" on "Monday", and Delay payouts by is set as "2 days" . So, is it like - payments done on Saturday and Sunday will not be transferred on this Monday and rather it will be transferred to bank on next Monday?
@heavy kayak
👋 I can help
Yes it allows you to delay the funds being paid out.
One of the use-case there is to hold the funds for certain days in case there are any refunds requested by the customer
Okay.
And similar to this option that we have for Connect' account, do we also have Payout Schedule option available for my main account, I mean for the amount that I see under "Balances" on Stripe dashboard?
On this tab
Interesting, afaik you can set a schedule for payouts on the platform account too. Not sure why it isn't showing up for you
hmm .. okay, may be I don't have the sufficient permissions. Where can I see my account permissions or type of my account?
https://dashboard.stripe.com/settings/user
All the way to the bottom
In the Role column under Accounts
Okay, so my role there is "Developer". May be that's why I'm not getting those options
And does Stripe also provide the option to payout immediately for platform account or connect accounts?
I mean automatic payout immediately after the payment.
Hmm not sure if we support "Automatic + Instant Payout" but we do support instant payouts in certain countries
https://stripe.com/docs/connect/instant-payouts
the instant in instant payouts mean the transit time is instant(i.e. when you call the Payout API, the money arrives in your bank account 'instantly'). You can only do that when you have available balance, and that takes ~days depending on your account
there's no world where you just charge an end-customer and we immediately give you the money, it takes time for the money to be made available for operational and risk control reasons.
hmm, got it.
I think, my payment related queries are pretty much sorted now. Thanks.
One last query I have about - "Products". Is there any way to see the Product's sales history on Stripe?
I know that payments are linked with products, I can see that under any payment on Payments tab.
But let's say if I want to see which is my best selling product OR how many time any specific product has been purchased? Can I get that information from Stripe?
AFAIK you can use our Revenue Recognition products for that sort of reporting : https://stripe.com/docs/revenue-recognition/reports#dashboard ; or write custom code to do this analysis by using e.g. the List PaymentIntent API and gluing the object references together and counting things
okay, I'll check this doc.
Thank you guys @heavy kayak and @warm shuttle for putting up with me for so long. Have a great day!