Chained Payment batch - one time daily per retail partner - paypal-adaptive-payments

We are using Paypal Adaptive Payments in our iOS app - since we are brokering deals between consumers and our retail partners.
We need to make a one time payment to each retail partner on a daily basis - instead of numerous small amounts.
Is there any Paypal Adaptive Payments option to batch payments?
Is there any documentation on the cost of moving money via Adaptive Payments to a bank account?

There wouldn't be a way to batch payments out without you being a receiver. If you were a receiver (secondary would be fine), then you could apply to use MassPay and send the money you received out to the retail partners when needed. More information on MassPay can be found here.

Related

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

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

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.

Stripe Multi-Currency Transfers

I have implemented a marketplace with a cart, where users can add multiple services and can process payments in their local currency.
Currently each service is linked with a seller on stripe so when a user pays for the service a part of payment goes to the linked seller.
We have taken the following approach as we can have multiple sellers in one payment
Stripe separate charges and transfer
I am facing issue if the user's currency (USD) is not matching with the Platform Currency (EUR) the payment is processed but when we try to process transfer to the seller after the full payment its failing as Currency are not matching.
User makes a charge in USD (local currency) which is successful and stripe then internally process it to EUR as our base currency is EUR. After this we initiate a transfer in USD to the appropriate seller, which fails due to currency issue.
Possible solutions i have tried:
1) I have converted amount from the USD to EUR before making a transfer which succeeds but the exchange rate is not matching with the stripe exchange rate. As stripe also does an internal currency conversion after a full payment, so total after all payment and transfer doesn't match.
Stripe's API error message when you attempt this is pretty straightforward:
The currency of source_transaction's balance transaction must be the same as the transfer currency.
I'd recommend contacting Stripe's Support Team if you have additional questions about currencies and transfers, as they have full information about what may be possible.
Thanks all i have already contacted stripe support team. One possible solution which i came across is to maintain multiple currency balance which i am now looking to implement.

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