This repository has been archived by the owner on Jun 2, 2020. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 65
/
update_customer_details.php
65 lines (57 loc) · 2.16 KB
/
update_customer_details.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<?php
/**
* Copyright 2019 Klarna AB
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* Update the billing address for a capture. Shipping address can not be updated.
*/
require_once dirname(__DIR__) . '/../../../vendor/autoload.php';
/**
* Follow the link to get your credentials: https://github.com/klarna/kco_rest_php/#api-credentials
*
* Make sure that your credentials belong to the right endpoint. If you have credentials for the US Playground,
* such credentials will not work for the EU Playground and you will get 401 Unauthorized exception.
*/
$merchantId = getenv('USERNAME') ?: 'K123456_abcd12345';
$sharedSecret = getenv('PASSWORD') ?: 'sharedSecret';
$orderId = getenv('ORDER_ID') ?: '12345';
$captureId = getenv('CAPTURE_ID') ?: '34567';
/*
EU_BASE_URL = 'https://api.klarna.com'
EU_TEST_BASE_URL = 'https://api.playground.klarna.com'
NA_BASE_URL = 'https://api-na.klarna.com'
NA_TEST_BASE_URL = 'https://api-na.playground.klarna.com'
OC_BASE_URL = 'https://api-oc.klarna.com'
OC_TEST_BASE_URL = 'https://api-oc.playground.klarna.com'
*/
$apiEndpoint = Klarna\Rest\Transport\ConnectorInterface::EU_TEST_BASE_URL;
$connector = Klarna\Rest\Transport\GuzzleConnector::create(
$merchantId,
$sharedSecret,
$apiEndpoint
);
try {
$order = new Klarna\Rest\OrderManagement\Order($connector, $orderId);
$capture = $order->fetchCapture($captureId);
$capture->updateCustomerDetails([
"billing_address" => [
"email" => "user@example.com",
"phone" => "57-3895734"
]
]);
echo 'Billing address of the customer has been updated';
} catch (Exception $e) {
echo 'Caught exception: ' . $e->getMessage() . "\n";
}