-
-
Save Software-Engineering24/dae17143f29fe010c54c86b8b52483a7 to your computer and use it in GitHub Desktop.
[Calculate Stripe Fee] Calculate stripe fee to ask customer to cover stripe fee #javascript #stripe
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* Calculate stripe fee from amount | |
* so you can charge stripe fee to customers | |
* lafif <[email protected]> | |
*/ | |
var fees = { | |
USD: { Percent: 2.9, Fixed: 0.30 }, | |
GBP: { Percent: 2.4, Fixed: 0.20 }, | |
EUR: { Percent: 2.4, Fixed: 0.24 }, | |
CAD: { Percent: 2.9, Fixed: 0.30 }, | |
AUD: { Percent: 2.9, Fixed: 0.30 }, | |
NOK: { Percent: 2.9, Fixed: 2 }, | |
DKK: { Percent: 2.9, Fixed: 1.8 }, | |
SEK: { Percent: 2.9, Fixed: 1.8 }, | |
JPY: { Percent: 3.6, Fixed: 0 }, | |
MXN: { Percent: 3.6, Fixed: 3 } | |
}; | |
function calcFee(amount, currency) { | |
var _fee = fees[currency]; | |
var amount = parseFloat(amount); | |
var total = (amount + parseFloat(_fee.Fixed)) / (1 - parseFloat(_fee.Percent) / 100); | |
var fee = total - amount; | |
return { | |
amount: amount, | |
fee: fee.toFixed(2), | |
total: total.toFixed(2) | |
}; | |
} | |
var charge_data = calcFee(100, 'USD'); | |
alert('You should ask: ' + charge_data.total + ' to customer, to cover ' + charge_data.fee + ' fee from ' + charge_data.amount ); | |
console.log(charge_data); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
it works for me well.