Skip to content
This repository has been archived by the owner on Feb 8, 2018. It is now read-only.

migrate to Braintree #3287

Closed
chadwhitacre opened this issue Mar 26, 2015 · 65 comments · Fixed by #3470
Closed

migrate to Braintree #3287

chadwhitacre opened this issue Mar 26, 2015 · 65 comments · Fixed by #3470

Comments

@chadwhitacre
Copy link
Contributor

https://www.braintreepayments.com/features/marketplace

@chadwhitacre chadwhitacre added this to the Balanced shutdown milestone Mar 26, 2015
@Changaco
Copy link
Contributor

A PayPal Company

That worries me, and their Acceptable Use Policy isn't reassuring.

@chrisdev
Copy link
Contributor

Yep Paypal is a major pita but is this not way we facilitate most of our payouts to non US users?

@chadwhitacre
Copy link
Contributor Author

@Changaco Their AUP looks pretty normal to me. What don't you like about it?

@chadwhitacre
Copy link
Contributor Author

Merchant accounts need to be specially approved for use with Marketplace. For more information, please contact support@braintreepayments.com.

https://developers.braintreepayments.com/ios+python/guides/marketplace/overview

@chadwhitacre
Copy link
Contributor Author

I've created a Braintree account.

@chadwhitacre
Copy link
Contributor Author

screen shot 2015-04-09 at 6 52 21 pm

@chadwhitacre
Copy link
Contributor Author

On the application they asked about our business and I said we provide "Sustainable crowd-funding for open-source projects" or something like that.

@chadwhitacre
Copy link
Contributor Author

Thank you for applying with Braintree! I’ll be working with you to wrap up our application process. I only need a few more things from you before we move onto the next step.

  1. Did you mean to apply for marketplace? Unfortunately our marketplace feature doesn’t support recurring billing.
  2. You listed your subscription billing as 75% monthly, 20% quarterly, 4% semi-annual and 1% annual. However your website states payments will be made weekly. Can you explain which recurring billing schedule your customers will be charged on?
  3. How do you vet the individuals/businesses which will be accepting funds?
  4. Can you please provide 3 current months of credit card processing statements to support your volume? These need to show a summary of processing volume, charge-backs and refunds.
  5. The billing model charges customer’s credit cards once funds available are depleted. Are cardholders alerted in any way when their credit card is about to be charged?

Please let me know if you have any additional questions!

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

@chadwhitacre
Copy link
Contributor Author

My response:

Thanks! I've copied your email (without your name) to this public ticket, where I am tracking this issue with my community:

#3287

1. Did you mean to apply for marketplace? Unfortunately our marketplace feature doesn’t support recurring billing.

I'm pretty sure I did, yes. When you say marketplaces don't support recurring billing, do you mean that you don't persist cards such that we could charge them again at a later time? Or that we can't use Braintree's recurring billing code? We have our own recurring billing code, so as long as we can vault cards persistently I think we're okay. Happy to be reclassified however makes sense.

2. You listed your subscription billing as 75% monthly, 20% quarterly, 4% semi-annual and 1% annual. However your website states payments will be made weekly. Can you explain which recurring billing schedule your customers will be charged on?

The application form had no "weekly" option and required me to enter values that sum to 100. We have a minimum charge of $10 (to minimize processing fees), but many users give less than $10. So if I give $1 then I'm charged approximately every nine weeks, with money held in escrow and doled out weekly. The spread I gave you is an estimate based on how much people tend to give relative to that $10 minimum. Do you need me to firm up those numbers?

3. How do you vet the individuals/businesses which will be accepting funds?

We require users to sign up using a social media account (GitHub, Twitter, etc.), and that's currently the primary basis of our KYC efforts (you can see our internal documentation here). We depended on our previous processor, Balanced Payments, to collect further PII from people who attach a bank account. You can read our tickets for improving KYC by collecting PII directly and also collecting document scans.

