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

Setup Paypal micropayments account #870

Closed
jbuck opened this issue Nov 19, 2015 · 12 comments
Closed

Setup Paypal micropayments account #870

jbuck opened this issue Nov 19, 2015 · 12 comments
Milestone

Comments

@jbuck
Copy link
Member

jbuck commented Nov 19, 2015

I volunteered as tribute to figure out the process of creating a new Paypal account with our micropayments fee structure.

@jbuck jbuck self-assigned this Nov 19, 2015
@jbuck jbuck added this to the November 20 milestone Nov 19, 2015
@jbuck
Copy link
Member Author

jbuck commented Nov 19, 2015

Current status: We've created a Paypal account and we're waiting for Ann @ Paypal to link it to our existing account. Once that's done we'll be able to generate credentials that our platform can use.

We need to implement logic in our platform to use either account depending on the total transaction cost.

@jbuck jbuck modified the milestones: November 20, November 27 Nov 21, 2015
@jbuck jbuck added the P1 label Nov 27, 2015
@valianttry
Copy link

I'd vote for prioritizing this in advance of our big traffic uptick expected from snippet % increase to 50% happening on Dec 1
For reference we lose about $500 - $800/day currently at 25% snippet traffic, which will double as of Dec 1

@jbuck jbuck modified the milestones: November 27, December 4 Nov 30, 2015
@jbuck jbuck changed the title jbuck to figure the mysteries of the Paypal micropayments account Setup Paypal micropayments account Nov 30, 2015
@jbuck
Copy link
Member Author

jbuck commented Nov 30, 2015

Current status: I cannot create API credentials for the micro payments account because I've triggered an unpassable security check, and there's no way to add my personal phone number to the list of allowed phone numbers. Paypal recommended that I try again tomorrow and if that fails then delete the account and recreate it.

@jbuck jbuck modified the milestones: December 4, December 11, December 18 Dec 9, 2015
@jbuck
Copy link
Member Author

jbuck commented Dec 16, 2015

Okay, I've created a new Paypal account and successfully created API credentials. Ann will need to do a few approval steps on her side, but we're making progress!

@adamlofting
Copy link
Contributor

Given where we are in the campaign, is this switch now adding more risk that savings?

@jbuck jbuck modified the milestones: December 18, December 23 Dec 21, 2015
@jbuck
Copy link
Member Author

jbuck commented Dec 21, 2015

I've done some more work on this today. I found a table of fees for various rates, now the only problem is figuring out a heuristic for which account to use based on the country of the donor, which I don't actually know so I need to guess...

@jbuck jbuck removed the P1 label Dec 23, 2015
@jbuck jbuck modified the milestones: January 15, December 23, Bluesky Dec 23, 2015
@jbuck
Copy link
Member Author

jbuck commented Dec 23, 2015

I am not going to be able to get this done before the holidays begin, but I wanted to document what I learned.

First of all, we currently have two rates with our existing (I'll call it "macro") account:

  • Domestic Payments Rate: Nonprofit 2.2% + $0.30 USD
    • This only applies when the sender's account is registered in the US and they send a payment in USD
  • International Payments Rate: Nonprofit < $100,000 monthly 3.2% + currency-specific fixed fee
    • This applies for every other kind of payment including USD payments send from anywhere else in the world, and all non-USD currencies
    • Fixed fees:
      • AUD: 0.30
      • BRL: 0.60
      • CAD: 0.30
      • CZK: 10.00
      • DKK: 2.60
      • EUR: 0.35
      • HKD: 2.35
      • HUF: 90
      • ILS: 1.20
      • JPY: 40
      • MXN: 4.00
      • NZD: 0.45
      • NOK: 2.80
      • PHP: 15.00
      • PLN: 1.35
      • RUB: 10
      • SGD: 0.50
      • SEK: 3.25
      • CHF: 0.55
      • TWD: 10.00
      • THB: 11.00
      • GBP: 0.20
      • USD: 0.30

With our new micro payments account we again have two rates:

  • Domestic Micro Payments Rate: 5% + $0.05 USD
    • This only applies when the sender's account is registered in the US and they send a payment in USD
  • International Micro Payments Rate: 6% + currency-specific fixed fee
    • This applies for every other kind of payment including USD payments send from anywhere else in the world, and all non-USD currencies
    • Fixed fees:
      • AUD: 0.05
      • BRL: 0.10
      • CAD: 0.05
      • CZK: 1.67
      • DKK: 0.43
      • EUR: 0.05
      • HKD: 0.39
      • HUF: 15
      • ILS: 0.20
      • JPY: 7
      • MXN: 0.55
      • NZD: 0.08
      • NOK: 0.47
      • PHP: 2.50
      • PLN: 0.23
      • RUB: 2
      • SGD: 0.08
      • SEK: 0.54
      • CHF: 0.09
      • TWD: 2.00
      • THB: 1.80
      • GBP: 0.05
      • USD: 0.05

After calculating the fee amount you'll need to round it to the nearest significant digit. In the case of currencies that have cents, that means you'll round it to the nearest cent. In the case of currencies without cents (like JPY) you'll round it to the nearest yen amount.

Sample fee calculations (only for current macro account):

amount currency country_code fee_amount
$10.00 USD US -$0.52
$10.00 USD AU -$0.62
$25.00 USD GB -$1.10
$15.00 USD CA -$0.78
$5.00 USD US -$0.41
$10.00 AUD AU -$0.72
$20.00 USD US -$0.74
$15.00 EUR DE -$0.83
$3.00 USD US -$0.37
$15.00 USD IE -$0.78
$20.00 USD US -$0.74
$20.00 USD AU -$0.94
$20.00 USD AU -$0.94
$5.00 CAD CA -$0.46
$5.00 USD US -$0.41
$5.00 EUR DE -$0.51
$3.00 USD AU -$0.40
$3.00 EUR DE -$0.45
$800.00 JPY JP -$66.00
$5,000.00 JPY JP -$200.00

Holy background information batman! I'll do a new comment for the implementation.

@jbuck
Copy link
Member Author

jbuck commented Dec 23, 2015

Okay, so, implementation. For non-USD currencies this is actually pretty easy: calculate the fee amount for the International Macro Payments and International Micro Payments and route the payment through whichever one is lower. For USD this is not as easy because we don't know whether we'll be paying the domestic rate or the international rate until we've actually completed the payment. I don't yet have a good idea for how to handle this problem...

@jbuck jbuck removed their assignment Dec 23, 2015
@jbuck
Copy link
Member Author

jbuck commented Sep 15, 2016

I ran through the math with Steph & Scott and we came to the conclusion that you can simply use the International payment rates table to calculate whether the macro account or the micro account has a better fee or not.

@ScottDowne
Copy link
Contributor

cc @cadecairos as I may be needing your help on this.

@cadecairos
Copy link
Contributor

Is the goal here to set up donate with two PP accounts and choose one based on the details of the giver?

@ScottDowne
Copy link
Contributor

Moving this to MozillaFoundation/Advocacy#367

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

No branches or pull requests

5 participants