2017 © Pedro Peláez
 

library kco_rest

Klarna Checkout PHP SDK

image

klarna/kco_rest

Klarna Checkout PHP SDK

  • Monday, January 22, 2018
  • by keis
  • Repository
  • 12 Watchers
  • 6 Stars
  • 48,600 Installations
  • PHP
  • 6 Dependents
  • 0 Suggesters
  • 21 Forks
  • 1 Open issues
  • 12 Versions
  • 19 % Grown

The README.md

[DEPRECATED] Official Klarna REST PHP SDK

Packagist Version ![Build Status][travis-image] Coverage Status, (*1)

SDK Deprecation Warning and Sunsetting

Dear community, the SDK you are currently looking at is now deprecated. These are details related to sunsetting: * We intend to archive this repo on June 1 2020 (01/06/20) * Until November 1 2020 (01/11/20) high severity security issues found within the latest published version will be fixed. All support will cease after this date. * No new builds will follow effective April 20 (20/04/2020) apart from the fixes mentioned above., (*2)

Workarounds

We are making Klarna REST API definition files available in Swagger / OAS v2 format, under the Klarna API Reference section on the Klarna Developer Portal. These will be regularly updated as the APIs evolve. You can use tools like https://swagger.io/tools/swagger-codegen/ to generate your own SDKs, client libraries, etc., (*3)

Shop now. Pay later.

Shop at your favorite stores today and experience the freedom to pay later with Klarna., (*4)

Getting started

SDK covers all of Klarna API: https://developers.klarna.com/api/, (*5)

Prerequisites

API Credentials

Before getting a production account you can get a playground one. Register here to be able to test your SDK integration before go live:, (*6)

  • https://playground.eu.portal.klarna.com/developer-sign-up - for EU countries
  • https://playground.us.portal.klarna.com/developer-sign-up - for the US

PHP SDK Installation and Usage

Install via Composer

To install the PHP SDK from the Central Composer repository use composer:, (*7)

composer require klarna/kco_rest

Highly recommended to use version tag when installing SDK., (*8)

composer require klarna/kco_rest:1.2.3.4

Detailed information about the PHP SDK package and a list of available versions can be found here: https://packagist.org/packages/klarna/kco_rest, (*9)

Include the SDK into your PHP file using the Composer autoloader:, (*10)

<?php

require('vendor/autoload.php');

Manual installation

To install the PHP SDK manually you need to clone the repo to any folder on your machine:, (*11)

git clone git@github.com:klarna/kco_rest_php.git /path/to/some/folder/kco_rest_php

Include the SDK into your PHP file using the SDK autoloader:, (*12)

<?php

require('/path/to/some/folder/kco_rest_php/src/autoload.php');

⚠️Warning: Using manually installed SDK requires you to use the CURLTransport instance to send HTTP requests., (*13)

Read more about How to use HTTP Transport, (*14)

Documentation and Examples

Klarna API documentation: https://developers.klarna.com/api/
SDK References: https://klarna.github.io/kco_rest_php/, (*15)

Example files can be found in the docs/ directory.
Additional documentation can be found at https://developers.klarna.com., (*16)

Logging and Debugging

PHP SDK logs information to STDOUT/STDERR. To enable debug mode, set DEBUG_SDK environment variable:, (*17)

$ DEBUG_SDK=true php <your_program.php>

or, (*18)

$ export DEBUG_SDK=1
$ php <your_program.php>

Another way to enable Debugging Mode is define the DEBUG_SDK inside your script:, (*19)

<?php
// some code here
define('DEBUG_SDK', true);
// some code here

Be aware, the SDK just checks if the DEBUG_SDK is defined! It means you will see the debug information by using define('DEBUG_SDK', false); or export DEBUG_SDK=no, (*20)

More information about the DEBUG_SDK flag can be found here: https://github.com/klarna/kco_rest_php/issues/32, (*21)

The output will look like:, (*22)

DEBUG MODE: Request
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    GET : https://api.playground.klarna.com/customer-token/v1/tokens/TOKEN
Headers : {"User-Agent":["Library\/Klarna.kco_rest_php_3.1.0 (Guzzle\/6.3.3; curl\/7.54.0) OS\/Darwin_17.5.0 Language\/PHP_5.6.37"]}
   Body :

DEBUG MODE: Response
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Headers : {"Content-Type":["application\/json"],"Date":["Wed, 15 Aug 2018 15:55:53 GMT"],"Klarna-Correlation-Id":["ABC-123"],"Server":["openresty"],"Content-Length":["62"],"Connection":["keep-alive"]}
   Body : {
     "status" : "ACTIVE",
     "payment_method_type" : "INVOICE"
   }

Questions and feedback

If you have any questions concerning this product or the implementation, please create an issue: https://github.com/klarna/kco_rest_php/issues/new/choose, (*23)

Use an official Klarna Contact us form (https://klarna.com) if you have a question about the integration., (*24)

How to contribute

At Klarna, we strive toward achieving the highest possible quality for our products. Therefore, we require you to follow these guidelines if you wish to contribute., (*25)

To contribute, the following criteria needs to be fulfilled:, (*26)

  • Description regarding what has been changed and why
  • Pull requests should implement a boxed change
  • All code and documentation must follow the PSR-2 standard
  • New features and bug fixes must have accompanying unit tests:
    • Positive tests
    • Negative tests
    • Boundary tests (if possible)
    • No less than 90% decision coverage
  • All tests should pass

License

Klarna Checkout REST PHP SDK is licensed under Apache License, Version 2.0, (*27)

The Versions