Set-up Stripe Connect for split payments - stripe-payments

I have a platform which users register on with their car and then another user can then rent the car for a period of time. When the payment for the rental is received to our company account I need to be able to pay out 80% to the car owner and then pay our company account the remaining 20%.
I have Stripe integrated on my platform and we can receive payments but I don't know how to set up the rest, Stripe support are saying the platform developers need to do it, but the platform developers don't know where they need to do this and tell me I actually need to do it within Stripe myself. Im so frustrated and confused as no one is helping me.
I would be so grateful for some advice and help on if code needs to be put on the platform by the developer and if so what code? Also if there is a link to the correct guidelines.
Thank you in advance!
Gen

The product you need to use here is called Stripe Connect. It allows you to collect payments on behalf of a third-party, send them the funds and keep a portion of it for yourself.
The idea is that you will act as a platform and have your own Stripe account. Car owners will be able to register with your platform and create their own Stripe account that will be connected to your own.
When a customer wants to book a car you'll be able to collect their card details securely and charge them on behalf of the car owner while keeping a portion of the funds for yourself.
This will be a more complex integration though and something that your developers will need to build for you if you're not the developer yourself. You'll use multiple Stripe products such as Connect as mentioned earlier, but also Checkout or Elements to collect card details.

Related

What security measurements we should take if we are storing banking details?

