-
Notifications
You must be signed in to change notification settings - Fork 308
implement automated withdrawals / payouts #22
Comments
Currently if you have a positive balance, you get a message on your profile page:
That's my cell phone number. The first payout happened already. I need to update his balance in the db. See #53. |
Balance updated. See #53. |
I think this is the next big piece we need. |
Balanced's pricing is reasonable enough that I think we should just make this the default, to automatically deposit into tippee bank accounts on Friday. That way we're not accruing money in a central bank account, and I like that very much. I guess we'd set a minimum threshold, like $10 or something. It's $0.25 per deposit transaction. Let's markup a few cents--also gotta pay Heroku. We still need the central account in order to keep tips anonymous, and also to keep per-transaction fees low by batching tips. |
Bumping to next week to make room for #95. |
@whit537 how are you planning on doing the withdrawals for this week? |
See also: http://sync.in/gittip-balanced |
Why not PayPal? It's easier to integrate and it's international. |
|
|
For Gittip to do the one-to-many flow of money that makes it valuable, it would likely have to use PayPal's Adaptive Payments API, which is cumbersome when it comes to recurring payments, as is explained by Massimo Arrigoni in the comments of the following article: http://developer.practicalecommerce.com/articles/2589-Subscriptions-and-Payment-Plans-with-PayPal-s-Adaptive-Payments-API Specifically, Gittip would have to set a max total pre-approval amount and a recurring subscription end date when creating the subscription, constraints (which to the best of my research) Instagram doesn't have to worry about because they're using PayPal's Express Checkout API. As for Gittip accepting recurring payments directly and then paying those funds out to recipients; that's what got one of our former partners, Vayable, shut down by PayPal (http://vayable.blogspot.com/2011/03/how-to-get-paypal-to-freeze-your.html), something I'm sure @whit537 is tired of by now ;) (#67) |
@whit537 check out the changes i've made over at my branch and let me know what you think about the I think it will work with satisfying your requirements of balancing out tips. e.g. if I receive some tips and need to pay out some tips (and all these exist in the |
Here's a user story:
The characteristic behavior here is that it takes one week for adjustments in my net flow on Gittip to stabilize into a recurring pattern. If my flow is net positive, then I get a big deposit the first week that I connect my bank account, and then smaller ones after that. If my flow is negative, I get one big charge the first week that I connect my credit card (up to the full amount of my obligations), and then after that I am charged the difference between my receipts and my obligations. The receipts from week N are available to meet obligations in week N+1. If my flow is a wash, then I have one week of correction (depending on which direction I am coming from to this stasis point) before neither being charged nor receiving deposits. |
I haven't run this one let alone tested it, but this is on the right track. Should update the paydays table to take stats about ACH credits (see commented out mark_* calls in record_credit. Also make ach_credit more robust against failure scenarios listed inline.
The Ideally you would then change the app to reflect what each entry in Where I feel the Another issue you're going to run into is how to reconcile the credits/debits charged on Balanced with what's in your system. So, for example, if you get halfway through the payday cycle and the power goes out on your server, how will you reconcile what's been paid with what's in Balanced? The |
Going to focus on getting the bank account info form going. Incorporating that into the payday script is second. Punchlist Done
|
@whit537 - I like the sound of breaking this into two discreet chunks, merchant account creation and payouts respectively. Let's nail merchant account creation like you mention. Which of those tasks do you want me to focus on? I'm a little useless this week, next week is going to be better. |
@mjallday Is the "name on bank account" field optional? Also, I'm having difficulty triggering the escalation workflow. The docs tell me to use EX and 99999 for region and ZIP, but I'm getting a successful response from add_merchant in that case, not a MoreInformationRequiredError. Maybe it's because I'm calling add_merchant on an account that already has the merchant role? |
I tweaked the UI to hopefully be a little less confusing wrt the identity verification step. I also tweaked the error messages and "account connected" messages a bit. Lastly, I refactored the billing module to avoid duplicate code.
Forgot to mention in that last commit that I took balanced_destination_uri out of Gittip's db. Now we're fetching it from Balanced as needed. |
@mjallday Is this expected behavior?
|
Python client bug: balanced/balanced-python#10 |
This will not work. You can only add the merchant role once to an account. Balanced is actually ignoring the merchant param in this case which may not be ideal behavior. |
Reticketed:
Blam, people. Blam. |
Issue #22 done! Mention "connect a bank account"
It'd be nice to get to this before the blogosphere does.
BIG PRE-REQUISITE:
#160The text was updated successfully, but these errors were encountered: