How to generate invoices for the application fees with Stripe direct charges? - stripe-payments

I'm launching a marketplace where some professionals offer their services and customers can book and pay them online. I take percentage fees in the process and I use stripe direct charges for that. So when a customer proceed to a stripe payment though my website the professional (the connected account) gets paid and automatically pays me (the platform account) the application fees percentage that I set.
I've searched on stripe website and couldn't find an answer: Is it possible to generate automatically some invoices from my platform account to the connected account that would be related to the application fees ?
For example if the professional's price is 10$ and the application fees that I set is 10% how could I generate the 1$ invoice to the professional ?
I only found how to build or generate invoices for connected account to their customers but not invoices involving the platform account and the connected account.

It seems like what you are looking for is an application_fee[1] . As the diagram[2] displays, the professional (Connected account) charges the customer directly but your application fee is collected and deposited in your account during the funds flow of the Connected account.
This does not provide any invoice to the professional since the application_fee is sent to your account at the same time as the remaining funds are transferred to the Connected account. This process allows you to have a set percentage based application fee you charge the professionals on your marketplace.
The application_fee approach is the recommended way of collection a fee as part of a direct charge. This will not generate an invoice to your Connected accounts automatically but you could always generate one of your own (outside of Stripe) as a record of the fee for those accounts.
https://stripe.com/docs/connect/direct-charges#collecting-fees
https://stripe.com/docs/connect/direct-charges#flow-of-funds-with-fees

Related

Stripe - How To Add Product Behalf Of Connected Account?

Normally when using stripe I can create products and add tax rates, shipping rates. After the payment I can create invoice. I want to do the same thing when using connected account. In my app I want users to create stores and this stores' product will be saved to their connected stripe account. Stores in my app will set shipping rates and tax rates. Then I can automatically invoice the payment. That's what I want to do. Is it possible to do with stripe? Because I read the documents but I could not understand the invoicing on connected accounts. Because when invoicing the connected account only customer id required. That confused me.
Invoice connected accounts document
I'm not sure you'll be able to do things exactly how you describe but I'd suggest you reach out to Support to talk about this further: https://support.stripe.com/contact/email

Stripe connect. Transferring payment to a connected account charges fees on the main account

I have account B connected to account A (both are standard accounts).
What I'm trying to do: accept a payment through A and send the full amount to B, which then gets charged the corresponding Stripe fees.
What I did: Created a webhook that fires on charge.succeeded and does a transfer to the connected account (B), using the charge id in source_transaction (As per https://stripe.com/docs/connect/charges-transfers)
What happens: The connected account (B) seems to get the full payment, without fees, the fees seem to be charged to account A
Could it be that it's because in test mode? The idea is to use account A to send/split a payment between other accounts (1 or more), as in a marketplace.
You'd usually simply use a Direct Charge — https://stripe.com/docs/connect/direct-charges. That's exactly how you platform A makes an API call on connected account B to facilitate a payment, and the fees are paid by B.
The link you posted is for a more advanced integration where the platform processes the payment(and therefore pays the Stripe processing fees) and then transfers money to a connected account(like a company like Lyft charging a rider, then transferring some of the money to the driver).
The idea is to use account A to send/split a payment between other accounts (1 or more), as in a marketplace
You can't use Direct Charges to split a single payment between multiple connected accounts such that they all pay the fees separately. The most you could do is make multiple separate charges — like take the card from the customer, clone it to each individual account involved, and do N separate charges (https://stripe.com/docs/connect/cloning-customers-across-accounts) on each of them. I wouldn't really recommend that since it likely leads to more declines and disputes(it's weird to have a shopping cart with 5 items from 5 sellers and get charged by the actual 5 sellers, I would expect to be charged once by the company that runs the marketplace).
If you really need to do this type of business model where you take a single payment and then split between multiple sellers then you do need to take the approach you linked to, and have the platform pay the fees, that's the only way, it's specifically discussed at https://stripe.com/docs/connect/charges#types in detail.

How to charge fee on stripe api using c#

I am using Stripe Api to create a customer and then charge it.
What i wanted is to charge my customer whenever it create a sell or charge.
I want 7% of total amount to be credited in my stripe account.
I have tried the Application fee when creating charge with customer Id , but it requires destination to be passed, which requires merchant ID, which always throws error that "No Merchant Found with provided ID".
How the documentation say, there are two way to create a charge: Charging directly and Charging through the platform.
Which of these are you using? (Can I suppose the second since you were talking about the "destination"? ).
They both require connected accounts to do charge, ect.
In the case of Charging through the platform, you need that the account is connected to the platform to be visible from the "destination" (Connecting_Account_Documentation).
If it is not so, explains better the situation in which you find.
application_fee:
A fee in cents that will be applied to the charge and transferred to the application owner's Stripe account. To use an application fee, the request must be made on behalf of another account, using the Stripe-Account header, an OAuth key, or the destination parameter. For more information, see the application fees documentation.
destination:
An account to make the charge on behalf of. If specified, the charge will be attributed to the destination account for tax reporting, and the funds from the charge will be transferred to the destination account. The ID of the resulting transfer will be returned in the transfer field of the response. See the documentation for details.

Multiple Stripe accounts in one form

With Stripe, can I have two charges from two different stripe accounts on one form? ie) Have the setup fee be sent Company A and the product fee sent to Company B...
I am creating a subscription based website however, I need to charge consumers a fee for their transaction as well as send the payment directly to the company. Example: The consumer will be charge a transaction fee of $5, which will go to my company. Furthermore, the price of the product will go to the company that posts the product. Therefore, I get the transaction fee and the company gets the money for their product.
Is there a way to do this with Stripe?
Yes, you'd need to use Stripe Connect to accept payments on behalf of other accounts, and optionally take a cut.
In your case, your account would be the platform's account and the company that ships the product would be a connected account.
You could then accept charges on behalf of this company, and specify your own application fee: https://stripe.com/docs/connect/payments-fees

Recurring billing (variable amount and frequency)

I can find a good payment solution for my site and recurring payments. I've been looking around but can't find any great way of doing it.
On our site our customers are spending virtual credits. The charge their account with new credits when their credits are out. We want to provide them with an automatic refill functionality but we do not want to deal with all the PCI-DSS problems that comes with it.
Basically I'm looking for the following functionality:
The payment provider should expose (secure hosted pages) where the customer provides all credit card details.
My site loads the hosted pages with some customerID (to be able to map tokenID with customerID in the last step).
When the customer has registered his credit card details the payment provider sends a notification to my site that credit card details has been tokenized with a tokenID for customerID.
In the future I charge my customer with an API call:
API::charge(currency,amount, tokenID);
Is there any payment providers out there that can do this?
You can't use a normal recurring billing system if the amounts change from cycle to cycle. The best you can do is use a service like Authorize.Net's Customer Information Manager (CIM) to store the credit card and billing information for you and then you create your own scheduling engine that charges against the payment method you have stored for them using CIM. CIM also allows you to make off-cycle payments at any time as well.

Resources