Logotype
For developers
By Qliro
Select search filters:
0
0
/
/
Notifications
Notification authentication
Qliro Checkout is aiming to have as little configuration on its side as possible. Therefore, when communicating with e.g. MerchantCheckoutStatusPushUrl, no authentication will be supported and it's up to the Merchant to supply a URL that is only valid for a short period of time and contains authentication data.
Example: https://merchant.com/api/push/token=token_12-34-aa-bb where token_12-34-aa-bb is a dynamic token valid for only a couple of hours. When data is posted, verify that the provided token is available, valid and associated with the order in the POST request.
Checkout Status
When the customer has submitted the order, the CustomerCheckoutStatus will go from 'InProcess' to either 'Completed' or 'OnHold'. A notification with the new status will be sent to the MerchantCheckoutStatusPushUrl specified in the CreateOrder request. If the status is 'OnHold', another notification will be sent when it changes to 'Completed' or 'Refused'. There could be multiple notifications for the same order, with the same status. Use OrderId, CustomerCheckoutStatus and Timestamp to discard the duplicates.
 
 
Request
Method       POST
Endpoint    {MerchantCheckoutStatusPushUrl}
Body          JSON Object
 
Body parameters
Parameter Type Description
OrderId Long The Qliro Checkout order ID.
MerchantReference String The MerchantReference of the order.
Status String The new CustomerCheckoutStatus.
Timestamp Datetime The date and time when the status changed.
NotificationType String This should always be CustomerCheckoutStatus
PaymentTransactionId Long This represent the transaction id related to the payment.
 
Request example
1
2
3
4
5
6
7
8
{
  "OrderId": 12345,
  "MerchantReference": "MerchantReference-d19c4152-f8aa-4889-ab36-afd6fb5c5aa4",
  "Status": "Completed",
  "Timestamp": "2016-03-03T11:43:05.567",
  "NotificationType": "CustomerCheckoutStatus",
  "PaymentTransactionId": 1234
}
 
Response
The merchant has to respond to the notification with the below JSON. If checkout does not receive the callback, it will automatically initiate an immediate retry to recover from transient failures, such as network disruptions. If the initial retry fails, the checkout will schedule ten additional retry attempts at the following intervals: 2 seconds, 5 seconds, 10 seconds, 30 seconds, 1 minute, 2 minutes, 30 minutes, 1 hour, 24 hours, and 3 days. If no callback is received by the final attempt the notification is registered as an error.
1
2
3
{
  "CallbackResponse": "received"
}
Update Shipping Methods
If the checkout should handle the shipping interaction with the customer, the available shipping options might have to be updated whenever the customer changes the shipping address or the cart changes. The merchant should specify the MerchantOrderAvailableShippingMethodsUrl parameter in the CreateOrder request and Qliro Checkout will make a POST request to the provided URL.
 
Request
Method       POST
Endpoint    {MerchantOrderAvailableShippingMethodsUrl}
Body          JSON Object
 
Body Parameters
Parameter Type Description
OrderID Long The checkout order ID.
MerchantReference String The MerchantReference of the order.
JuridicalType String The juridical type of the customer. Can be 'Physical' or 'Company'.
OrderItems Array Array of items in the customer's cart. See details below.
Customer JSON Object The contact information provided by the customer. Includes Email and MobileNumber.
ShippingAddress JSON Object The shipping address provided by the customer. Includes FirstName (if applicable), LastName (if applicable), CompanyName (if applicable), CareOf, Street, Street2, PostalCode, City and Area (Used in the following countries: Australia, Bosnia and Herzegovina, Canada, Cyprus, Ireland, Italy, Lithuania, Luxembourg, Macedonia, Malta, Montenegro, Romania, US, Åland).
SelectedShippingMethod String The MerchantReference of the shipping method selected by the customer.
ProvideShippingSecondaryOptions Boolean True if SelectedShippingMethod supports Dynamic Secondary Options
 
