Таким образом, это довольно долго, извините в заранее и надеюсь, что вы будете стараться в любом случае, чтобы помочь мне,Корзина + заказ выдает
Вот он идет:
Я сделал корзину покупок, а также и я собираюсь интегрировать проверку (Klarna), проблема у меня есть, что я пытаюсь послать детали к кассе с помощью JSON:
$sendInfo = base64_encode(json_encode($_SESSION['cart_array']));
echo '<input type="hidden" name="info" id="info" value="'.$sendInfo.'"/>';
And to pick it up i use another one:
$info = (array) json_decode(base64_decode($_POST['info'])); var_dump($info);
что дает:
array (size=2)
0 =>
object(stdClass)[1]
public 'item_id' => string '7' (length=1)
public 'quantity' => int 1
1 =>
object(stdClass)[2]
public 'item_id' => string '3' (length=1)
public 'quantity' => int 1
So to build it further and to get the products out from the database:
$cartOutput ="";
$cartTotal ="";
$cartTOTAL ="";
$shipping ="";
$include ="";
if (!isset($_SESSION["cart_array"]) || count($_SESSION["cart_array"]) < 1) {
$cartOutput = "<h2 align='center'>Din kundvagn är tom</h2>";
} else {
//Starta for each loop
$i = 0;
foreach ($_SESSION["cart_array"] as $each_item) {
$item_id = $each_item['item_id'];
$sql = mysql_query("SELECT * FROM tblproducts WHERE idProducts='$item_id' LIMIT 1");
while($row = mysql_fetch_array($sql)){
$product_name = $row["strName"];
$price = $row["dbPrice"];
$details = $row["strDescription"];
$artnummer = $row["strArtnummer"];
}
и с этим помещением в массив для интеграции:
$cart = array(
array(
'reference' => $artnummer,
'name' => $product_name,
'quantity' => $each_item['quantity'],
'unit_price' => $price,
'discount_rate' => 0,
'tax_rate' => $tax,
),
array(
'type' => 'shipping_fee',
'reference' => $artnummer,
'name' => 'Shipping Fee',
'quantity' => 1,
'unit_price' => $shipping,
'tax_rate' => $tax,
)
);
foreach($cart as $fieldarray){
$body .= $fieldarray['reference'].' - '. $fieldarray['name'].' - '. $fieldarray['quantity'].' - '. $fieldarray['unit_price'];
}
Я получаю массив:
//$cart var_dump
array (size=2)
0 =>
array (size=6)
'reference' => string '40719013' (length=8)
'name' => string 'Socka 2 par/fp WS Cotton' (length=24)
'quantity' => int 1
'unit_price' => int 4800
'discount_rate' => int 0
'tax_rate' => int 2500
1 =>
array (size=6)
'type' => string 'shipping_fee' (length=12)
'reference' => string '40719013' (length=8)
'name' => string 'Shipping Fee' (length=12)
'quantity' => int 1
'unit_price' => int 14500
'tax_rate' => int 2500
// $body var_dump
string '40719013 - Socka 2 par/fp WS Cotton - 1 - 480040719013 - Shipping Fee - 1 - 14500' (length=81)
Пока он работает хорошо, никаких проблем не видел, а если добавить количество в тележка, а затем идет к кассе, она работает также, но, как некоторые могли заметить из первого var_dump, у меня было два предмета в корзине (2 разных items_id)! Таким образом, он отображает только 1 товар из корзины (последний добавлен), поэтому сумма является неправильной, и все предметы не указаны в кассе.
Итак, кто-нибудь знает, что я делаю неправильно?
Спасибо заранее.
Я попробовал ваш отзыв , но я, похоже, не заставляю его работать, у меня заканчивается пустая строка, и когда я пытаюсь добавить их все под один массив, я получаю только зарегистрированную часть доставки, я начинаю задаваться вопросом, что-то не так с этот тестовый модуль, который дал мне klarna, похоже, что по какой-то причине я не могу показать несколько продуктов. Или это я? –