mnording / klarna-sms
Klarna SMS解决方案集成SDK
dev-master
2017-02-03 13:59 UTC
Requires
- php: >=5.3.0
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发送数据。