OrderItem Parameters
Parameters Type Description
MerchantReference String A string generated by the merchant to identify the order item. The combination of MerchantReference and PricePerItemIncVat is used to uniquely identify the order item. Maximum length is 200 characters.
Type String Can be 'Product', 'Discount', 'Fee' or 'Shipping'
Quantity Integer The number of these items in the cart.
PricePerItemIncVat Decimal The price per item including Value Added Tax. This can be specified with 0, 1 or 2 decimals, e.g. 99, 99.9 or 99.99.
PricePerItemExVat Decimal The price per item excluding Value Added Tax. This can be specified with 0, 1 or 2 decimals, e.g. 99, 99.9 or 99.99.
Description String A name or description of the order item.
MetaData JSON Object Only available in create order and update order requests. Can be used to indicate if an item includes some kind of risk. If an item has been flagged with the property HasRisk, then depending on the merchant setup in the checkout, some payment methods will be disabled. This behaviour is customizable in the merchant preferences. It can also be used to indicate that an OrderItem is a subscription. If it is indicated as a subscription checkout will show some additional terms for Qliro invoice if Qliro invoice is enabled for the merchant.
 
 
Request example
 
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
66
67
68
69
{
  "OrderId": 12345,
  "MerchantReference": "MerchantReference-d19c4152-f8aa-4889-ab36-afd6fb5c5aa4",
  "JuridicalType": "Physical",
  "OrderItems": [
    {
      "MerchantReference": "RedHat",
      "Description": "Red hat original product",
      "Type": "Product",
      "Quantity": 3,
      "PricePerItemIncVat": 375.55,
      "PricePerItemExVat": 300.35
    },
    {
      "MerchantReference": "RedHat",
      "Description": "Red hat campaign product",
      "Type": "Product",
      "Quantity": 1,
      "PricePerItemIncVat": 200,
      "PricePerItemExVat": 160,
      "Metadata": {
        "HasRisk": true,
        "Subscription": {
          "Enabled": true
        }
      }
    },
    {
      "MerchantReference": "RedHat",
      "Description": "Free product",
      "Type": "Product",
      "Quantity": 1,
      "PricePerItemIncVat": 0,
      "PricePerItemExVat": 0
    },
    {
      "MerchantReference": "BlackHat",
      "Description": "Original product",
      "Type": "Product",
      "Quantity": 95,
      "PricePerItemIncVat": 143,
      "PricePerItemExVat": 100
    },
    {
      "MerchantReference": "BlueHat",
      "Description": "Original product",
      "Type": "Product",
      "Quantity": 57,
      "PricePerItemIncVat": 69,
      "PricePerItemExVat": 50
    }
  ],
  "ShippingAddress": {
    "CompanyName": null,
    "FirstName": "First",
    "LastName": "Last",
    "CareOf": "",
    "Street": "Street",
    "PostalCode": "12345",
    "City": "City",
    "Area": "Area"
  },
  "Customer": {
    "Email": "some@adress.com",
    "MobileNumber": "+4670123456"
  },
  "SelectedShippingMethod": null,
  "ProvideShippingSecondaryOptions": false
}
 
 
Response
Success
If there are shipping options available, the response status code should be 200 and the body should contain the shipping methods that should be presented to the customer. The body can contain an optional, at most 300 characters long, ShippingAdditionalHeader property. If the 300 characters are exceeded it will be ignored. If submitted, the checkout will show this text as a subheader below the shipping header.
 
Note: If no response is received within 5 seconds, the shipping options will not be updated.
 
Response
Go to AvailableShippingMethods parameter under the CreateOrder call in API Reference for information on how to populate the response.
 
