我在购物车网站上使用pay pal express checkout。我的最终金额是根据网站管理费用百分比分为网站管理费和卖家费。 在我的expresscheckout.php文件中 如果我选择网站管理员百分比为10 总金额的10%将提供给网站管理员并留给卖家
$ 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中获得了正确的总金额(siteadmin费用和卖家费用的总和)。并在paypal沙盒中取得成功。 但我的问题是,当使用网站管理员百分比小于10时,即使总金额是正确的,我也会收到错误
“10401订单总数inavlid由于参数无效而被拒绝。有关详细信息,请参阅其他错误消息。”
但它适用于管理员百分比10或更高。只发行不到10个。 我检查了我在paypalfunction.php中得到的总和,这是正确的。
请帮忙。 提前谢谢
答案 0 :(得分:4)
你正在用钱做浮点数学。这是一个坏主意,因为通常不允许您以小数分数发布交易。小心你无法控制的四舍五入...
要进行调试,请查看$seller_amount
和$siteowner_amount
。你可能有一个超长的小数,需要小心四舍五入。