Get order

⚠️ We no longer recommend implementing the Orders API. Please refer to the Payments API instead. We are actively working on adding support for Klarna, Billie, in3 and Vouchers to the Payments API later this year.

Retrieve a single order object by its ID.

🔑

Access with

API key

Access token with orders.read

Path Params
string
required

Provide the ID of the item you want to perform this operation on.

Query Params
string | null

This endpoint allows embedding related API items by appending the following values via the embed query string parameter.

  • payments: Include all payments created for this order.
  • refunds: Include all refunds created for this order.
  • shipments: Include all shipments created for this order.
boolean | null
Defaults to false

Most API credentials are specifically created for either live mode or test mode. In those cases the testmode query parameter can be omitted. For organization-level credentials such as OAuth access tokens, you can enable test mode by setting the testmode query parameter to true.

Test entities cannot be retrieved when the endpoint is set to live mode, and vice versa.

Responses

Response body
object
string
Defaults to order

Indicates the response contains an order object. Will always contain the string order for this endpoint.

string

The identifier uniquely referring to this order. Mollie assigns this identifier at payment creation time. Mollie will always refer to the order by this ID. Example: ord_vsKJpSsabw.

string

Whether this entity was created in live mode or in test mode.

Possible values: live test

string

The order number for this order. We recommend each order number to be unique.

lines
array of objects

The order lines for the order. Each line contains details such as a description of the item ordered and its price.

All lines must have the same currency as the payment.

lines
object
string
Defaults to orderline

Indicates the response contains an order line object. Will always contain the string orderline.

string

The identifier uniquely referring to this order line. Mollie assigns this identifier at order line creation time. Example: odl_jp31jz.

string

The type of product purchased. For example, a physical or a digital product.

Possible values: physical digital shipping_fee discount store_credit gift_card surcharge (default: physical)

string
required

A description of the line item. For example LEGO 4440 Forest Police Station.

integer
required
≥ 1

The number of items.

string

The unit for the quantity. For example pcs, kg, or cm.

unitPrice
object
required

The price of a single item including VAT.

For example: {"currency":"EUR", "value":"89.00"} if the box of LEGO costs €89.00 each.

For types discount, store_credit, and gift_card, the unit price must be negative.

The unit price can be zero in case of free items.

discountAmount
object

Any line-specific discounts, as a positive amount. Not relevant if the line itself is already a discount type.

totalAmount
object
required

The total amount of the line, including VAT and discounts.

Should match the following formula: (unitPrice × quantity) - discountAmount.

The sum of all totalAmount values of all order lines should be equal to the full payment amount.

string

The VAT rate applied to the line, for example 21.00 for 21%. The vatRate should be passed as a string and not as a float, to ensure the correct number of decimals are passed.

vatAmount
object

The amount of value-added tax on the line. The totalAmount field includes VAT, so the vatAmount can be calculated with the formula totalAmount × (vatRate / (100 + vatRate)).

Any deviations from this will result in an error.

For example, for a totalAmount of SEK 100.00 with a 25.00% VAT rate, we expect a VAT amount of SEK 100.00 × (25 / 125) = SEK 20.00.

string
length ≤ 64

The SKU, EAN, ISBN or UPC of the product sold.

string | null

The voucher category, in case of an order line eligible for a voucher. See the Integrating Vouchers guide for more information.

Possible values: meal eco gift sport_culture

string

The status of the order line.

Possible values: created authorized paid shipping completed canceled

boolean

Whether the order line can still be canceled.

string

The unique identifier of the order this order line belongs to. For example: ord_8wmqcHMN4U.

string

The entity's date and time of creation, in ISO 8601 format.

_links
object
amount
object

The amount that you want to charge, e.g. {currency:"EUR", value:"1000.00"} if you would want to charge €1000.00.

You can find the minimum and maximum amounts per payment method in our help center. Additionally, they can be retrieved using the Get method endpoint.

string
required

A three-character ISO 4217 currency code.

string
required

A string containing an exact monetary amount in the given currency.

object | null

The total amount that is already refunded. Only available when refunds are available for this order. For some payment methods, this amount may be higher than the order amount, for example to allow reimbursement of the costs for a return shipment to the customer.

string
required

A three-character ISO 4217 currency code.

string
required

A string containing an exact monetary amount in the given currency.

object | null

The total amount that is already captured for this order. Only available when this order supports captures.

string
required

A three-character ISO 4217 currency code.

string
required

A string containing an exact monetary amount in the given currency.

string | null

The URL your customer will be redirected to after the payment process.

It could make sense for the redirectUrl to contain a unique identifier – like your order ID – so you can show the right page referencing the order when your customer returns.

The parameter is normally required, but can be omitted for recurring payments (sequenceType: recurring) and for Apple Pay payments with an applePayPaymentToken.

string | null

The URL your customer will be redirected to when the customer explicitly cancels the payment. If this URL is not provided, the customer will be redirected to the redirectUrl instead — see above.

Mollie will always give you status updates via webhooks, including for the canceled status. This parameter is therefore entirely optional, but can be useful when implementing a dedicated customer-facing flow to handle payment cancellations.