Success example
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
66
67
68
69
70
{
  "AvailableShippingMethods": [
    {
      "MerchantReference": "HOME_DELIVERY",
      "ShippingFeeMerchantReference": "SHIPPING_FEE_REF_1",
      "DisplayName": "Home Delivery",
      "Descriptions": [
        "Expected date",
        "Expected time"
      ],
      "Brand": "DHL",
      "CategoryDisplayName": "HOME_DELIVERY",
      "PriceIncVat": 300,
      "PriceExVat": 200,
      "SupportsAccessCode": true
    },
    {
      "MerchantReference": "PICKUP_DELIVERY",
      "ShippingFeeMerchantReference": "SHIPPING_FEE_REF_2",
      "DisplayName": "Pickup",
      "Descriptions": [
        "Expected date",
        "Expected time"
      ],
      "Brand": "PostNord",
      "CategoryDisplayName": "PICKUP",
      "PriceIncVat": 150,
      "PriceExVat": 100,
      "SecondaryOptions": [
        {
          "MerchantReference": "PICKUP_LOCATION_1",
          "DisplayName": "Pickup location 1",
          "Descriptions": [
            "Address",
            "Hours"
          ],
          "Coordinates": {
            "Lat": 59.349962,
            "Lng": 18.04763
          }
        },
        {
          "MerchantReference": "PICKUP_LOCATION_2",
          "DisplayName": "Pickup location 2",
          "Descriptions": [
            "Address",
            "Hours"
          ],
          "Coordinates": {
            "Lat": 59.347582,
            "Lng": 18.048986
          }
        }
      ],
      "AdditionalShippingServices": [
        {
          "MerchantReference": "ADDITIONAL_SHIPPING_SERVICE_1",
          "DisplayName": "Express delivery",
          "PriceIncVat": 150,
          "PriceExVat": 100,
          "Descriptions": [
            "Faster delivery"
          ],
          "DeliveryDate": "2019-03-03"
        }
      ]
    }
  ],
  "ShippingAdditionalHeader": "SHIPPING_ADDITONAL_HEADER"
}
 
 
Error
If there are no shipping methods supported, the response status code should be 400 together with a DeclineReason describing the issue. Depending on the DeclineReason, Qliro Checkout will present a message to the customer describing what actions to take to correct the issues.
 
DeclineReasons
DeclineReason Description
PostalCodeIsNotSupported The merchant does not deliver to the shipping address provided by the customer.
 
Error Example
1
2
3
{
  "DeclineReason": "PostalCodeIsNotSupported"
}
 
Update Shipping Addresses
If the merchant needs to provide a list of predefined shipping addresses, the MerchantOrderAvailableShippingAddressesUrl should be specified in the CreateOrder request. Then, Qliro Checkout will make a POST request to that URL with information about the order and customer. The response contains a list of predefined shipping addresses. Street2 can be used for company customers and for physical customers in Australia, Bosnia and Herzegovina, Canada, Croatia, Cyprus, Czech Rebublic, Estonia, France, Greece, Hungary, Iceland, Ireland, Italy, Lithuania, Luxembourg, Macedonia, Malta, Montenegro, Poland, Portugal, Romania, Serbia, Slovakia, Slovenia, Spain, UK, US, Åland. The Area field should contain state, province or region and can be used in Australia, Bosnia and Herzegovina, Canada, Cyprus, Ireland, Italy, Lithuania, Luxembourg, Macedonia, Malta, Montenegro, Romania, US, Åland.
 
Request
Method        POST
Endpoint     {MerchantOrderAvailableShippingAddressesUrl}
 
Body           JSON Object
 
Body parameters
Parameter Type Description
OrderID Long The Qliro Checkout order ID.
MerchantReference String The MerchantReference of the order.
Customer JSON Object Information about the customer. See details below.
 
Customer parameters
Parameter Type Description
Email String The email address that the customer used to complete the purchase.
MobileNumber String The mobile number that the customer used to complete the purchase.
 
Request example
1
2
3
4
5
6
7
8
{
  "OrderId": 12345,
  "MerchantReference": "MerchantReference-d19c4152-f8aa-4889-ab36-afd6fb5c5aa4",
  "Customer": {
    "Email": "email@domain.com",
    "MobileNumber": "0701234567"
  }
}
 
 
Response
If there are shipping addresses available, the response status code should be 200 and the body should contain the shipping addresses that should be presented to the customer.
 
