Checkout API (LATEST)

API Integration Support: License: UNLICENSED


All notable changes to the API.


new Added in_store as a possible payment channel for payments in physical stores.


new Added option for configurating the payment channel. See The new option add support for in_app channel with appswitch deeplink URL (Vipps).

new Add support for optional order.discount_lines when creating a new sessions.

new Add support for updating a session

total_income moved from applicant to top level for instabank.invoice and instabank.installment. The field is required, but there will be a grace period of two months before it is enforced. Deprecated applicant.total_income


new Add support for optional metadata when creating a new session.

new Add support for optional merchant_reference_2 when creating a new session

new Add support for delayed callback. You can enable the delay callback feature by including delay_callback=<seconds> query parameter in the callback_url


new: Add support for overriding Netaxept gateway settings

new: Add terminal options for Netaxept creditcard payment. Enable use of Netaxept hosted checkout, and provided custom configuration.

new: Add support for Netaxept.

new: Add support for overriding PayEx gateway settings

new: Include payment token in transaction details

new Added option for using payment token for payments to prefill payment details so the customer (payer) do not need to enter all these details for every purchase.

new Added option for generating payment token for payments, see Use the new option to generate a payment token that can be used in future payments to prefill the details for the creditcard.

new Added instabank.postponement payment type.

new Added swish.swish payment type, direct integration with Swish.


change Add support for ON_HOLD transaction status. The new status is limited to Collector transactions, to signal that the processing of the transaction is not yet completed. The new status will be used in cases where Collector performs aditional controls before approving the payment.

new Add support for setting merchant_reference_2 to an existing transaction and search for transactions by merchant_reference_2.


new Add support for POST callback with the authorized transaction included in the request body. You can enable the POST callback feature by including method=POST query parameter in the callback_url


new Add support for instabank.installment payment

changed: Removed error capture from list of valid error added to the redirect to the url.redirect_url. The error was used for payments with auto-capture enabled, and set in case where the auto capture failed. The merchant can assume the transaction will be captured automatically as soon as possible when creating a session with auto-capture enabled.

changed: A callback (when url.callback_url is set) will now be sent as soon as possible after the transaction is AUTHORIZED. We will no longer wait until the transaction CAPTURED in case when auto-capture is enabled.

change: Add support for creating session with Ingenico enabled

change: Add support for creating session with Ingenico enabled

new Add support for collector.invoice_b2b payment


new Add support for configuring Ingenico gateway

new Add support for enabling Dintero-Signature header for all system-to-system request sent from Dintero to the merchant

fix: Documentation for endpoint GET /v1/admin/api-keys. The resource returns a list of api-keys, not a single api-key.

new Add support for collector.installment payment

new Add support for putting merchant_terms_url in profile and session

new Add support for overriding gateway settings


new Add support for include_session query parameter

new Add support for discount calculation on sessions. The discounts will be calculated when customer is identified

Extend the order and transaction items with new properties to support discount calculation of session:

  • discount_lines
  • gross_amount
  • is_change
  • eligible_for_discount

Support calculating and updating session with discount from:

new Add store property to session.order and transaction. Adds support for including details about the sales location in the order

new Add shipping_option from session.order to to transaction

changed Minor changes to the shipping_option object(s) in sessions

new Add an endpoint for abandon a checkout payment


changed: Express Checkout flow added to sessions

new Update a an Express Checkout session order

new: Extend Transaction with optional billing_address field.


new: Extend Transaction Event with correction field to handle correction of status after operations errors

changed: previously required fields are now optional for

  • mortgage_debt
  • student_debt
  • other_secured_debt

changed: Payments for payment product type instabank.invoice now contain an optional applicant object used for sending more details about the payee. The applicant data will be required for amounts over a limit specified by Instabank.

changed: Payment sessions with instabank.invoice now contains an require_applicant boolean flag in the instabank invoice configuration when getting the session.

changed: Adds detailed debt array to


changed: Disabled instabank.invoice for amounts less than 500 NOK

new: Filter transaction list by payment_product_type:

  • instabank.invoice
  • vipps
  • payex.swish

new: Filter transactions list by card_brand:

  • Visa
  • MasterCard

new: Added optional remember_me boolean to POST pay request body when initializing a payment of a session.



changed: replaced card payment type with payex. The payex payment type adds support for payment product types:

  • payex.swish

changed: Add support for optional custom expires_at parameter when creating a new session either directly or from a profile.

changed: Add support for override of configuration when creating a new session from a profile.

new: support cancel of session

changed: In SessionBase, extend order with partial_payment property that can be used in case where the payment is partial and the order.amount is less or equal to the order.items.amount.


break: Pay with type requires now additional properties to comply with new regulations from Finanstilsynet.

changed: Remove instabank.installment and instabank.postponement payment type. The types will no longer be accepted by:


In SessionMeta renamed field expiry_at to expires_at.

new: PaymentConfiguration extended with optional auto_capture boolean field. If set to true the checkout serivce will automatically capture the payment after the transaction is AUTHORIZED.

new: Add support for checkout with SMS. A SMS with link to the checkout can now be sent when a new session is created. See relevant resources for more information.


fix: Fix documentation for the response from api-keys endpoints. No gateways property will be included in response to api-keys requests.

doc: Document support for JWT Bearer authentication. Use API client to get an JWT access token.


break: Administration of checkout gateways was moved to new endpoints. Gateway configuration will no longer be supported via the PUT /admin/checkout endpoint.


  • POST /admin/gateways/{gateway} (check gateway status)

new: Extend transaction.event with created_by property. Include the user who created the event, i.e. applied an operation to the transaction.


new: Add support for checkout with QR-Code A QR Code can now be generated for a Checkout Session or a Sale Location. See relevant resource for more information.

new: Add support for filter transactions with query parameters. Transactions can now be filtered on: status, payment_product, merchant_reference, session_id, amount and created_at.


new: Add support for session.url.callback_url. Get system-to-system notification when session payment is completed.



Bearer authentication (also called token authentication) should be used when accessing the API.

Use Get Token to get an access token for client credentials

Authorization by using the Bearer schema The content of the header should look like the following:

Authorization: Bearer {access_token}

where the access_token is JSON Web Tokens (JWT).

Security Scheme Type API Key
Header parameter name: Authorization


X-API-Key authentication for accessing regular endpoints. Use Create api-key to create a key.

The content of the header should look like the following:

x-api-key: {api_key}
Security Scheme Type API Key
Header parameter name: x-api-key


X-API-Key authentication for accessing admin endpoints. Use Create api-key to create a key.

The content of the header should look like the following:

x-api-key: {api_key}
Security Scheme Type API Key
Header parameter name: x-api-key


A Checkout Session relates to an order in your system. When an order has been placed you create a corresponding Checkout Session to receive payment for that order.

Create checkout session from profile


Create a corresponding Checkout Session for an order placed in your system using predefined session profile

Session with Instabank

Note that items is a required property when creating a session with Instabank configured.


  • admin:checkout
  • write:checkout
query Parameters

Include all details about the session created

Request Body schema: application/json
object (SessionOrder)
object (SessionUrls)

configuration profile

string <date-time>

Override configuration for the profile.