How-tos
Search…
⌃K
Links

Sending back the authorization token

How to submit a payment request to Klarna

Problem

Your customer has authorized the purchase on Klarna through the client SDK. You need to create the order on Klarna with the authorization token returned by the client to proceed with the payment flow.

Solution

To create an order on Klarna you have to update the Klarna payment object first. To do that, send a PATCH request to the /api/klarna_payments/:id endpoint, filling the auth_token attribute returned by the client SDK.

Example

Request
Response
The following request updates the Klarna payment source identified by the "ertHJlpPTR" ID with the auth_token received from the client:
curl -g -X PATCH \
'http://yourdomain.commercelayer.io/api/klarna_payments/ertHJlpPTR' \
-H 'Accept: application/vnd.api+json' \
-H 'Authorization: Bearer your-access-token' \
-H 'Content-Type: application/vnd.api+json' \
-d '{
"data": {
"type": "klarna_payments",
"id": "ertHJlpPTR",
"attributes": {
"auth_token": "0b1d9815-165e-42e2-8867-35bc03789e00"
}
}
}'
On success, the API responds with a 200 OK status code, returning the updated Klarna payment object:
{
"data": {
"id": "ertHJlpPTR",
"type": "klarna_payments",
"links": {
"self": "https://yourdomain.commercelayer.io/api/klarna_payments/ertHJlpPTR"
},
"attributes": {
"auth_token": "0b1d9815-165e-42e2-8867-35bc03789e00",
"payment_request_data": {
"client_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.ewogICJzZXNzaW9uX2lkIiA6ICIw",
"payment_method_categories": [
{...}
],
"session_id": "0b1d9815-165e-42e2-8867-35bc03789e00"
},
"payment_response": {},
"created_at": "2018-01-01T12:00:00.000Z",
"updated_at": "2018-01-01T12:00:00.000Z",
"reference": null,
"reference_origin": null,
"metadata": {}
},
"relationships": {
"order": {
"links": {...}
}
},
"meta": {
"mode": "test"
}
}
}

More to read

See our documentation if you need more information on how to update a Klarna payment. See our Checkout guide for more details on how to place an order.