For developers
By Qliro
Method POST
Endpoint {MerchantCheckoutStatusPushUrl} Body JSON Object |
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. |
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 }
1 2 3
{ "CallbackResponse": "received" }
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 |
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. |
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 }
AvailableShippingMethods
parameter under the CreateOrder call in API Reference for information on how to populate the response.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" }
DeclineReason | Description |
PostalCodeIsNotSupported | The merchant does not deliver to the shipping address provided by the customer. |
1 2 3
{ "DeclineReason": "PostalCodeIsNotSupported" }
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. |
Parameter | Type | Description |
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. |
1 2 3 4 5 6 7 8
{ "OrderId": 12345, "MerchantReference": "MerchantReference-d19c4152-f8aa-4889-ab36-afd6fb5c5aa4", "Customer": { "Email": "email@domain.com", "MobileNumber": "0701234567" } }
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" } ] }
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. |
Parameter | Type | Description |
FirstName | String | The first name of the customer. |
LastName | String | The last name of the customer. |
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. |
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. |
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.
|
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 } }
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. |
1 2 3
{ "DeclineReason": "Other" }
1 2 3 4
{ "DeclineReason": "Other", "DeclineReasonMessage": "Custom message that will be shown" }
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. |
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 }
1 2 3
{ "CallbackResponse": "received" }
Method POST
Endpoint {MerchantOrderManagementStatusPushUrl}
Body JSON Object
|
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. |
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. |
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" }
1 2 3
{ "CallbackResponse": "received" }
Method POST
Endpoint {MerchantNotificationUrl}
Body JSON Object
|
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. |
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": { ... }, }
1 2 3
{ "CallbackResponse": "received" }
Method POST
Endpoint { MerchantSavedCreditCardPushUrl }
Body JSON Object
|
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 |
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" }
1 2 3
{ "CallbackResponse": "received" }