如何计算固定数量的PayPal费用(2.9%+ .30)?

Web*_*bMW 8 javascript php math function

我知道,这听起来很简单.我真的很难过.

以下是两个制作简单计算器的网站:

http://thefeecalculator.com

http://ppcalc.com

我需要在PHP应用程序中计算这些PayPal的费用.

这就是我得到的,说我们想要支付30美元"甚至"的会员费.这是我用来计算我们应该使用PayPal的计算来弥补它的功能(也在上面的两个网站上都有描述):2.9%的交易+ 0.30美元.

function memfees()
{
    $calc = round((30 * .029) + 30 + .30,2);
    return $calc;
}
Run Code Online (Sandbox Code Playgroud)

在这里测试:http://matt.mw/junk/php/memfees.php 正如你所看到的,它说31.17.其他两个网站都说应该是31.20.如果我尝试130.00美元,我计算到134.07美元,他们两个计算到134.19美元.

我究竟做错了什么?

为什么我使用Round函数?百分比导致一些小数超过百分位数,如果小数点后有2位数以上,则PayPal会生成错误.我认为人们通常会花钱,(例如$ 31.6342将是31.63美元),但如果是这样的话,我的功能是什么?如果有大笔付款,则关闭的金额会进一步减少.这让我相信百分比部分出了问题.

你能提供一些帮助吗?

感谢您的时间.

Jor*_*dan 15

你的功能看起来很奇怪.为了打破它,PayPal收取固定费率$ .30,并增加2.9%的交易百分比费用.

这个公式是添加$ .30然后除以百分比差异(100% - 2.9%),它将为您提供PayPal实际减少之前的金额.

function memfees($amount)
{
    $amount += .30;
    return $amount / (1 - .029);
}
Run Code Online (Sandbox Code Playgroud)

你可以根据自己的意愿进行圆形和漂浮.

  • @Jordan在他们的网站上我看到"2.9%+ 0.3美元费用"并没有告诉我%2.9适用于0.3美元...... (2认同)

Gar*_*eth 7

因为你正在考虑错误的方法.

你不收30美元,你收取31.20美元.贝宝需要的交易费(2.9%)关闭的那个,然后从结果取$ 0.30:1

  $31.20
*  0.971 (1 - 2.9%)
  ------
  $30.2952
- $00.30
  ------
  $29.9952
Run Code Online (Sandbox Code Playgroud)

所以你必须扭转这个过程,即在你的总数中增加0.3美元并除以0.971.


Sam*_*Sam 6

这是一个很好的数学解释,它是如何工作的.我们有这个号码,x,我们要收取信用卡.我们不知道这个数字是多少,但我们知道当我们减去30美分并减去x的2.9%时,我们得到y,这是我们带回家的钱数:

y = x - x * .029 - .3
Run Code Online (Sandbox Code Playgroud)

我们知道,因为我们知道我们想带回家多少钱.说,我们想带回家100美元,然后y = 100.但是什么是x?

y = x - x * .029 - .3
y + .3 = x - x * .029
         = x(1 - .029)
(y + .3) / (1 - .029) = x
x = (y + .3) / .971
Run Code Online (Sandbox Code Playgroud)

注意:因为x - x * .029可以写成x * 1 - x * .029所有需要做的只是使用分配属性而我们想出来x(1 - .029)

所以我们想出了这个公式:

x = (y + .3) / .971
Run Code Online (Sandbox Code Playgroud)

这定义了这个臭名昭着的数字,x.它也回答了我们的问题; 我应该向卡收取多少金额以支付交易费用,但不能达到我们想带回家的金额?好吧,我们需要做的就是填写带回家的金额,即:

x = (100 + .3) / .971
x = ~103.30
Run Code Online (Sandbox Code Playgroud)

我希望这有助于澄清.