0

在从 authorize.net 的 SIM 方法切换到处理信用卡交易的 AIM 方法时,LINE-ITEM 发送到处理器的方式是不同的。在(SIM)版本中,我可以通过循环遍历结果并使用适当的分隔符回显隐藏的 INPUT 字段及其值来发送订单项,如下所示:

$qw = mysqli_query($con,"SELECT * FROM XCart WHERE Buyer_ID='xyz' LIMIT 30");
$ctr=0;
while($list = mysqli_fetch_array($qw))
{
    ++$ctr; 
echo "<input type='hidden' name=\"x_line_item\" value=\"".$list['Item_Number']."<|>".substr($list['Item_Title'], 0, 30)."<|><|>".$list['Item_Qty']."<|>".$list['Item_Price']."<|>Y\">\n";
}

但是现在,在 AIM 方法下,将行项目分配给一个 ARRAY,我还处于 PHP 的初级阶段,但是当我尝试在类似于上述方法的数组内放置一个 WHILE LOOP 时,它给了我错误:

$line_items = array( WHILE LOOP INSIDE HERE);

AIM 方法的输出应该如下所示,但我不确定如何以在下面给出此输出的方式循环结果。我遗漏了一些东西和/或做错了,但我们将不胜感激。

$line_items = array(
    "item1<|>golf balls<|><|>2<|>18.95<|>Y",
    "item2<|>golf bag<|>Wilson golf carry bag, red<|>1<|>39.99<|>Y",
    "item3<|>book<|>Golf for Dummies<|>1<|>21.99<|>Y"
);
4

1 回答 1

0
$qw = mysqli_query($con,"SELECT * FROM XCart WHERE Buyer_ID='xyz' LIMIT 30");
$ctr=0;
$line_items = array();
while($list = mysqli_fetch_array($qw))
{
$line_items[] = $list['Item_Number']."<|>".substr($list['Item_Title']."<|>".$list['Item_Qty']."<|>".$list['Item_Price']."<|>";
}

像这样的东西?

小心点,老实说,如果你对 PHP 一无所知,你不应该搞乱支付系统.....要了解更多关于 php 数组的信息 @ http://php.net/array

于 2013-08-27T20:25:47.877 回答