string | null

The webhook URL where we will send order status updates to.

The webhookUrl is optional, but without a webhook you will miss out on important status changes to your order.

The webhookUrl must be reachable from Mollie's point of view, so you cannot use localhost. If you want to use webhook during development on localhost, you must use a tool like ngrok to have the webhooks delivered to your local machine.

billingAddress
object

The customer's billing address details. The billing address is required, unless a fast checkout method like PayPal Express Checkout is providing the billing address.

string

The title of the person, for example Mr. or Mrs..

string

The given name (first name) of the person should be at least two characters and cannot contain only numbers.

string

The given family name (surname) of the person should be at least two characters and cannot contain only numbers.

string

The name of the organization, in case the addressee is an organization.

string
required

A street and street number.

string

Any additional addressing details, for example an apartment number.

string

A postal code. This field may be required if the provided country has a postal code system.

string
string

If provided, it must be in the E.164 format. For example: +31208202070.

string
required
string
string
required

A country code in ISO 3166-1 alpha-2 format.

shippingAddress
object

The customer's shipping address details. We advise to provide these details to improve fraud protection and conversion. This is particularly relevant for card payments.

string

The title of the person, for example Mr. or Mrs..

string

The given name (first name) of the person should be at least two characters and cannot contain only numbers.

string

The given family name (surname) of the person should be at least two characters and cannot contain only numbers.

string

The name of the organization, in case the addressee is an organization.

string
required

A street and street number.

string

Any additional addressing details, for example an apartment number.

string

A postal code. This field may be required if the provided country has a postal code system.

string
string

If provided, it must be in the E.164 format. For example: +31208202070.

string
required
string
string
required

A country code in ISO 3166-1 alpha-2 format.

string

Allows you to preset the language to be used in the hosted payment pages shown to the customer. Setting a locale is highly recommended and will greatly improve your conversion rate. When this parameter is omitted the browser language will be used instead if supported by the payment method. You can provide any xx_XX format ISO 15897 locale, but our hosted payment pages currently only support the specified languages.

For bank transfer payments specifically, the locale will determine the target bank account the customer has to transfer the money to. We have dedicated bank accounts for Belgium, Germany, and The Netherlands. Having the customer use a local bank account greatly increases the conversion and speed of payment.

Possible values: en_US en_GB nl_NL nl_BE fr_FR fr_BE de_DE de_AT de_CH es_ES ca_ES pt_PT it_IT nb_NO sv_SE fi_FI da_DK is_IS hu_HU pl_PL lv_LV lt_LT

string | null

Normally, a payment method screen is shown. However, when using this parameter, you can choose a specific payment method and your customer will skip the selection screen and is sent directly to the chosen payment method. The parameter enables you to fully integrate the payment method selection into your website.

You can also specify the methods in an array. By doing so we will still show the payment method selection screen but will only show the methods specified in the array. For example, you can use this functionality to only show payment methods from a specific country to your customer ['bancontact', 'belfius'].

Possible values: applepay bancomatpay bancontact banktransfer belfius billie creditcard directdebit eps giftcard ideal in3 kbc klarna klarnapaylater klarnapaynow klarnasliceit mybank paypal paysafecard przelewy24 riverty satispay trustly twint voucher

boolean

For digital goods, you must make sure to apply the VAT rate from your customer's country in most jurisdictions. You can use this parameter to restrict the payment methods available to your customer to methods from the billing country only.

This field is similar to the restrictPaymentMethodsToCountry field in the Payments API.

string

The order's status. Refer to the documentation regarding statuses for more info about which statuses occur at what point.

Possible values: created pending authorized paid shipping canceled expired completed

boolean | null

Whether the order can be canceled. This parameter is omitted if the order reaches a final state.

object | null

Any payment specific properties (for example, the dueDate for bank transfer payments) can be passed here. See method-specific parameters for all the possible fields.

Has additional fields
string | null

The identifier referring to the profile this entity belongs to.

Most API credentials are linked to a single profile. In these cases the profileId can be omitted in the creation request. For organization-level credentials such as OAuth access tokens however, the profileId parameter is required.

string

The entity's date and time of creation, in ISO 8601 format.

string | null

The date and time the order became authorized, in ISO 8601 format. This parameter is omitted if the order is not authorized (yet).

string | null

The date and time the order became paid, in ISO 8601 format. This parameter is omitted if the order is not completed (yet).

string | null

The date and time the order was canceled, in ISO 8601 format. This parameter is omitted if the order is not canceled (yet).

string | null

The date the order should expire in YYYY-MM-DD format. The minimum date is tomorrow and the maximum date is 100 days after tomorrow.

It is not possible to use Klarna when your expiry date is more than 28 days in the future, unless you agreed on a different maximum with Klarna.

string | null

The date and time the order was expired, in ISO 8601 format. This parameter is omitted if the order did not expire (yet).

string | null

The date and time the order was completed, in ISO 8601 format. This parameter is omitted if the order is not completed (yet).

_links
object

Language
Credentials
Request