-
Notifications
You must be signed in to change notification settings - Fork 63
Description
I'm planning a migration to the new Order,Account, and Settlement constructs and I'm considering the following payout/refund scenario. This is based on the documentation located here and here.
Seller
- Receiving payouts via a
BankAccount.
Marketplace
- Supports payouts via
BankAccountorCreditCard(push-to-card) - Pays out to sellers in batch every other Friday
- Does not take a fee from purchases
-
It's our regularly-scheduled bi-weekly payday so we loop through the seller's
Orders and create aCreditfor each one into the seller'sAccount. -
Create a
Settlementfor theAccountwhich succeeds. Everything is awesome until a buyer demands a refund. -
Reverse the
Creditto the Seller'sAccountassociated with the buyer'sOrder. This results in an immediate successful restoration of the fullamount_escrowedin theOrderand a negativebalancein the seller'sAccount. -
Refund the buyer's
Debit. -
On our next payday, we attempt to create a
Settlementto restore the seller's negativeAccountbalance(we're assuming they haven't received any newOrders to restore their balance). ThisSettlementfails. This could be due to a number of reasons:- The seller has closed their bank account
- Their bank account has insufficient funds
- The seller has disappeared
In any case I am now left with a seller's
Accountwith a negative balance. I am not able to restore that balance to 0 because I may not be able to obtain a newBankAccountfrom my seller. Additionally, the seller may have switched to a new payout method (such as push-to-card) and no longer has an activeBankAccount. In any case, I now need a new source of funds to cover the seller's negativeAccountbalance.
This scenario is alluded to in @mjallday's comment here: #707 (comment) but, based on my back-and-forth with support, this flow does not seem to have been sufficiently resolved.
The solution that support has suggested is to create an new Debit against the Order with my marketplace BankAccount to fill the Order amount_escrowed and then create a Credit to bring the seller's Account balance back to 0. Remember, my marketplace does not take a transaction fee. This is a hack. This is not a scalable solution.
There was mention in #707 of https://github.com/balanced/balanced-api-private/issues/13 helping in this regard but I of course cannot see what that issue contains. 😉
I propose an API which allows the marketplace to settle any seller negative Account balances.