2011-05-02 75 views
4

正在使用pay pal快速结帐购物车网站。根据网站管理员费用百分比,我的最终金额将分为网站管理员费用和卖家费用。 在我expresscheckout.php文件 如果让我选择站点管理员的比例为10,则总量的 10%是给网站管理员和剩余卖家paypal express checkout -ordertotal invalid error

$ siteowner_amount =(($ paymentAmount)* $ admin_percentage)/ 100 ;

$ seller_amount = $ paymentAmount- $ siteowner_amount;

$ str =“& PAYMENTREQUEST_0_AMT =”。$ seller_amount;

$ str = $ str。 “& PAYMENTREQUEST_1_AMT =”。$ siteowner_amount;

并且还将总金额传递给我的paypalfunction.php文件 在我的paypalfunction.php(网站管理员费用和卖方费用总和)中获得正确的总金额。并在PayPal沙箱中取得成功。 但我的问题是,当使用网站管理员百分比低于10,并且即使总金额正确时,出现错误

“10401 order inavlid由于参数无效而被拒绝交易。错误消息的细节。“

但它的工作正常管理百分比10和更大。只有少于10的问题。 我检查了我在paypalfunction.php中获得的总和,这是正确的。

请帮忙。 在此先感谢

回答

4

你正在用金钱做浮点数学。这是一个糟糕的主意,因为您通常不允许以小数美分发布交易。谨防你无法控制的四舍五入...

要进行调试,请查看$seller_amount$siteowner_amount。你可能有一个过长的小数在那里需要仔细四舍五入。

+0

非常感谢..现在它的作品:) – vishal 2011-05-03 03:23:57