luxplus / kco_rest
Official Klarna REST PHP SDK
Requires
- php: >=5.5.0
- guzzlehttp/guzzle: ~6.0
Requires (Dev)
- apigen/apigen: 4.1.*
- klarna/apigen-theme: 2.1.0
- php-coveralls/php-coveralls: ^2.1
- phploc/phploc: 2.0.*
- phpmd/phpmd: 2.1.*
- phpunit/phpunit: >=4.0.0, <6.0
- sebastian/phpcpd: 2.0.*
- squizlabs/php_codesniffer: 1.5.*
This package is auto-updated.
Last update: 2024-11-06 16:52:31 UTC
README
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.
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.
Shop now. Pay later.
Shop at your favorite stores today and experience the freedom to pay later with Klarna.
Getting started
SDK covers all of Klarna API: https://developers.klarna.com/api/
Prerequisites
- PHP 5.5 or above
- API credentials
- Composer (optional)
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:
- 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:
composer require klarna/kco_rest
Highly recommended to use version tag when installing SDK.
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
Include the SDK into your PHP file using the Composer autoloader:
<?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:
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:
<?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.
Read more about How to use HTTP Transport
Documentation and Examples
Klarna API documentation: https://developers.klarna.com/api/
SDK References: https://klarna.github.io/kco_rest_php/
Example files can be found in the docs/ directory.
Additional documentation can be found at https://developers.klarna.com.
Logging and Debugging
PHP SDK logs information to STDOUT/STDERR. To enable debug mode, set DEBUG_SDK environment variable:
$ DEBUG_SDK=true php <your_program.php>
or
$ export DEBUG_SDK=1 $ php <your_program.php>
Another way to enable Debugging Mode is define
the DEBUG_SDK inside your script:
<?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
More information about the DEBUG_SDK flag can be found here: klarna#32
The output will look like:
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
Use an official Klarna Contact us form (https://klarna.com) if you have a question about the integration.
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.
To contribute, the following criteria needs to be fulfilled:
- 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