问题描述
我正在更新现有的付款系统(由其他人创建)以符合一些新的Worldpay更改。
我有一个包裹在<form>
元素中的“ 立即付款”按钮。这将显示“立即付款[金额]”。 [amount]
被替换为客户的实际余额金额(例如1.50英镑)
选择该按钮后,会将许多隐藏的输入发送到xml文件,该文件然后将数据发布到worldpay,以显示其预先填写的托管付款网关表格。
从我的表单中发布的值之一是amount
-在“立即付款”按钮上显示给用户的金额。目前这是一个十进制数字(例如£0.28 = 0.28,£1.50 = 1.5等)。这些价值按预期达到了世界薪水水平。
但是,当值是£0.10时,张贴到worldpay的值将显示为£0.01。
Worldpay根据docs不接受十进制值,他们希望xml中有一个exponent
属性;
指数:指定小数点或逗号应放在小数点后的位置 值,从右边开始计数。
我在xml中将其设置为“ 2”。我的xml包含以下行;
// more xml
<amount currencyCode="GBP" exponent="2" value="' . str_replace(".","",$_POST['amount']) . '" />
// more xml
$_POST['amount'] contains the decimal 0.1,but £0.01 is displayed on the worldpay form
我需要更改什么才能将正确的值发送给worldpay?
我有某种感觉是因为str_replace
?我敢肯定这很简单。.
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)