Logotype
For developers
By Qliro
Select search filters:
0
0
/
/
Upsell
Offer additional products on thank you page
Overview
The Upsell feature allows customers to add additional items to their order from the Thank You page, even after checkout is complete. This provides a seamless way to increase order value without requiring the customer to redo the entire checkout flow.
If an order is eligible for upsell, merchants can add items to the existing list of OrderItems by submitting an Upsell request.
How-to
  1. Send a GET request towards checkout/merchantapi/order to know if the order is eligible for Upsell.
  2. Send a POST request towards checkout/merchantapi/upsell. You have to send in an UpsellId to enable Upsell with payment methods requiring UpsellLink.
  3. Read the response - there are two possible scenarios
    1. PaymentTransactionId is returned (See Direct Transaction)
    2. UpsellLink is returned (See Upsell Link)
For details on the request/response parameters as well as error codes, please continue to the API Reference
 
Direct Transaction
This scenario occurs when Qliro is able to process the upsell amount as a direct transaction, without requiring any additional customer interaction or authentication. On a direct transaction a PaymentTransactionId is returned immediatly on the upsell request.
Currently, this flow is supported by Qliro Buy Now Pay Later payment methods and Credit Card payments.

If, in the future, other payment methods become eligible for direct upsell transactions, they may also return a PaymentTransactionId — provided that all necessary conditions are met.
UpsellStatus Push
Qliro will notify the merchant of the upsell outcome through UpsellStatus pushes sent to the configured MerchantCheckoutStatusPushUrl with either Status = "Success" or Status = "Error".
During this process, the merchant checkout must remain locked until the status has been communicated.
Upsell Link
In some cases, the upsell flow cannot be completed as a direct transaction within the existing purchase session. Instead, the response will include an UpsellLink property that the customer needs to be redirected to. In this link they are taken through Qliro Checkout where the customer can only finalize the upsell payment.

This may happen for several reasons, including but not limited to:
  • Payment method requirements: Some payment methods — such as Swish, Vipps, Apple Pay, MobilePay, Trustly, PayPal, and similar — require the customer to actively confirm the payment through an external flow.
  • Strong Customer Authentication (SCA): Even for payment methods that normally support direct transactions, Qliro may return an UpsellLink if SCA is required. This can depend on the upsell amount, payment provider policies, or internal control rules.
  • Compliance and regulatory reasons: Certain transactions may need to be processed through a separate, customer-authenticated flow to meet compliance or security requirements.
Qliro will handle retries, error messages, and other transaction-related logic within this link to ensure the highest possible chance of a successful payment. As a result, there may be multiple error transactions recorded during the process, but only one successful transaction will ever be created for the specific upsell session.
 
Upsell Status Push
When using the Upsell Link flow, Qliro will notify the merchant of the upsell outcome through UpsellStatus pushes sent to the configured MerchantCheckoutStatusPushUrl.
  • Successful completion:
    If the customer completes the upsell purchase through the UpsellLink, Qliro will immediately send an UpsellStatus notification with Status = "Success". This confirms that the upsell has been successfully processed and added to the order. The customer is also redirected to the configured MerchantConfirmationUrl.
  • Error transaction:
    Qliro will NOT send an UpsellStatus error notification on every error transaction that happens within the Upsell Expiration time. Upsell Link handles retries, error messages, and multiple attempts to maximize the chance of customer completing the payment.
  • Session expiration:
    If the customer does not complete the upsell before the session expires (as defined by the EligibleForUpsellUntil timestamp), Qliro will send an UpsellStatus notification with Status = "Error".
  • Pending transactions after expiration:
    In cases where there are an in process payment transaction remaining after the upsell session has expired, Qliro will wait until these transactions have been finalized.
    Once processed, Qliro will send an UpsellStatus push with either Status = "Success" (if the transaction was successful) or Status = "Error" (if the transaction failed).
Good to know
  • After an upsell has been offered to the customer you can follow its status through the Upsell Status Push, please visit Notifications.
  • When using Upsell it's important to keep track of the Payment transaction IDs that are associated with the order. When managing the order always refer to the corresponding transaction ID.
  • The feature is designed to bring out more value from a recommendation engine implementation. To get the best value ensure you already have a recommendation engine in place. If you don't have any in place, Qliro has partners who can supply you with a solution. Contact your onboarding or merchant support agent for more information.