【问题标题】:PHP Klarna checkout item price issuePHP Klarna 结帐项目价格问题
【发布时间】:2015-06-29 20:39:20
【问题描述】:

我不是很擅长编程,但现在我有一个学习项目来测试一个简单的php购物车

这个>>http://www.sanwebe.com/2013/06/creating-simple-shopping-cart-with-php/comment-page-1

并用它实现 klarna 结帐。

这个klarna >> https://developers.klarna.com/en/se+php/kco-v2/checkout-api

我让它“工作”,但不是将价格传递给 klarna。

价格值的格式好像有问题?

示例:我在篮子里放了价值 200.50 美元的东西。

由于 klarna 使用不带点和逗号的值,我使用以下代码清除 $total 值。

$extotal = number_format("$total","2","","");

如果我像这样打印出值

echo '<strong>Total : '.$extotal.'</strong>  ';

它打印这个值 20050,原价是 200.50

但是当我在下面的 klarnas php 代码中简单地使用这个值 $extotal 时它不起作用。

$cart = array(
array(
    'reference' => '123456789',
    'name' => 'Klarna t-shirt',
    'quantity' => 1,
    'unit_price' => $extotal,
    'tax_rate' => 2500
),
array(
    'type' => 'shipping_fee',
    'reference' => 'SHIPPING',
    'name' => 'Shipping Fee',
    'quantity' => 1,
    'unit_price' => 1000,
    'tax_rate' => 2500
));

我在 klarna checkout DIV 中收到以下消息

string(9) "API 错误" array(3) { ["http_status_code"]=> int(400) ["http_status_message"]=> string(11) "Bad Request" ["internal_message"] => string(32) "格式错误:cart.item.unit_price" }

有人可以指导一下吗=)

【问题讨论】:

  • 如果输出为 json,则不要使用 number_format。产生一个字符串,而 klarna 很可能需要一个 int。 "unit_price":20050"unit_price":"20050" 完全不同。

标签: php shopping-cart


【解决方案1】:

感谢 Marc B,我得到了它的工作!

$int = (int)$extotal;

【讨论】:

    猜你喜欢
    • 2019-10-04
    • 1970-01-01
    • 2021-05-18
    • 2013-04-07
    • 2020-06-26
    • 2012-08-10
    • 1970-01-01
    • 2021-06-17
    • 1970-01-01
    相关资源
    最近更新 更多