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"
);