dancerfly / django-brambling

Event website manager, specifically designed for dance weekends or other events with multiple simultaneous tracks of classes.
BSD 3-Clause "New" or "Revised" License
11 stars 3 forks source link

Add PayPal payment support #461

Open melinath opened 9 years ago

melinath commented 9 years ago

As much as I hate to say it, I think we need to have PayPal support. Almost every event who's used us or considered us so far seems to want it. And it looks like they finally have some more modern APIs and a python SDK, so maybe it won't be so terrible?

Though they don't support facilitator fees.

melinath commented 9 years ago

It looks like we could potentially add Braintree support as a payment processor. They support transactions with service fees, and they can accept payment via credit card and PayPal. (It looks like they're now owned by PayPal?)

Seems kinda silly to use braintree for PayPal support, but there it is.

I'm somewhat concerned about the flow being a barrier for event owners. It looks like Braintree requires us to the onboarding i.e. collecting sensitive information from folks. I think people have enough of an issue giving that information to the payment processor directly. This also suggests to me that they may not have a good way of managing the account from their website.

harrislapiroff commented 9 years ago

They also pay all service fees under $50k?

melinath commented 9 years ago

They pay processing fees until you've processed over $50k, I think? Though I'm not sure how that works in conjunction with merchant accounts.

harrislapiroff commented 9 years ago

Oh, I see over the lifetime of the account. Gotcha gotcha.

harrislapiroff commented 9 years ago

"But for your first $50K, you won't be charged a cent (though chargebacks will still incur a $15 fee). Sorry, this does not include merchants who integrated via a Braintree partner."

https://www.braintreepayments.com/faq#free-processing

harrislapiroff commented 9 years ago

It does seem to indicate that our platform bears the responsibility for providing our submerchants with everything:

"You maintain the relationships with the customers of your marketplace, and Braintree will be there to support you every step of the way. That means that you will work directly with your customers to provide refunds and handle any chargebacks or disputed charges. You’ll also be responsible for knowing who your sellers are, and ensuring that they deliver products/services that don’t break any laws. Braintree will back you up with all of the reports and information you need to support your customers."

This might be a direction we want to go someday (it's nice not to have to leave a site at all to manage your money) and I think we could write a sufficient FAQ about security, but it also seems like coding up a money portal would be a lot of work on our end.

melinath commented 9 years ago

That last bit.

melinath commented 9 years ago

It looks like PayPal does support transaction fees, but only through the "Adaptive Payments API", not the REST API.

https://developer.paypal.com/docs/classic/adaptive-payments/integration-guide/APIntro/

harrislapiroff commented 9 years ago

If it seems like this is a marketing issue (i.e., people like PayPal because they've heard of it) rather than a technical limitation (i.e., people already have PayPal accounts that they want to keep using) maybe we can get around development by explicitly calling Stripe a service "like PayPal". That seems a little weird but maybe in marketing materials we can add a parenthetical that says, like, "(a credit card processor like PayPal or Square)".

melinath commented 9 years ago

There are some people who have PayPal accounts who want to keep using them. For example, if they don't have a bank account or are not incorporated as a business, and thus can't use Stripe.

melinath commented 9 years ago

... I think that means they can't use Stripe? I forget. It's been a while.

harrislapiroff commented 9 years ago

You can use PayPal without a bank account? That can't be true. Is it?

Either way, your point stands.