Php SagePay XML篮
这是一个快速的人谁知道sagepay或可以发现什么我不能 我有两个篮子被送到sagepay: 这项工作:Php SagePay XML篮,php,opayo,Php,Opayo,这是一个快速的人谁知道sagepay或可以发现什么我不能 我有两个篮子被送到sagepay: 这项工作: <basket> <agentId>vendor1</agentId> <item> <description>Selling premier package</description> <quantity>1</quantity> <
<basket>
<agentId>vendor1</agentId>
<item>
<description>Selling premier package</description>
<quantity>1</quantity>
<unitNetAmount>595</unitNetAmount>
<unitTaxAmount>119.00</unitTaxAmount>
<unitGrossAmount>714.00</unitGrossAmount>
<totalGrossAmount>714.00</totalGrossAmount>
</item>
</basket>
卖方1
销售卓越理财套餐
1.
595
119
714
714
返回的结果是“状态详细信息:3021:篮格式无效”。错误
卖方1
销售卓越理财套餐
1.
894
178.80
1,072.80
1,072.80
有人知道为什么吗
谢谢我将尝试详述内森的问题/评论/回答,因为我刚刚遇到了同样的问题 在尝试实现SagePay的服务器集成方法时,我认为最好从他们的PHP演示源代码开始,正如我怀疑Nathan所做的那样。其中包含许多类,用于构建一个篮子并通过其API联系SagePay。不幸的是,BastketXML的导出方式似乎存在根本性缺陷,导致了Nathan上面所描述的情况 在/lib/classes/item.php中,您可以在第615行找到:
if (is_float($value))
{
$node = $basket->createElement($name, number_format($value, 2));
}
这依赖于本地环境变量来正确设置数字格式,而SagePay要求的是:
if (is_float($value))
{
$node = $basket->createElement($name, number_format($value, 2, '.', ''));
}
修正了,很抱歉是逗号,我必须用以下方式对其进行编号格式:
number\u格式($number,2,','')代码>。谢谢
if (is_float($value))
{
$node = $basket->createElement($name, number_format($value, 2, '.', ''));
}