Response JSON Body
 
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
{
  "AvailableShippingAddresses": [
    {
      "FirstName": "FirstName1",
      "LastName": "LastName1",
      "CompanyName": "Company A AB",
      "CareOf": "CareOf",
      "Street": "Klara Vattugränd 32",
      "Street2": "Department X",
      "PostalCode": "147 57",
      "City": "Linköping",
      "Area": "Region X"
    },
    {
      "FirstName": "FirstName2",
      "LastName": "LastName2",
      "CompanyName": "Company B AB",
      "CareOf": "CareOf",
      "Street": "Karlbergsvägen 1",
      "Street2": "Floor X",
      "PostalCode": "100 99",
      "City": "Jönköping",
      "Area": "State Y"
    }
  ]
}
 
Validate order
If the merchant needs to validate the order when the customer is about to submit it, the MerchantOrderValidationUrl should be specified in the CreateOrder request. Then, the checkout will make a POST request to that URL with information about the order. The response determines whether the order should be approved or not.
 
Request
Method    POST
Endpont  {MerchantOrderValidationUrl}
Body       JSON Object
 
Body parameters
Parameter Type Description
OrderId Long The Qliro checkout order ID.
MerchantReference String The MerchantReference of the order.
Currency String Three uppercase characters, in accordance with ISO 4217.
Customer JSON Object Information about the customer. See details below.
OrderItems Array Array of items in the customer's cart. See details below.
ShippingAddress JSON Object The shipping address provided by the customer. See details below.
BillingAddress JSON Object The billing address provided by the customer. See details below.
PaymentMethod JSON Object Contains the selected PaymentMethodName and its PaymentTypeCode.
SelectedShippingMethod String The MerchantReference of the shipping method selected by the customer. Can be used for dynamic secondary options.
SelectedShippingSecondaryOption String The MerchantReference of the selected shipping secondary option.
IdentityVerification JSON Object Has the order RequireIdentityVerification flag and IdentityVerified which will be null if identity is not required.
 
Customer parameters
Parameter Type Description
FirstName String The first name of the customer.
LastName String The last name of the customer.
Email String The email address that the customer used to complete the purchase.
MobileNumber String The mobile number that the customer used to complete the purchase.
PersonalNumber String The personal number of the customer.
JuridicalType String Either Physical or Company.
 
Address parameters
Parameter Type Description
FirstName String The first name of the address.
LastName String The last name of the address.
CompanyName String The company name of the address (if applicable).
CareOf String The care of the address (if applicable).
Street String The street name and number of the address.
Street2 String The secondary address line for unit, building, floor etc. Only used for company customers and for physical customers in the following countries: Australia, Bosnia and Herzegovina, Canada, Croatia, Cyprus, Czech Rebublic, Estonia, France, Greece, Hungary, Iceland, Ireland, Italy, Lithuania, Luxembourg, Macedonia, Malta, Montenegro, Poland, Portugal, Romania, Serbia, Slovakia, Slovenia, Spain, UK, US, Åland.
PostalCode String The postal code of the address.
City String The city of the address.
Area String The State/Province/Region of the address. Used in the following countries: Australia, Bosnia and Herzegovina, Canada, Cyprus, Ireland, Italy, Lithuania, Luxembourg, Macedonia, Malta, Montenegro, Romania, US, Åland.
CountryCode String The country of the address.
 
OrderItem parameters
Parameter Type Description
MerchantReference String A string generated by the merchant to identify the order item. The combination of MerchantReference and PricePerItemIncVat is used to uniquely identify the order item. Maximum length is 200 characters.
Type String Can be 'Product', 'Discount', 'Fee' or 'Shipping'
Quantity Integer The number of these items in the cart.
PricePerItemIncVat Decimal The price per item including Value Added Tax. This can be specified with 0, 1 or 2 decimals, e.g. 99, 99.9 or 99.99.
PricePerItemExVat Decimal The price per item excluding Value Added Tax. This can be specified with 0, 1 or 2 decimals, e.g. 99, 99.9 or 99.99.
Description String A name or description of the order item.
MetaData JSON Object
Only available in create order and update order requests. Can be used to indicate if an item includes some kind of risk. If an item has been flagged with the property HasRisk, then depending on the merchant setup in Qliro checkout, some payment methods will be disabled. This behavior is customizable in the merchant preferences. It can also be used to indicate that an OrderItem is a subscription. If it is indicated as a subscription the checkout will show some additional terms for Qliro invoice if Qliro invoice is enabled for the merchant.
 