4. Can you please provide 3 current months of credit card processing statements to support your volume? These need to show a summary of processing volume, charge-backs and refunds.

I don't believe Balanced gives us statements per se. I can run a report for you, or just give you the info. I'll work on this. Meanwhile, you can find charge volume data on our stats page. I do know that our chargeback rate since launching three years ago is 0.016%.

5. The billing model charges customer’s credit cards once funds available are depleted. Are cardholders alerted in any way when their credit card is about to be charged?

We've been weak on this, to be honest. We have code that will likely go out next week to notify users when we charge their cards, but that's after the fact notification. We have a ticket about notifying users before the fact when we haven't charged them recently.

@chrisdev
Copy link
Contributor

hey @whit537 @agfor from BrainTree came to the Garitpay booth to say that you can ping him if you have any questions

@chadwhitacre
Copy link
Contributor Author

Nice, thanks! :-)

@chadwhitacre
Copy link
Contributor Author

Them:

Hope you had a great weekend! We just have a few more follow ups for you before we move forward. Also regarding the recurring billing, as long as you have your own recurring billing code, our merchant support team can help you set it up with marketplace functionality.

  • As the marketplace owner, do you understand that you are responsible for refunds and chargebacks?
  • If you pay out your sub-merchants at a delay, will you use the Braintree escrow feature? Using our Escrow features you are able to collect funds from a cardholder, and keep them securely until your sub-merchant has provided the product.

Please let me know if you have any additional questions!

Me:

Yes, thanks! Hope you did, too. :-)

Sounds good re: recurring billing.

Yes, I understand that we're responsible for refunds and chargebacks.

Yes, we'll use Braintree's escrow feature.

What are next steps? Do you still need three months statements or was the info I provided sufficient?

@chadwhitacre
Copy link
Contributor Author

I signed an agreement with Braintree. Waiting to hear if I can share the whole PDF. Two things to note in particular:

@chadwhitacre
Copy link
Contributor Author

@rohitpaulk
Copy link
Contributor

@whit537 - Braintree's escrow feature might not be what you think it is, have a look at this:

Although Braintree does not escrow funds, this is an option on transaction create where Braintree Marketplace will hold the Sub Merchant funds with our banking partner until you make an additional call to release them.

