Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php SagePay XML篮_Php_Opayo - Fatal编程技术网

Php SagePay XML篮

Php SagePay XML篮,php,opayo,Php,Opayo,这是一个快速的人谁知道sagepay或可以发现什么我不能 我有两个篮子被送到sagepay: 这项工作: <basket> <agentId>vendor1</agentId> <item> <description>Selling premier package</description> <quantity>1</quantity> <

这是一个快速的人谁知道sagepay或可以发现什么我不能

我有两个篮子被送到sagepay:

这项工作:

<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, '.', ''));
}