0

我正在尝试设置一个 Moneris 托管的支付页面,人们可以在其中使用信用卡在线支付。我遇到了 Moneris 的一些问题,联系了他们的支持并告诉我,我遇到的错误是由于我的交易“总金额”没有任何小数位,因此破坏了支付系统。

这是我设置值的地方(如果他们选择此单选按钮,则值为 1.00)

<label class="radio" for="full_registration-4">
    <input type="radio" name="full_registration" id="full_registration-4" value="1.00">
      Test payment - $1
</label>

然后,此表单将其信息传递到不同的验证页面,这就是我检索变量的方式:

$CHARGE_TOTAL = (is_numeric($_POST['full_registration']) ? (float)$_POST['full_registration'] : 395);

然后,我有一个隐藏的自动验证表单,它传递 Moneris 需要的所有信息(即;商店 ID、描述、项目等)

<INPUT id="total_amount" TYPE="HIDDEN" NAME="charge_total" VALUE="<?php echo $CHARGE_TOTAL; ?>">

初始形式的变量是 1.00,但在 Moneris 中并没有以这种方式显示,而且显然应该如此。我已经联系了他们的支持,他们向我保证这与我的代码有关。

我也尝试将变量作为双精度变量,结果相同。我不知道如何或为什么改变价值

4

1 回答 1

1

你应该阅读这篇文章PHP:显示数字到小数点后 2 位

并将您的输入更改为

<input
    id="total_amount" type="hidden" name="charge_total" 
    value="<?php echo number_format((float)$CHARGE_TOTAL, 2, '.', ''); ?>"
/>
于 2013-06-18T16:54:09.740 回答