(from https://developers.braintreepayments.com/ios+ruby/guides/marketplace/overview)

Looks like we'll have to define the 'destination' (sub-merchant, as Braintree calls it) before we put a transaction into escrow. That isn't going to be possible for many of the $10 charges we make.

@chadwhitacre
Copy link
Contributor Author

@rohitpaulk I don't think that's a problem as long as we require a working payout route in order to receive funds, correct?

@chadwhitacre
Copy link
Contributor Author

IRC

@rohitpaulk
Copy link
Contributor

I don't think that's a problem as long as we require a working payout route in order to receive funds, correct?

It still is. I tip you $0.25 per week. When I'm charged $10, you don't know the 'destination' for the complete $10 yet. What if I decide next week that I want to start tipping Changaco instead?

And there's one more problem (which braintree probably has a workaround for) - splitting transactions (a charge) between multiple receivers.

@rohitpaulk
Copy link
Contributor

When you want to release a transaction from Escrow, you don't get to change the transaction's parameters (afaict). You just give braintree the transaction ID, and say "I want this released from escrow". So when we put a transaction into escrow, we've got to tell them beforehand - "This is who this will (eventually) be paid out to".

@chadwhitacre
Copy link
Contributor Author

What if I decide next week that I want to start tipping Changaco instead?

Hmm ... good point.

@chadwhitacre
Copy link
Contributor Author

Thanks for all of the information! I have good news, you’ve been approved and we are excited to have you as part of Braintree!! If you have any further questions our support team will take great care of you!

Huzzah! 💃 🎉

@chadwhitacre
Copy link
Contributor Author

Unfortunately, we cannot make changes to those user names.

@chadwhitacre
Copy link
Contributor Author

I went with gratipay_, because of PEP 8:

In addition, the following special forms using leading or trailing underscores are recognized (these can generally be combined with any case convention):

[...]

  • single_trailing_underscore_: used by convention to avoid conflicts with Python keyword

And Braintree's styling:

screen shot 2015-04-29 at 1 03 08 pm

screen shot 2015-04-29 at 1 02 54 pm

screen shot 2015-04-29 at 1 02 40 pm

@chadwhitacre
Copy link
Contributor Author

Reticketing from #3377:

How hard is it to change the bank account where our funds settle?

@chadwhitacre
Copy link
Contributor Author

To: support@braintreepayments

With our Braintree merchant account, what's the process for changing the bank account where funds ultimately settle? We're trying to plan our migration, and if this is a fairly straightforward thing to change, it will give us some additional flexibility.

I poked around the dashboard but didn't see this info. I have a recollection that I provided routing information during setup, but now I'm questioning myself. Did I give you routing info? If not, how do funds settle?

@chadwhitacre
Copy link
Contributor Author

Thank you for reaching out!
You have come to the right place for bank account changes. To do so, we will need [...]

Details on https://gratipay.freshdesk.com/helpdesk/tickets/2057.

@rohitpaulk
Copy link
Contributor

I had a quick look through the docs, looks like we won't have to deviate much from our current setup :)

I'm going to start working on this tomorrow, @whit537 - Time to initiate a convo with Balanced regarding migrating card info?

@chadwhitacre
Copy link
Contributor Author

I'm going to start working on this tomorrow, @whit537

Awesome! 💃

!m @rohitpaulk

Time to initiate a convo with Balanced regarding migrating card info?

I've started a thread with them, mostly focused on the bank side right now (#3379). The card transfer should be pretty straightforward, but we should really get double-vaulting in place first: #3387.

@chadwhitacre
Copy link
Contributor Author

Per #3377 (comment) let's try to change Braintree to settle at New Alliance before next Thursday.

Okay, []. We are going to move forward with this change request. Unfortunately I don't have [the needed info]. I will work on that on Monday. Our ideal will be to have this completed by next Wednesday or Thursday at the latest, so I wanted to give you a heads up now in case that's simply too tight a time frame from your end.

Hopefully you will hear from me Monday! :-)

@chadwhitacre
Copy link
Contributor Author

Documentation sent.

We've pushed back our target by a week, so a little pressure off. We'd like this done by Wednesday, May 20. We'll need to change accounts one more time before our migration is fully complete, so I'll follow up with you again in a few weeks.

Thanks for your help! :-)

@chadwhitacre
Copy link
Contributor Author

Migrating cards is #3391.

@chadwhitacre
Copy link
Contributor Author

Thank you for sending us that documentation. This email is to confirm that your bank account has been updated. This change typically goes into effect within one to two business days.

Yessssssss. One question that came up in the meeting with Citizens yesterday (#3366) is how quickly funds settle from Braintree into our bank account. With Balanced, funds were instantly available to us to pay out again, but I believe Balanced was floating that for us, and with a more DIY infrastructure we'll need to account for that float ourselves.

@chadwhitacre
Copy link
Contributor Author

Thanks, []! I'll get in touch again in a couple weeks when we're ready to do the final settlement account change ...

@chadwhitacre
Copy link
Contributor Author

Curve ball: #3463.

@agfor
Copy link

agfor commented May 29, 2015

Congrats on getting through the underwriting process & going live! I've been following along (even if I've not commented here); feel free to ping me if you've got any other Braintree related issues.

@chadwhitacre
Copy link
Contributor Author

Thanks @agfor! We're quite excited about it, especially now that #3463 is resolved as well! 💃

@agfor
Copy link

agfor commented May 30, 2015

Yep, I was glad to see that got worked out today.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
6 participants