Request example
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
66
67
68
69
70
71
{
  "OrderId": 12345,
  "MerchantReference": "MerchantReference-d19c4152-f8aa-4889-ab36-afd6fb5c5aa4",
  "Currency": "SEK",
  "Customer": {
    "Email": "email@domain.com",
    "MobileNumber": "0701234567",
    "PersonalNumber": "111111-1111"
  },
  "OrderItems": [
    {
      "MerchantReference": "RedHat",
      "Description": "Red hat original product",
      "Type": "Product",
      "Quantity": 3,
      "PricePerItemIncVat": 375.55,
      "PricePerItemExVat": 300.35
    },
    {
      "MerchantReference": "RedHat",
      "Description": "Red hat campaign product",
      "Type": "Product",
      "Quantity": 1,
      "PricePerItemIncVat": 200,
      "PricePerItemExVat": 160,
      "Metadata": {
        "HasRisk": true,
        "Subscription": {
          "Enabled": true
        }
      }
    },
    {
      "MerchantReference": "RedHat",
      "Description": "Free product",
      "Type": "Product",
      "Quantity": 1,
      "PricePerItemIncVat": 0,
      "PricePerItemExVat": 0
    },
    {
      "MerchantReference": "BlackHat",
      "Description": "Original product",
      "Type": "Product",
      "Quantity": 95,
      "PricePerItemIncVat": 143,
      "PricePerItemExVat": 100
    },
    {
      "MerchantReference": "BlueHat",
      "Description": "Original product",
      "Type": "Product",
      "Quantity": 57,
      "PricePerItemIncVat": 69,
      "PricePerItemExVat": 50
    }
  ],
  "ShippingAddress": {
    "PostalCode": "12345"
  },
  "PaymentMethod": {
    "PaymentMethodName": "CREDITCARDS",
    "PaymentTypeCode": null
  },
  "SelectedShippingMethod": null,
  "SelectedShippingSecondaryOption": null,
  "IdentityVerification": {
    "RequireIdentityVerification": false,
    "IdentityVerified": null
  }
}
 
Response
To accept the order the response status code should be 200. To decline the order the response status code should be 400 together with a DeclineReason describing the issue. Depending on the DeclineReason, Qliro Checkout will present a message to the customer describing what actions to take to correct the issue (DeclineReason.Other will be used if none is supplied).
If a more detailed error message should be shown in the checkout then a custom message can be sent with DeclineReasonMessage (150 character limit or it will be ignored) and "Other" as "DeclineReason” (DeclineReason.Other will be used if none is supplied).
Note: If no response is received within 5 seconds, the order will be approved as usual.

As an option, Qliro Checkout can be configured to automatically reject the order if no response is received within the same timeframe.
 
DeclineReasons
DeclineReason Description
OutOfStock One or more of the items in the cart is out of stock.
PostalCodeIsNotSupported The merchant does not deliver to the shipping address provided by the customer.
ShippingIsNotSupportedForPostalCode The selected shipping method does not support the shipping address provided by the customer.
CashOnDeliveryIsNotSupportedForShippingMethod The selected shipping method does not support cash-on-delivery payment methods.
IdentityNotVerified Identity verification is required for the order and has not been done.
Other Any other reason not covered above.
 
Decline Example
1
2
3
{
  "DeclineReason": "Other"
}


