gratipay / gratipay.com

Here lieth a pioneer in open source sustainability. RIP
https://gratipay.news/the-end-cbfba8f50981
MIT License
1.12k stars 308 forks source link

payout via dwolla masspay #726

Closed colindean closed 7 years ago

colindean commented 11 years ago

Dwolla has a newish MassPay system, which allows up to 2,000 payouts at a time (limit can be raised). There's a MassPay Node.js library, and it's likely portable to Python.

I'm not sure about the intermediary steps - I think this API may assume that people are to be paid from a company's Dwolla balance, so the need to move cash from the company bank account to Dwolla exists. That may not be able to be automated, or may have an unacceptable delay.

Also, there's a 25¢ fee to send/receive > $10. This would affect users who are receiving greater than $10 per week and who choose Dwolla as a payout option.

Notify

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

abnor commented 11 years ago

Definitely Sounds worth investigating. Is It pay out only?

colindean commented 11 years ago

Masspay is payout only. Dwolla can obviously accept payments. There's an open issue about it... Not in a place where I can search for it at the moment.

LyndyPalmer notifications@github.com wrote:

Definitely Sounds worth investigating. Is It pay out only?


Reply to this email directly or view it on GitHub: https://github.com/gittip/www.gittip.com/issues/726#issuecomment-14790354

chadwhitacre commented 10 years ago

cf. #65 for Dwolla SinglePay(?)

chadwhitacre commented 9 years ago

Dwolla sales: https://gratipay.freshdesk.com/helpdesk/tickets/1947.

chadwhitacre commented 9 years ago

I'm looking at Dwolla briefly in the context of the Balanced Shutdown. We're not going to pull off Zipmark (#3491), and we have nine users we need to transition to something. PayPal is the obvious choice since we already have it implemented. I think Dwolla is technically very similar to PayPal, so if it's an easy integration then it'd be nice to be able to offer it as an alternative to PayPal, since PayPal has some detractors (e.g., https://github.com/gratipay/gratipay.com/issues/67#issuecomment-113803821).

chadwhitacre commented 9 years ago

I've signed up for a vendors@gratipay.com Dwolla account (I actually did this a while ago, but I can't find my notes).

chadwhitacre commented 9 years ago

... but my phone number is linked to another Dwolla account, so I'm trying to recover that account. If we end up going with Dwolla we probably want two accounts anyway (escrow and operations).

chadwhitacre commented 9 years ago

Called 1-888-289-8744 and had them lookup the old account by phone number (412-925-4220), and send a password reset. I have access to both accounts now.

chadwhitacre commented 9 years ago

I've configured the two accounts to be the same (except for different emails and phone numbers). We have an EIN mismatch with the operations Dwolla account, due to https://github.com/gratipay/gratipay.com/issues/3463; we'll see what they say during the verification process.

chadwhitacre commented 9 years ago

P.S. They changed their pricing model: http://blog.dwolla.com/free-bank-transfers/. No more per-transaction fees. Instead, Gratipay would pay monthly for features such as next-day transfers and higher limits: https://www.dwolla.com/pricing.

chadwhitacre commented 9 years ago

I've refunded the $1.00 that @bpmilne sent us when we opened our account on September 3, 2012. ;-)

chadwhitacre commented 9 years ago

I've kicked off trial deposit verification of our escrow bank account. This is the bank account I linked three years ago. It's at a tiny credit union, and at the time Dwolla choked on verifying it, which is what stalled us out back then.

chadwhitacre commented 9 years ago

MassPay looks very similar to PayPal:

Dwolla MassPay UI

chadwhitacre commented 9 years ago

Operations Dwolla account verified.

https://gratipay.freshdesk.com/helpdesk/tickets/2437

capablemonkey commented 9 years ago

@whit537 let me know if you need any help integrating Dwolla! Happy to lend a hand.

Check out our dwolla-python library. The MassPay example file should be helpful.

When you're ready to get started, create a few accounts in our Sandbox: start here.

You can send money to anyone with an email. All they need is a US bank account to claim their money. The claiming money flow looks like this for users who don't have a Dwolla account yet:

flow gif

chadwhitacre commented 9 years ago

Thanks @capablemonkey! Will ping you if we have questions. :-)

webmaven commented 9 years ago

@capablemonkey, So far as I can tell, Dwolla only freezes funds when are told to by law enforcement.

Can you make any statements regarding Dwolla's policies in this area?

Does Dwolla ever proactively freeze accounts or reverse transactions that 'seem' suspicious to you (for example, because of a sudden surge of financial activity)? This is the thing that seems to still get Kickstarter and other fundraising projects in trouble with PayPal.

mattbk commented 9 years ago

