Update cart
The Update Cart request will replace the current cart. If you update the Cart
while the Checkout is visible, use the
Checkout Client API's to invoke
suspend
before your operation and resume
afterward.
Please note that this operation cannot be performed if the purchase is completed.
While the checkout is suspended, the cart can be updated by calling the Checkout API from your backend as demonstrated in the following code:
Update cart request​
- Request
- Response
- Error
PUT /checkouts/1eec44b5-66d3-4058-a31f-3444229fb727/cart HTTP/1.1
Host: api.uat.walleydev.com // (Please note! Different hostname in production)
Authorization: Bearer bXlVc2VybmFtZTpmN2E1ODA4MGQzZTk0M2VmNWYyMTZlMDE...
Content-Type: application/json
{
"items": [
{
"id": "10001",
"description": "A product description",
"unitPrice": 95.0,
"unitWeight": 0.3,
"quantity": 1,
"vat": 25.0,
"requiresElectronicId": true,
"sku": "a unique alphanumeric code for article identification"
},
{
"id": "10002",
"description": "Gift Card",
"type": "GiftCard",
"unitPrice": -100.0,
"quantity": 1,
"vat": 0.0
}
],
"shippingProperties": {
"height": 10,
"width": 20,
"isBulky": true
}
}
{
"id": "f5f4e86d-95b1-4c1a-8ad0-1d5907236bd7",
"data": null,
"error": null
}
/*
Example error. More errors available below.
*/
{
"id": "862336bb-86a5-418b-b6ff-5547398d5c6b",
"data": null,
"error": {
"code": 423,
"message": "The resource requested is currently locked for modification. Try again.",
"errors": [
{
"reason": "Resource_Locked",
"message": "The resource requested is currently locked for modification. Try again."
}
]
}
}
Request Properties​
Request headers
Header | Required | Explanation |
---|---|---|
Authorization | Yes | Instructions on how to generate the authorization header value can be found here. |
Request properties
Property | Required | Explanation |
---|---|---|
id | Yes | The article id or equivalent. Max 50 characters. Values are trimmed from leading and trailing white-spaces. Shown on the invoice or receipt. |
description | Yes | Descriptions longer than 50 characters will be truncated. Values are trimmed from leading and trailing white-spaces. Shown on the invoice or receipt. |
type | No | An optional type of the article. Currently the only valid value is GiftCard . If specified, unitPrice must be negative, quantity must be 1, vat must be 0.0. Furthermore unitWeight , requiresElectronicId , minimumAge and maximumAge cannot be specified. Read more about Gift Cards |
unitPrice | Yes | The unit price of the article including VAT. Both positive and negative values allowed. Max 2 decimals, i.e. 100.00 |
unitWeight | No | The weight of the article. Only positive values are allowed (including zero) |
quantity | Yes | The quantity of the article. Allowed values are 1 to 99999999 . |
vat | Yes | The VAT of the article in percent. Allowed values are 0 to 100 . Max 2 decimals, i.e. 25.00 |
requiresElectronicId | No | To minimize the risk of a fraudulent purchase on credit products, it is possible to force the customer to strongly identify themselves at the point of purchase using electronic id such as Mobilt BankID. An example would be selling tickets that are delivered electronically. This feature does not validate the age of the customer and is supported for credit payments for B2C and B2B on the Swedish, Norwegian and Finnish markets. |
minimumAge | No | The minimum age allowed to purchase this product. Allowed values are 1 to 120 . When this property is set, we require the user to enter a civic number and verify it with electronic id before making the payment. If multiple items has different minimumAge, we use the oldest age. This feature is supported for B2C. |
maximumAge | No | The maximum age allowed to purchase this product. Allowed values are 1 to 120 . When this property is set, we require the user to enter a civic number and verify it with electronic id before making the payment. If multiple items has different maximumAge, we use the youngest age. This feature is supported for B2C. |
sku | No | A stock Keeping Unit is a unique alphanumeric code that is used to identify product types and variations. Maximum allowed characters are 1024. |
The shippingProperties
is optional and only relevant if a Delivery Module is used.
It is compromised of key-value pairs that will set shipping properties. Each key must be a string but the value can be string, boolean or number. Setting an individual property value to null will remove that property. Setting shippingProperties
to null or providing an empty body will remove any existing shipping properties.
Important error responses​
Error code | Error Reason | Cause |
---|---|---|
400 | Duplicate_Articles | Can't add article/fees since multiple articles/fees with same id and description already exist. |
400 | Validation_Error | The request contains properties with invalid values. Details are provided in the response body. |
423 | Resource_Locked | Another modifying request is currently being executed for the Checkout session. Retry by sending the request again. |
900 | Purchase_Commitment_Found | The customer has clicked the Complete Purchase button and the Checkout is therefore locked for modifications. |
900 | Purchase_Completed | Purchase is already complete. |