Decline Example With Custom Message
1
2
3
4
{
  "DeclineReason": "Other",
  "DeclineReasonMessage": "Custom message that will be shown"
}
Upsell Status
This is a recommended feature to increase your order values and revenue in an easy way. Now available for most platforms, if you're interested in implementing upsell, please contact merchant onboarding at integration@qliro.com.
If an Upsell request was made then this provides the status of the Upsell transaction.
 
Request
Method       POST
Endpoint    {MerchantCheckoutStatusPushUrl}Body          JSON Object
 
Body parameters
Parameters Type Description
OrderID Long The Qliro Checkout order ID
MerchantReference String The MerchantReference of the order
Status String This could be either Success or Error.
Timestamp Datetime The date and time when the status changed.
NotificationType String This should always be UpsellStatus
PaymentTransactionId Long This represent the transaction id related to the upsell payment.
OriginalPaymentTransactionId Long The previous transaction id, if changed.
ReplacesOriginalPaymentTransaction Bool When true the transaction id is updated and replaces the one in OriginalPaymentTransactionId.
 
Request example
1
2
3
4
5
6
7
8
{
  "OrderId": 12345,
  "MerchantReference": "MerchantReference-d19c4152-f8aa-4889-ab36-afd6fb5c5aa4",
  "Status": "Completed",
  "Timestamp": "2016-03-03T11:43:05.567",
  "NotificationType": "UpsellStatus",
  "PaymentTransactionId": 12345
}
 
 
Response
The merchant has to respond to the notification with the below JSON. If the callback is not received by Qliro, seven retry attempts are scheduled at 30 seconds, 60 seconds, 2 minutes, 30 minutes, 1 hour, 24 hours and 3 days. If no callback is received by the final attempt the notification is registered as an error.
 
Response JSON Body
1
2
3
{
  "CallbackResponse": "received"
}
Order Management Status
The checkout will send a notification to MerchantOrderManagementStatusPushUrl whenever the status of an Admin API request changed status.
 
Request
 
Method        POST
Endpoint     {MerchantOrderManagementStatusPushUrl}
Body           JSON Object
 
Body Parameters
Parameter Type Description
OrderID Long The Qliro checkout order ID
MerchantReference String The MerchantReference of the order
PaymentTransactionId Long This ID is a reference to the particular request.
Amount Decimal The amount of this particular transaction.
Currency String Three uppercase characters, in accordance with ISO 4217.
Status String The new request status.
PaymentType String The type of transaction
ProviderTransactionId String The transaction ID as given by payment provider.
ProviderResultCode String Request result as given by payment provider.
ProviderResultDescription String Description of the ProviderResultCode as given by payment provider. See error reasons in table below.
OriginalPaymentTransactionId String An ID that refers to the original payment made by the customer.
PaymentReference Long A unique reference which represents a successful shipment.
TimeStamp String The date and time when the status changed.
ErrorCode String Error code as given by Qliro.
ErrorCodeDescription String A user-friendly string describing the error, present only for applicable error codes.
 
ProviderResultDescription errors
Operation PaymentMethod Error Reason
CancelOrder CreditCard Transaction Declined (referencing transaction does not match) The amount is already released by the bank.
Any CreditCard, Trustly, PayPal Duplicate Transaction Interruptions between Qliro checkout and provider. Calling party can retry call.
 
Request example
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{
  "OrderId": 67890,
  "MerchantReference": "MerchantRef1234",
  "PaymentTransactionId": 12345,
  "Amount": 550,
  "Currency": "SEK",
  "Status": "Success",
  "PaymentType": "Capture",
  "ProviderTransactionId": "8a82944a5a8ee61d015aa44c44787ead",
  "ProviderResultCode": "000.100.110",
  "ProviderResultDescription": "Request successfully processed in 'Merchant in Integration Test Mode'",
  "OriginalPaymentTransactionId": "67890",
  "PaymentReference": 123456,
  "Timestamp": "2016-03-03T11:43:05.567"
}
 
 
Response
The merchant has to respond to the notification with the below JSON. If Qliro checkout does not receive the callback, it will automatically initiate an immediate retry to recover from transient failures, such as network disruptions. If the initial retry fails, Qliro checkout will schedule ten additional retry attempts at the following intervals: 2 seconds, 5 seconds, 10 seconds, 30 seconds, 1 minute, 2 minutes, 30 minutes, 1 hour, 24 hours, and 3 days. If no callback is received by the final attempt the notification is registered as an error.
 