+1 for an alternative payout method from https://gratipay.freshdesk.com/helpdesk/tickets/2405, who does not want to use PayPal.

capablemonkey commented 9 years ago

Hey @webmaven, so sorry for the late reply.

Unfortunately, there are always bad actors who to seek to take advantage of either Dwolla or Dwolla customers. To insure the integrity of Dwolla's network, we may take proactive action as necessary in the event of fraudulent activity, activity that is prohibited by our TOS, or activity that could appear to be money laundering or terrorist financing.

We do our best to insure that these actions are limited in nature and only used when truly necessary.

webmaven commented 9 years ago

@capablemonkey, does Dwolla have policies in place to prevent the sort of overreaction that results in incidents like these?: http://hackaday.com/2015/01/22/when-paypal-and-crowdfunding-dont-mix/ http://www.businessinsider.com/paypal-violin-destroy-return-refund-2012-1

capablemonkey commented 9 years ago

@webmaven,

We do our best to vet customers up front, and make that determination prior to holding customer funds and creating a situation like the one you mentioned. As for the violin incident, Dwolla does not currently, nor will we in the foreseeable future, have any requirement to destroy items as part of our dispute process.

chadwhitacre commented 9 years ago

Coming soon, Dwolla white label partners will be able to seamlessly create customer records and initiate payouts via the API. Your business name will display next to the subsequent deposits on a customer’s bank account, and all required email communication will be sent and branded from you.

But wait, there's more. This is only phase one of Dwolla's white label solution.

http://blog.dwolla.com/white-label-coming/

webmaven commented 9 years ago

@capablemonkey, what's the vetting porocess?

capablemonkey commented 9 years ago

@webmaven, here's an answer from our risk team:

The vetting process depends on the type of business and the risks surrounding it. Some of the main risks we take under consideration are credit risk and regulatory risk; for example, the more complex the regulations surrounding a business type, the more questions and/or documents we will likely need.

webmaven commented 9 years ago

OK, @capablemonkey, can we narrow the scope to the Open Work that Gratipay is trying to support? What vetting would I have to go through as a open source project leader/maintainer, or as the creator of open content of various sorts, etc.?

If a project on Gratipay starts seeing a large influx of payments due to increased popularity (because most successful projects start out very small), will that trigger any problems?

capablemonkey commented 9 years ago

On the payout side, we'd only need one party to be fully verified. It looks like your operations account is already fully vetted, so we're good there! Assuming you'll be paying out from that account, your recipients can claim their pay out by creating a lightweight Dwolla Direct account, which only requires them to create a login and provide their full name, routing and acc. no.

It sounds like you're also considering using Dwolla for pay-ins. If you do accept Dwolla on the pay-in side, would you want the tips to go directly from the tipper to the recipient? Or, would all the tips be pooled to a main 'escrow' account, where they're later disbursed? If the former, then all the users-to-be-tipped will need to create fully verified, vetted Dwolla account.

Increased popularity/volume shouldn't trigger any problems by itself.

webmaven commented 9 years ago

@whit537, I think @capablemonkey's Qs are best answered by you.

chadwhitacre commented 9 years ago

[W]ould you want the tips to go directly from the tipper to the recipient? Or, would all the tips be pooled to a main 'escrow' account, where they're later disbursed?

The latter. We pool all payments into an escrow account (docs), and then make payouts from there.

It looks like your operations account is already fully vetted, so we're good there!

We have two Dwolla accounts. The one we'd use for our escrow account is under dwolla@gratipay.com. Gratipay is funded by voluntary payments via Gratipay (so meta! :), so if we decided to use Dwolla to withdraw our own voluntary payments received, we'd use our second Dwolla account, the operations one under vendors@gratipay.com. Sounds like the operations account is ready to go. Is the escrow account fully vetted, @capablemonkey?

webmaven commented 9 years ago

@capablemonkey: ping

capablemonkey commented 9 years ago

@webmaven @whit537, checking in here. I believe Ryan from our risk team is continuing the conversation with you in private over email. Let me know if that's not the case, or if you've got any other questions!

chadwhitacre commented 9 years ago

Thanks @capablemonkey. :-)

Do you know whom Ryan contacted? I haven't noticed a message come through yet. vendors@gratipay.com is probably the best email to use.

capablemonkey commented 9 years ago

@whit537 whoops! I'll connect you two via email then.

chadwhitacre commented 9 years ago

Awesome, thanks @capablemonkey. :-)

chadwhitacre commented 9 years ago

P.S. Happy to cc: in @webmaven if you were mailing him.

chadwhitacre commented 9 years ago

https://gratipay.freshdesk.com/helpdesk/tickets/2948

chadwhitacre commented 9 years ago

