Is there a way to move money between customers directly in Stripe? - stripe-payments

Is it possible to move money between Stripe customers through ACH without having to use the merchant, myself, as an intermediary?

To facilitate payments through Stripe between users of product, you'd need to have them create Connect accounts. You can read about the process of making payouts in the stripe docs. It is currently impossible to transfer money between Customers.
It may be worth going through Stripe's list of prohibited businesses as "Money Transmitters" generally aren't allowed. Where here that is defined as transferring money without the sale of a good or service. If you want to know whether you'd run afoul of this, I recommend writing into Stripe's support.

Related

How to handle SaaS reseller that collects payment from customers?

I develop and host a SaaS business that bills most customers directly, and that is a normal basic use-case with Stripe.
However, I also have a reseller that handles the billing relationship for those mutual customers. Since I host the SaaS service, all signups and subscription changes run through my software, and I'd like to use Stripe to track those customers, and create an invoice for each one of what the reseller owes us for them. Then I'd like to be able to charge the reseller's credit card once to pay for all those customers' invoices in one transaction. Is that possible?
Stripe Connect seems to serve the general need for handling these types of multi-party transactions. But I don't want to require the reseller to use Stripe to bill their own customers.
It seems maybe it could work if I created a single Stripe customer for the reseller, and then create a subscription for each of the reseller's customers under the reseller's customer resource. But it's not the canonical way of doing it, and I think I'd prefer a Stripe customer resource for each actual customer.
Although it might seem I could just collect payment from the reseller, and then mark all the customer invoices as paid offline but that seems it would double book revenue. I definitely don't want that!
I'm hoping someone might have a suggestion about the best way to accomplish this.
Thanks.
These types of questions are probably better suited for the Stripe support team, as they’ll be able to advise you on your business model and if there are any edge cases or unknowns you should be aware of: https://support.stripe.com/contact

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 to pay out to a bank account using Stripe?

I have a site where I am using Stripe API to collect payments. I would like to send some amount of the money I collect to a user's bank account. How would I go about doing this?
You can't simply send funds to any bank account from your own Stripe account.
You can use Stripe Connect to accept payments on behalf of others (and optionally take a fee for yourself), then send funds to their bank account. But there a lot of things to consider when using Connect and it's quite a lot more complex than simply using Stripe for yourself.
If it sounds like Connect is a good fit for you, I greatly recommend you spend some time to read the docs as well as this article.

Stripe vs Balanced

I'm assisting in development of a backend for a painting service that works with many contractors across the US. We've been using Stripe, but the business has been paying the contractors using their bank's ACH service add-on which takes 3-5 days and has to be done manually.
Balanced seems like it's Stripe + next-day ACH payouts with a great API, automating everything. Is this an accurate description of the service? I'm confused why you'd ever use Stripe over Balanced in that case. This is assuming it's also a merchant account + payment gateway like Stripe if I'm reading correctly.
Still wrapping my head around how to best make this work. Thanks everyone.
Stripe:
Charge cards
ACH payouts
Recurring billing
Webhooks
OAuth merchant signup
2.9% + 30¢ per charge
Holds funds for 7 days before you can pay out
Charges in USD or CAD
Balanced:
Authorize and charge cards
ACH payouts
ACH debits
Fully API driven merchant signup
Escrow account
Recurring billing
Webhooks
2.9% + 30¢ per charge, 25¢ per ACH credit (volume pricing calculator)
Funds are available immediately for payouts (vs Stripe's 7 day rolling reserve)
Charges in USD
In a nutshell the fundamental difference is that Stripe focuses on bringing money in to your account, Balanced focuses on bringing money in, holding it until an order to fulfilled, and paying out to your merchants.
You can use Stripe to collect money and Balanced to pay out easily enough, the biggest problem you'll run into is that there will be a liquidity problem as you have to transfer funds from your Stripe to Balanced before you can pay out or create a float of 7 days.
Stripe is also great if you have sub-agents or affiliates that you want to have run the sale, but where you take a percentage of the total charge as well. We recently implemented this for a cause oriented site that supports the collection of donations for smaller and more personal causes. It is one of the more interesting features of the Stripe API. Sub accounts can be created on the fly and activated via a simple email validation creating a one-stop shop for configuring online affiliate programs.
Both are good for specific things, for example balanced will let you collect money from groups in a single pot (in their escrow), and then pay it out. Stripe is good for automated billing.
Stripe is a established company that has a polished interface and support. Balanced is a fly-by-night.
I have one site with Balanced and one with Stripe Connect, and this is the defining difference.
Balanced changed their API and completely broke all transactions.
They didn't even send out an email. Never happened with Stripe.
Balanced once "held up our site for review". Our marketplace went down with no notice or email. (And no explanation when I emailed them, just a response it was being held).
balanced.js can take 10-15 seconds to load, causing the page to hang (we implemented lazy loading just for balanced, but the page is not always ready when needed).
IRC support: Balanced has ~40 inactive users and ~10 users online ATM [in the middle of the U.S. night there are no user, and the inactive users have no AI personality]. Stripe has at least 100 active users, and I seem to be able to get an answer whenever I need to.
etc.
Balanced has one killer feature - your users can sign up and start selling immediately, they don't need to validate themselves to sell, only to receive money.
They are more likely to follow through if it's easy to get into the system. But the risks are real, and should not be ignored.
Also, if it matters, the fact that Stripe can accept payments in multiple currencies can be a killer feature as well.

Can Stripe support Offline Payments?

I am using Stripe for online payments but also users can pay offline (cash or check). I want to centralize all my invoices/charges in one place (Stripe).
I am not sure if I can add offline payments (cash or check) to stripe or not. I guess I can if I created customers, invoices, charges with livemode=false for my live keys.
Is this feasible and will Stripe accept having some (customers, invoices and charges) with livemode=false and others with livemode=true?
If yes, should I fill fake credit card info or should I set it as nil?
Stripe does not allow you to create a Subscription on a Customer if you don't have a credit card setup. More accurately, it does not allow you to create a subscription if a customer does not have a way to pay for the next invoice. So for offline payments, you could update the 'account_balance' on the customer to have a negative value equal to the amount the customer wired (credits). Stripe will then allow you to create a subscription for the customer because it knows that the customer has enough account balance to pay for the next invoice. This post has more details.
We don't currently support offline payments, so you'll want to look at a separate accounting system for those payments.
That said, it's totally understandable that you'd want to keep this data in one place. You might be interested in using our webhooks system to offer live updates to your accounting system without directly touching the code that creates the charge in Stripe.

Resources