Response JSON body
1
2
3
{
  "CallbackResponse": "received"
}
Merchant Notification Url
The Merchant Notification URL can be used for merchants who wants Qliro to forward the order data related to the shipping session obtained from the shipping provider. This will be forwarded when the order is completed.
 
Request
 
Method        POST
Endpoint     {MerchantNotificationUrl}
Body           JSON Object
 
Shipping Provider Update - Body Parameters
Parameter Type Description
OrderId Long The Qliro Checkout order ID
MerchantReference String The MerchantReference of the order
IsSuccess Boolean Boolean that highlights if the update is of successful nature or erroneous.
ErrorMessage String If IsSuccess is false the error message will be added here.
TimeStamp String The date and time when the event was created.
EventType String Type of event, e.g. "SHIPPING_PROVIDER_UPDATE"
Provider String If event is of type "SHIPPING_PROVIDER_UPDATE", provider value will be added here, e.g. "Unifaun" or "Ingrid".
Payload json The complete json response from the external provider.
 
Request example
1
2
3
4
5
6
7
8
9
10
{
"OrderId": 67890,
"MerchantReference": "MerchantRef1234",
"IsSuccess": true,
"ErrorMessage": null,
"TimeStamp": "2024-07-01T09:44:37.6397507Z", 
"EventType": "SHIPPING_PROVIDER_UPDATE", 
"Provider": "Unifaun", 
"Payload": { ... }, 
 }
 

Response
The merchant has to respond to the notification with the below JSON. If Qliro Checkout does not receive the callback, it will automatically initiate an immediate retry to recover from transient failures, such as network disruptions. If the initial retry fails, Qliro Checkout will schedule ten additional retry attempts at the following intervals: 2 seconds, 5 seconds, 10 seconds, 30 seconds, 1 minute, 2 minutes, 30 minutes, 1 hour, 24 hours, and 3 days. If no callback is received by the final attempt the notification is registered as an error.
 
Response JSON body
1
2
3
{
  "CallbackResponse": "received"
}
Merchant Saved Credit Card
After customer completes the purchase merchant will receive a status notification on merchantOrderManagmentUrl and if the card was used by customer, card information notification will be sent to merchantSavedCreditCardPushURL.
 
Request
Method        POST
Endpoint     { MerchantSavedCreditCardPushUrl }
Body             JSON Object
 
Body parameters
Parameter Type Description
OrderId Long The Qliro Checkout order Id
Id Guid The merchant saved credit card Id
CardBin String The card BIN
CardLast4Digits String The card last 4 digits
CardExpiryYear Int The card expiry year
CardExpiryMonth Int The card expiry month
CardBrandName String Can be Visa, Mastercard, Amex, Unknown
TimeStamp Datetime The date and time of the merchant saved credit card registration
 
Request example
1
2
3
4
5
6
7
8
9
10
{
  "OrderId": "12345",
  "Id": "10B066CC-F317-4CD1-9087-8CF06901918F",
  "CardBin": "454225",
  "CardLast4Digits": "3964",
  "CardExpiryYear": "2020",
  "CardExpiryMonth": "6",
  "CardBrandName": "Visa",
  "Timestamp": "2019-03-03T11:43:05.567"
}
 
Response
The merchant has to respond to the notification with the below JSON. If the callback is not received by the checkout, seven retry attempts are scheduled at 30 seconds, 60 seconds, 2 minutes, 30 minutes, 1 hour, 24 hours and 3 days. If no callback is received by the final attempt the notification is registered as an error.
 
Response JSON body
1
2
3
{
  "CallbackResponse": "received"
}
icon corner-down-right-dark
Next up is Load checkout