1 <?php
2 /**
3 * Copyright 2015 Klarna AB
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 *
17 * File containing the Klarna_Checkout_Connector facade class
18 *
19 * PHP version 5.3
20 *
21 * @category Payment
22 * @package Klarna_Checkout
23 * @author Klarna <support@klarna.com>
24 * @copyright 2015 Klarna AB
25 * @license http://www.apache.org/licenses/LICENSE-2.0 Apache license v2.0
26 * @link http://developers.klarna.com/
27 */
28
29 /**
30 * Connector factory
31 *
32 * @category Payment
33 * @package Klarna_Checkout
34 * @author Rickard D. <rickard.dybeck@klarna.com>
35 * @author Christer G. <christer.gustavsson@klarna.com>
36 * @author David K. <david.keijser@klarna.com>
37 * @copyright 2015 Klarna AB
38 * @license http://www.apache.org/licenses/LICENSE-2.0 Apache license v2.0
39 * @link http://developers.klarna.com/
40 */
41 class Klarna_Checkout_Connector
42 {
43 /**
44 * Domain of the testdrive
45 */
46 const BASE_TEST_URL = "https://checkout.testdrive.klarna.com";
47
48 /**
49 * Domain of the live system
50 */
51 const BASE_URL = "https://checkout.klarna.com";
52
53 /**
54 * Create a new Checkout Connector
55 *
56 * @param string $secret string used to sign requests
57 * @param string $domain the domain used for requests
58 *
59 * @return Klarna_Checkout_ConnectorInterface
60 */
61 public static function create($secret, $domain = self::BASE_URL)
62 {
63 return new Klarna_Checkout_BasicConnector(
64 Klarna_Checkout_HTTP_Transport::create(),
65 new Klarna_Checkout_Digest,
66 $secret,
67 $domain
68 );
69 }
70 }
71