Logotype
For developers
By Qliro
Select search filters:
0
0
/
/
Checkout basics
Technical Solution
Qliro Checkout can be presented either as an iFrame hosted by the merchant or through a "payment link" redirection hosted by Qliro. The checkout process is managed via a REST API, which allows you to initiate and manage orders, and customize the checkout. Additionally, you can follow a customer journey simply through the available backend/frontend notifications and listeners.
 
APIs
The API is divided into three parts covering different functions for the checkout integration and order management – two parts for completing a checkout integration and one for post-purchase order management.
  • Merchant API – for integrating the checkout
  • Frontend API – for subscribing to customer interaction with the checkout iframe and for synchronizing data between your system and the backend at Qliro
  • Admin API – for order management after completed checkout. The responses are sent asynchronous.
Notifications
The notifications are used when pushing order status or notifying that something has changed and need an action from you, the Merchant. All notifications have a set timeframe for a response. Go here for notifications.
 
Listeners
The listeners enable you to subscribe to customer actions in the checkout, e.g. when the customer is changing the e-mail address or selecting a new shipping alternative. This will give you information how the customer is interacting in the checkout. Go here for more information on what listeners are available.
Supported languages
The Qliro Checkout supports the following languages:
Language Language Code
Swedish sv-se
English en-us
Finnish fi-fi
Danish da-dk
French fr-fr
German de-de
Norwegian nb-no
Dutch nl-nl
Unified Payments
Simplify your payment processes with our comprehensive payment system! With us you get one single contract, one reconciliation file and one payout through one integration - for all local and global payment methods you want to offer your customers. Our solution optimizes your operations, saves time, and reduces complexity, allowing you to focus on growing your business. With our Unified Payments FX setup you can also yourself configure the payout currency that best fits your unique financial setup.

Our sales representatives can tell you more and help you get started with Qliro Unified Payments today!
Order items
The order items are a vital part of the solution. When sending in the order items there are certain constraints that should be observed.
If these are ignored or not implemented correctly the result will be an INVALID_INPUT error.
  • PricePerIncVat>= PricePerItemExVat
  • Order items with type Product/Fee/Shipping
    • PricePerItemIncVat >= 0
    • PricePerItemExVat >= 0
  • Order item with type Discount
    • PricePerItemIncVat <= 0
    • PricePerItemExVat <= 0
Error codes
When a call fails when communicating with our APIs we respond with HTTP status code together with an error object to describe the issue. Included in this object is an ErrorCode, ErrorMessage - describing the issue and an ErrorReference - to be able to identify the request. 
 
Example
1
2
3
4
5
{
  "ErrorCode": "ORDER_NOT_FOUND",
  "ErrorMessage": "Order not found",
  "ErrorReference": "d7da92f4-1ad9-48c3-9cd3-26559c98e64c"
}
 
List of AdminAPI error codes and how to interpret them
Method ErrorCode Remark
UpdateItems ITEM_SHIPPED_WITH_DIFFERENT_PRICEEXVAT_DESCRIPTION You can not change the price of an item if it has been shipped as a partial shippment
UpdateItems NO_ITEMS_LEFT_IN_RESERVATION Free orders only, can not update items if all have been shipped
UpdateItems PAYMENT_ONHOLD You need to schedule a re-try
MarkItemsAsShipped INVALID_REQUEST_TOTAL_AMOUNT You can not capture more than the order amount
ReturnItems INVALID_REQUEST_TOTAL_AMOUNT You can not return items of 0 value or less
MarkItemsAsShipped/ReturnItems INVALID_ITEM Item in request does exist on order
MarkItemsAsShipped/ReturnItems EXCEEDING_QUANTITY You can not capture or return a greater qty than exists on the order
AddItemsToInvoice NO_SHIPPED_ITEMS_AVAILABLE You can not add items to invlice before shippment
Any ORDER_NOT_FOUND  
Any MERCHANT_MISMATCH  
Any NO_PAYMENT_TRANSACTION  
Any OPERATION_NOT_SUPPORTED Check DetailedErrorMessage field can be due to many reasons
Any OPERATION_NOT_SUPPORTED If ErrorMessage is: "Evaluation, Operation is not supported for this order Another transaction is already in process. Please retry shortly" you need to schedule a re-try
Any CURRENCY_MISMATCH  
Any INVALID_REQUEST Check DetailedErrorMessage field can be due to many reasons
Any NO_ITEMS_TO_CANCEL  
Any NO_QUALIFIED_ITEMS_TO_MANAGE  
Any NO_SUCCESSFUL_PAYMENT  
Any ORDER_HAS_BEEN_CANCELLED  
Any INVALID_REVERSAL_AMOUNT Reversal can not excede original payment
Any INVALID_REQUEST_TOTAL_AMOUNT Reversal can not excede original payment
Any UPDATE_MERCHANT_REFERENCE_NOT_SUPPORTED  
Any INVALID_PAYMENT_STATUS You can only manage success transactions
Any INVALID_PAYMENT_TYPE  
Payment transactions ID
Every response from the AdminAPI will contain a payment transaction ID. The ID corresponds to all API requests that are done to change the order. 
One order can have many payment transaction IDs due to the possibility of upsell payments and other changes made to the order.
It is recommended that you keep track of these transaction IDs and use the latest successful ID when making changes and referring to the transaction. In some cases, there may be several successful IDs valid at the same time.
It is required to use the correct IDs when using the Upsell function.
icon corner-down-right-dark
Next up is Preparations