mnording/klarna-sms

Klarna SMS解决方案集成SDK

dev-master 2017-02-03 13:59 UTC

This package is not auto-updated.

Last update: 2024-09-28 19:32:04 UTC


README

集成并利用Klarna离线API的库

完整的API规范可在apiary -> http://docs.klarnaoffline.apiary.io/ 获取

安装库

安装的最佳选项是通过composer

 composer require mnording/klarna-sms

设置购物车和配置

首先,您需要创建一个包含当前文化、货币、国家、共享密钥和商店ID的配置。

$config = new MerchantConfig("Merchant_ID","Shared_SECRET","SEK","SE","sv-se",ServerMode::TEST);

为了获取您的商户ID和集成共享密钥,您需要联系Klarna。

然后,您创建一个购物车,并填充其中的商品

$cart = new Cart();
$item = new \Klarna\Entities\CartRow("test","testref",2000,2,25);
$cart->AddProduct($item);

您还可以为购物车定义折扣。

$discount = new \Klarna\Entities\CartRow("dicount","code222",-1000,1,25);
$cart->AddDiscount($discount);

注意:价格以分的形式输入。这意味着一个价值10瑞典克朗的产品,您必须输入1000。

创建订单

首先,您发送购物车、配置以及可选的推送URL

使用轮询方法 通过仅启动订单,您将收到一个由Klarna托管的status URL,当客户完成购买后,该URL将传达订单详情。

$order = new KlarnaSMSOrder($config,$cart,"PHONE","Terminal","Reference");

使用推送URL方法 如果您定义了一个状态URL,那么当客户完成购买时,订单数据将被推送到该URL。

$t = new KlarnaSMSOrder($config,$cart,"PHONE","Terminal","Reference","https://myownsite.com/createorderwithstatusurl.php");

创建订单 创建调用将创建实际的KCO会话并向消费者发送短信

$order->Create();

如果您没有定义自己的状态URL,Klarna将为您创建一个,您将使用它来轮询交易结果

取消进行中的订单

$order->Cancel();

注意:在取消之前,订单必须已经创建。

读取客户详情

使用轮询方法:如果您希望Klarna为您创建一个状态URL,您可以使用pollUrl函数获取订单数据。

$order->PollStatus(30);

此URL每60秒超时一次,您需要重新触发它以检查客户是否已完成购买

$orderdetails = $t->GetOrderInformation();

使用状态URL方法 如果您定义了自己的状态URL,Klarna将向该URL发送数据。