I want to put you in touch with Ryan from our risk team at Dwolla. He had some questions for you regarding your proposed integration. He can also address any questions you may have around our fraud policies.


Good to connect, Ryan. Should we schedule a phone call? Mondays and Thursdays are usually pretty good for me, and I'm in US/Eastern. Let me know how you'd like to proceed. :-)

chadwhitacre commented 9 years ago

https://gratipay.freshdesk.com/helpdesk/tickets/2960

Either a phone call or e-mail works for me, whichever you prefer. Thursday I'm available at 10am PDT; Monday is pretty booked other than 2pm PDT.

As I believe you have worked back and forth with, I wanted to see where you stand in regards to money transmission and your potential model of aggregating funds in your own Dwolla account.


We rewrote our terms of service a few months ago to fit the payment processor exemption to the definition of a money transmitter. As I'm sure you know, the four criteria to fit this exemption are:

  • the entity providing the service must facilitate the purchase of goods or services, or the payment of bills for goods or services (other than money transmission itself);
  • the entity must operate through clearance and settlement systems that admit only BSA-regulated financial institutions;
  • the entity must provide the service pursuant to a formal agreement;
  • and the entity’s agreement must be at a minimum with the seller or creditor that provided the goods or services and receives the funds.

I can walk you through our terms if you like so you can understand our approach in detail. Almost all of our internal discussions are public, so if you want to peak inside you could start with this comment.

As to aggregating funds, here is our current setup. We would be looking to use Dwolla as an additional escrow account within our system.

What risks are you concerned about with our scenario? What controls are you looking for? What questions can I answer?

chadwhitacre commented 9 years ago

Thanks for the response and the links; I appreciate the thoughtful process involved here.

Have these controls in this comment been implemented? https://github.com/gratipay/gratipay.com/issues/3324#issuecomment-93562216

If so, I think we can close out our concerns on this end, thank you.


Have these controls in this comment been implemented?

We have implemented half of the controls Stripe asked for:

1) Yes. This was the crucial issue in our terms rewrite. 2) No. The weekly cap is still at $1,000. 3) No. About half our users are outside the U.S. 4) Yes. We stopped escrowing indefinitely as part of our Gratipay 2.0 upgrade (which also included the terms rewrite).

Here's our original analysis of Stripe's proposal, for the record.

(3) is still going to be hard-to-impossible for us to accept, because so many of our users are outside the U.S. Dwolla is U.S.-only, correct? Therefore, we would of course only expect to be able to offer Dwolla payins and payouts to our U.S. customers. However, our payouts via Dwolla would be aggregated partially from payins originating outside the U.S., and vice versa. PayPal is the only other payout route we offer; we are drafting off them for KYC.

Regarding (2), we don't actually have any payments over $100/wk right now—you can see the current spread towards the bottom of our stats page—so this would be pretty easy for us to accept. I know we'll get pressure eventually to up the limit again. Can we agree to revisit this cap in the future?

chadwhitacre commented 9 years ago

$1,000/week is fine; I'm sure once we see some actual activity flowing through the system we'd be happy to talk about adjusting limits to different levels.

Thanks Chad; Gordon, I don't think I have any further questions, and can let you and Chad get back at it.


Awesome, thanks Ryan! :D

:dancer: :dancers:

chadwhitacre commented 9 years ago

Sweet! Thanks so much for bringing this front to a close, Ryan and Chad!

Chad, could you remind me where we left off?


I think we can move back over to GitHub to see if webmaven is satisfied, and start thinking about implementation.

https://github.com/gratipay/gratipay.com/issues/726

See you there! :-)

chadwhitacre commented 9 years ago

Satisfied, @webmaven? :-)

webmaven commented 9 years ago

Satisfied.

chadwhitacre commented 9 years ago

Awesome. :-)

Next step is for someone to make a PR to add Dwolla as a payout route.

chadwhitacre commented 9 years ago

Conveniently timed in my inbox ... ;-)

"Introducing Dwolla white label (for payouts)"

chadwhitacre commented 9 years ago

@capablemonkey What's the pricing like on white-label?

chadwhitacre commented 9 years ago

Ironically, Dwolla's lack of per-transaction pricing is inconvenient for us, since we've been in the habit of passing that along to our users.

mattbk commented 9 years ago

Any movement on this, or will Dwolla not be happening?

mattbk commented 9 years ago

Also, how does this fit in with gratipay/inside.gratipay.com/issues/119?

mattbk commented 9 years ago

Okay, it looks like Dwolla is okay because it's not a bank?

chadwhitacre commented 9 years ago

Also, how does this fit in with gratipay/inside.gratipay.com#119?

I don't see any roadblocks in that regard. Dwolla does its own KYC, and their risk department has cleared us.