InPost-Controlled Discount Mechanism

InPost-Controlled Discount Mechanism

1. Mechanism Overview

This mechanism enables InPost to pass a list of discounts applied within the application at the time of order creation, which the merchant is required to reflect in the order value in their store.

The discount value affecting the merchant's order total is determined individually with the merchant and settled in accordance with separate agreements.

Business Context

InPost applies a discount to the order and communicates its value to the merchant at the time of order creation via the inpost_discounts object. The merchant is required to reflect this value in both the order total charged to the customer and in the corresponding invoice. The terms governing discount eligibility and the financial settlement between InPost and the merchant are defined in separate agreements.

1.1 Order Creation

When an order is being created, InPost sends the inpost_discounts object to the merchant as part of the following request:

POST /v1/izi/order

 The object is included in the request body under the order_details section. Upon successful order creation, the merchant returns order details including the order_base_price and order_final_price fields, both of which must already account for the applied InPost discounts.

InPost persists the inpost_discounts object within the order record. The data is subsequently accessible via:

GET /v1/izi/orders

Important

If no InPost discount has been applied to a given order, the inpost_discounts object will not be included in the request to the merchant. Implementations must handle the absence of this object gracefully.


2. Changes to Merchant Backend Endpoints

2.1 POST /v1/izi/order - Order Creation

The inpost_discounts object has been added to the request body under order_details.

inpost_discounts - Object Structure

"inpost_discounts": [ { "type": "string", "discount": 0 } ]

inpost_discount - Field Descriptions

Field Name

Type

Required

Description

inpost_discounts

array

No

Object containing the list of InPost discounts applied to the order. The merchant is required to reflect the passed discounts in the final order value.

inpost_discounts.type

string

Yes

Type of discount. For subscription, this will be INPOST_SUBSCRIPTION.

inpost_discounts.discount

number (decimal)

Yes

Value of the discount applied to the order.

 

In the response body, the descriptions of the order_base_price and order_final_price order price fields have been updated to reflect the inclusion of InPost discounts:

Field Name

Description (updated)

order_base_price

Order price including merchant discounts/coupons and InPost discounts, excluding shipping costs.

order_final_price

Total order price including merchant discounts/coupons and InPost discounts, including shipping costs.

 

2.2 GET /v1/izi/order/{order_id} - Order Details

2.2.1 Updated Order Price Field Descriptions

The order_base_price and order_final_price fields have been updated to reflect the inclusion of InPost discounts:

Field Name

Description (updated)

order_base_price

Order price including merchant discounts/coupons and InPost discounts, excluding shipping costs.

order_final_price

Total order price including merchant discounts/coupons and InPost discounts, including shipping costs.

 


3. Changes to InPost Pay Endpoints (Basket App)

3.1 GET /v1/izi/orders - Order List

The inpost_discounts object with an identical structure to that described in section 2.1 has been added to the response.orders.order_details section.

inpost_discounts - Object Structure

"inpost_discounts": [ { "type": "string", "discount": 0 } ]

 

inpost_discount - Field Descriptions

Field Name

Type

Required

Description

inpost_discounts

array

No

Object containing the list of InPost discounts applied to the order. The merchant is required to reflect the passed discounts in the final order value.

inpost_discounts.type

string

Yes

Type of discount. For subscription, this will be INPOST_SUBSCRIPTION.

inpost_discounts.discount

number (decimal)

Yes

Value of the discount applied to the order.

 

3.1.1 Updated Order Price Field Descriptions

As in the Merchant Backend, the order_base_price and order_final_price fields have been updated

Field Name

Description (updated)

order_base_price

Order price including merchant discounts/coupons and InPost discounts, excluding shipping costs.

order_final_price

Total order price including merchant discounts/coupons and InPost discounts, including shipping costs.