I am developing a mobile app, a market place buyers and sellers can meet.
When making payments, the buyer will have to enter his credit card information every time, because we are not saving them.
To get paid, sellers need to have their bank details stored with us (That's what we think). We are planning to use a payment gateway like Stripe or Braintree.
Now, we have 2 questions.
Instead of we storing the bank details, can we shift this responsibility to the payment gateway provider? So the information are with that service and not with us.
If it is mandatory for us to keep the bank details, what security measures we need to take?
I can't speak for Braintree, but Stripe can handle storing those. I'd suggest reaching out to them to tell them more about your use case and ask for more details. https://support.stripe.com/contact/email

Share Customer and its PaymentMethods with Connected Accounts

I'm building a platform where content creators can setup a subscription service of which I'll take a fee (think Twitch.tv, Substack, OnlyFans, etc.)
Content creators will setup a Stripe Connected Account on the platform. I'll operate the Platform Account.
Customers that subscribe to a content creator might want to subscribe to others so it makes sense to keep both Customers and their PaymentMethods on the Platform Account. Customers must be able to manage all their subscriptions and have their credit card details pre-filled, if already available.
I can't, for the life of me, understand how to share these Customers and their PaymentMethods with the content creator's Connected Accounts.
I followed the clone customers across accounts guide unsuccessfully. It errors out while creating the Token, saying that the Customer must have an active payment source. I read somewhere that this guide doesn't work with PaymentMethods but I don't really know if that's true.
Then I found this other guide. It seems, though, that I would have to create a Customer, per User, per Connected Account which will make me duplicate information and make subscription management harder.
Could anyone, who has experience building a similar service, give me some pointers?
Thanks
Instead of cloning PaymentMethods to your connected accounts (for which this guide is the correct one) you could create subscriptions using destination charges. The idea being that the customers and payment methods stay on your platform account. When an invoice is paid its funds (minus an application fee set by you) are automatically transferred to the connected account.

Is it possible to query Stripe for a credit card belonging to any customer?

I have a subscription service for which free trials are allowed before signing up for the full payed service. I want to ask the customer to provide credit card details before gaining access to the free trial, to prevent abuse of the trial.
I'm using Stripe to handle payments so that I don't have to deal with storage of any sensitive payment information. This free trial scenario would seem to be very common, so I assumed there would be some way to query a card to make sure that it hasn't been used to sign up already. Just some API call that would accept the card number etc. and return a boolean.
I haven't seen anything like in the API docs. I know that fingerprints of cards are accessible after creating a card source, so is it advisable to store them myself and query them? Or have I missed something in the docs?
Just to be clear... I'm not looking to search a card for a particular customer. I know I can iterate over the cards to do that, but I'd have to iterate over the cards of every customer to accomplish what I want, which is not feasible.
Here you probaly want to contact the support team and suggest this as a new feature.
A possibility is the fingerprint you mention, in my opinion this would be the way i would do it too.
One single card should never be associated with one customer in a platform.
No, there is no way to check whether a credit card is used for another customer or not. And there shouldn't be. Because a customer has right to use his/her single credit card to maintain more than accounts.
You can easily integrate trial feature of a Subscription in Stripe which is best way to implement Trial feature using Stripe. If any customer's payment failed after trial expired then you will be notified by Stripe.
And Stripe and any other payment gateway is not advise to store any card info due to security issue.

How do I implement a customer wallet with Node.js and Stripe or Braintree

I'm building an uber-like app where there are customers, and drivers:
Customers need to have a wallet to which they can add money using credit cards
Drivers need to be paid when they complete a ride, and my platform receives a commission on each ride fare.
I experimented with Stripe, but they don't seem to support a customer wallet implementation out of the box. Neither does braintree. Am I missing something?
Full disclosure: I work at Braintree. If you have any further questions, feel free to contact
support.
Happy to offer help!
Customers need to have a wallet to which they can add money using
credit cards
Braintree has a Vault in which you can allow customers to store payment methods, but there is no feature which will allow them to "add money". These payment methods are represented as payment method tokens which can be charged at any point.
Drivers need to be paid when they complete a ride, and my platform
receives a commission on each ride fare.
Braintree offers a Marketplace solution that allows you to split a payment to two parties; one being a sub-merchant (in your case, a driver), and a service see being sent to you, as the master merchant. You can read more about Marketplace at this link.
Feel free to reach out to support if you need further clarification!
Stripe doesn't support a 'wallet' style approach, but you can definitely use Connect to build this, though you'd then charge your customers at the time of purchase/use, rather than having them 'prefill' a wallet.
I'd suggest you reach out to Support if you have further questions on this one.

Allow users to accept payments from their users

I am working on a software that is to be used by businesses which make about $0.5mil revenue per year. I would like to incorporate into the software the option for my users to accept card payments from their clients. So far it seems I have the following options:
Manage multiple merchant accounts on behalf of my clients, however this has a few drawbacks. I would, for example, like to charge some small fee to cover the costs (about 0.1%) which I cannot accept if the payment to my user doesn't go through some stage that I can control where I can deduct the fee and send it my way. Also, about 50% of the mentioned revenue is paid for by credit or debit cards so a volume of $250,000 might not be enough to cover the fees set by the account provider.
Send everything through a merchant account that I control and then distribute the funds to the users. This, however, seems like a very small scale solution at best with the average number of payments per user per day being around 15.
The end result should be that the user enters a price in the software, this gets sent to a card reader where the user's client inserts their card and makes the payment. The amount charged includes all the fees associated. The amount paid will then be sent to some merchant account where my fee will be sent to me and the merchant fee will be deducted, the rest will be sent to my user's account. The whole point being that the user doesn't have to bother with setting up merchant account or card reader and simply gets a card reader from us which connects to the software and can immediately accept payments.
I sincerely hope I am missing something but I would appreciate any help with finding a way how to charge clients of my users and take some small fee.
So as it turns out, the best way to do this is using Stripe after all. If anyone is ever concerned, this is how I solved the problem.
Stripe is currently rolling out Managed Accounts of their Stripe Connect which can be used to effectively manage Stripe accounts for my customers. Therefore, once a user registers for my payment program, I create a managed account for them without the user knowing at all. For incoming Stripe payments I can then use the destination property as the id of the account where the money should go and specify an application fee which will be charged to my own account.
From there on the only problem to solve is that Stripe only supports online payments which can be overcome by using for example Payworks, however so far their service has been pretty terrible so this may be a weak point in the system.

Resources