> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dintero.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Delete session profile

> scopes:
- admin:checkout
- write:checkout:/admin/session/profiles




## OpenAPI

````yaml /mintlify-docs/openapi/spec-checkout.yaml delete /admin/session/profiles/{profile_id}
openapi: 3.0.0
info:
  title: Checkout API
  contact:
    name: API Integration Support
    email: integration@dintero.com
  description: >
    # Changelog


    All notable changes to the API.


    ## 2026-06-15


    > **Update**: Document support for refund with `terminal_id` to perform

    > refund via terminal.

    >

    > - [POST
    /v1/transactions/{id}/refund](/api-reference/transactions/transactions_id_refund_post)


    ## 2026-06-11


    > **Breaking**: Update Kravia transaction event metadata to drop 

    >  `event.metadata.kravia:debtor_id` and `event.metadata.kravia:case_number`

    >

    > - [GET /v1/transactions](/api-reference/transactions/transactions_get)

    > - [GET
    /v1/transactions/{id}](/api-reference/transactions/transactions_id_get)


    ## 2026-06-09


    > **Update**: Loosen validation for `kravia.invoice_b2b_grouped`,
    `kravia.invoice_b2b` and `kravia.invoice_b2c` sessions

    >

    > - [POST
    /v1/sessions/{session_id}/pay](/checkout-api/payment/checkout_sid_pay_post)

    > - [POST
    /v1/sessions/pay](/api-reference/payment/checkout_session_pay_post)


    ## 2026-06-03


    > **Update**: Add `retry_initiated_refund` transaction event intent for
    retrying

    > unsuccessful `INITIATE_REFUND` attempts with payment gateways

    >

    > - [POST
    /v1/events/transaction/{intent}](/checkout-api/gateways/events_transaction_post)


    ## 2026-05-30


    > **Update**: Add `poll_initiated_refund` transaction event intent for
    polling

    > updates on INITIATE_REFUND from payment gateways

    >

    > - [POST
    /v1/events/transaction/{intent}](/checkout-api/gateways/events_transaction_post)


    ## 2026-05-26


    > **Update**: `POST /v1/admin/terminals/operations` now supports re-sending
    an

    > operation regardless of its current state. A pending operation that has
    not

    > yet timed out returns `409 Conflict` with a `Retry-After` header
    indicating

    > when it expires. After the timeout the old operation is marked `TIMEOUT`
    and

    > a new one is dispatched. Added `TIMEOUT` as a possible value for the

    > `TerminalOperation.status` field.

    >

    > - [POST
    /v1/admin/terminals/operations](/checkout-api/terminals/admin_terminals_operations_post)


    ## 2026-05-21


    > **Update**: Add `seitatech` as a supported payout payment product.

    >

    > - [PUT /v1/admin/checkout](/checkout-api/checkout/admin_checkout_id_put)

    > - [GET /v1/admin/checkout](/checkout-api/checkout/admin_checkout_id_get)

    > - [POST /v1/sessions](/checkout-api/session/checkout_session_post)


    ## 2026-05-12


    > **Update**: Move `kravia:payment_details:bank_account:bban`,
    `kravia:payment_details:bank_account:iban`,
    `kravia:payment_details:bank_account:swift` and `kravia:payment_details:kid`
    from Kravia transaction metadata to Kravia transaction event metadata.

    >

    > - [GET /v1/transactions](/api-reference/transactions/transactions_get)

    > - [GET
    /v1/transactions/{id}](/api-reference/transactions/transactions_id_get)


    ## 2026-05-07


    > **Update**: Add Kravia gateway `supported_invoice_channels` configuration.

    >

    > - [PUT /v1/admin/checkout](/checkout-api/checkout/admin_checkout_id_put)


    ## 2026-05-04


    > **new**: Add `age_verification` to `session.configuration`

    >

    > - [POST /v1/sessions](/checkout-api/session/checkout_session_post)

    > - [POST
    /v1/sessions-profile](/api-reference/session/checkout_session_profile_post)


    ## 2026-05-01


    > **Update**: Add `acquirer_bins` to `submit-dintero-psp-visa-click-to-pay`
    operation.

    > It is optional at first, but will be made mandatory and replace
    `acquirer_bin` later.

    >

    > - [POST
    /v1/view/{session_id}/payments/{payment_product_type}](/checkout-api/view/checkout_sid_payments_product_type_post)


    ## 2026-04-29


    > **Breaking**: Rename invoice configuration option
    `invoice_delivery_method` to `invoice_channel`.

    >

    > **New**: Add `metadata.kravia:invoice_channel` to Kravia transactions.

    >

    > - [PUT /v1/admin/checkout](/checkout-api/checkout/admin_checkout_id_put)

    > - [POST /v1/sessions](/checkout-api/session/checkout_session_post)

    > - [POST
    /v1/sessions-profile](/api-reference/session/checkout_session_profile_post)

    > - [GET
    /v1/transactions/{id}](/api-reference/transactions/transactions_id_get)


    ## 2026-04-28


    > **Update**: Add `kravia:invoice_reference`,
    `kravia:payment_details:bank_account:bban`,
    `kravia:payment_details:bank_account:iban`,
    `kravia:payment_details:bank_account:swift` and `kravia:payment_details:kid`
    to kravia transaction metadata

    >

    > - [GET /v1/transactions](/api-reference/transactions/transactions_get)

    > - [GET
    /v1/transactions/{id}](/api-reference/transactions/transactions_id_get)


    ## 2026-04-24


    > **Update**: Add `sca_policy` to `dintero_psp.googlepay`.

    >

    > - [POST /v1/sessions](/checkout-api/session/checkout_session_post)

    > - [POST
    /v1/sessions-profile](/api-reference/session/checkout_session_profile_post)

    > - [GET /v1/sessions](/checkout-api/session/checkout_sessions_get)

    > - [GET
    /v1/sessions/{session_id}](/api-reference/session/checkout_session_get)


    ## 2026-04-23


    > **Update**: Add `authentication_operations` to `error_details`. Operations
    will be included when code is

    > `authentication_required` and will allow SCA and reattempt of payment.

    >

    > - [POST
    /v1/sessions/{session_id}/pay](/checkout-api/payment/checkout_sid_pay_post)


    ## 2026-04-16


    > **Update**: Add `sync_invoice_file` transaction event intent for syncing
    invoice files for supported invoice payment products.

    >

    > - [POST
    /v1/events/transaction/{intent}](/checkout-api/gateways/events_transaction_post)



    ## 2026-04-10


    > **Update**: Add `account_id` to terminal operation response, fix
    `terminal_id` type (removed uuid format)

    >

    > - [POST
    /v1/admin/terminals/operations](/checkout-api/terminals/admin_terminals_operations_post)

    > - [GET
    /v1/admin/terminals/operations](/checkout-api/terminals/admin_terminals_operations_get)


    > **New**: Add optional `save_card_checkbox` value to
    `submit-dintero-psp-creditcard` operation.

    >

    > - [POST
    /v1/view/{session_id}/payments/{payment_product_type}](/checkout-api/view/checkout_sid_payments_product_type_post)


    ## 2026-03-25


    > **New**: Add Two B2B payment support with gateway configuration, redirect
    handling, and order verification callback

    >

    > - [PUT
    /v1/admin/gateways/two](/checkout-api/two-gateway/admin_checkout_id_gw_two_put)

    > - [GET
    /v1/sessions/{session_id}/two/redirect/{redirect_ref}](/checkout-api/two/checkout_sid_two_redirect_get)

    > - [POST
    /v1/sessions/{session_id}/two/callback/{callback_ref}](/checkout-api/two/checkout_two_callback_post)


    ## 2026-03-24


    > **Update**: Extend seitatech transaction with `card` and full ECR event
    metadata fields.

    > Extend `card` type with `entry_method`.

    >

    > - [GET /v1/transactions](/api-reference/transactions/transactions_get)

    > - [GET
    /v1/transactions/{id}](/api-reference/transactions/transactions_id_get)


    ## 2026-03-26


    > **Update**: Support for `customer_reference` on
    `kravia.invoice_b2b_grouped`, `kravia.invoice_b2b` and `kravia.invoice_b2c`
    on session

    >  `billing_address`

    > - [POST
    /v1/sessions/pay](/api-reference/payment/checkout_session_pay_post)


    ## 2026-03-20


    > **Update**: Include `transaction_event_id` in `AUTH_CALLBACK_SENT` session

    > events details

    > - [GET
    /v1/sessions/{session_id}](/api-reference/session/checkout_session_get)


    ## 2026-03-18


    > **Update**: Support for `require_identity_verification` on
    `kravia.invoice_b2c` sessions

    > events details

    > - [POST
    /v1/sessions/{session_id}](/checkout-api/session/checkout_session_post)

    > - [GET
    /v1/sessions/{session_id}](/api-reference/session/checkout_session_get)


    ## 2026-03-13


    > **New**: Add terminal operations endpoints for sending commands to
    terminals

    >

    > - [POST
    /v1/admin/terminals/operations](/checkout-api/terminals/admin_terminals_operations_post)

    > - [GET
    /v1/admin/terminals/operations/{operation_id}](#operation/admin_terminals_operations_id_get)


    ## 2026-03-10


    > **Update**: Switch `external_token_reference` to
    `external_token_references` for card tokens

    > - [GET
    /v1/card-tokens/{token_id}](/checkout-api/card-tokens/card_tokens_token_id_get)

    > - [GET /v1/card-tokens](/checkout-api/card-tokens/card_tokens_get)


    ## 2026-03-04


    > **Update**: Add `invoice_purchase` as pay operation and
    `kravia.invoice_b2c` and `kravia.invoice_b2b` payment products.

    >

    > - [POST
    /v1/sessions/pay](/api-reference/payment/checkout_session_pay_post)



    ## 2026-03-02


    > **New**: Add `generate_payment_token_config` to `dintero_psp.creditcard`
    configuration.

    >

    > - [POST /v1/session](/checkout-api/session/checkout_session_post)

    > - [POST
    /v1/session-profile](/api-reference/session/checkout_session_profile_post)


    ## 2026-02-27


    > **Update**: Add seitatech transaction event metadata fields
    `payout_correlation_id`, `seitatech:receiptNumber` and `seitatech:outcome`

    >

    > - [GET /v1/transactions](/api-reference/transactions/transactions_get)

    > - [GET
    /v1/transactions/{id}](/api-reference/transactions/transactions_id_get)


    > **Update**: Add `acquirer_merchant_id` and `acquirer_bin` to Click to Pay
    payment operation data.

    >

    > - [POST
    /v1/view/{session_id}/payments/{payment_product_type}](/checkout-api/view/checkout_sid_payments_product_type_post)


    ## 2026-02-11


    > **new**: Add support for default behaviour when different customer
    addresses are allowed on payment profiles.

    >

    > - [GET
    /v1/admin/sessions/profiles](/checkout-api/profiles/admin_session_profile_get)

    > - [POST
    /v1/admin/sessions/profiles](/checkout-api/profiles/admin_session_profile_post)

    > - [GET
    /v1/admin/sessions/profiles/{profile_id}](/checkout-api/profiles/admin_session_profile_details_get)

    > - [PUT
    /v1/admin/session/profiles/{profile_id}](/checkout-api/profiles/admin_session_profile_details_put)

    > - [DELETE
    /v1/admin/session/profiles/{profile_id}](#operation/admin_session_profile_delete)


    ## 2026-02-10


    > **New**: Add support for `seitatech.in_person` payment type

    >

    > - [POST /v1/sessions](/checkout-api/session/checkout_session_post)

    > - [POST
    /v1/sessions-profile](/api-reference/session/checkout_session_profile_post)


    > **Update**: Add `payout_destination_id` to `order.store` for merchant of
    record

    >

    > - [POST /v1/sessions](/checkout-api/session/checkout_session_post)


    ## 2026-02-18


    > **Update**: Document support for `external_token_reference` for card
    tokens

    > - [GET
    /v1/card-tokens/{token_id}](/checkout-api/card-tokens/card_tokens_token_id_get)

    > - [GET /v1/card-tokens](/checkout-api/card-tokens/card_tokens_get)


    ## 2026-02-09


    > **update**: Update Kravia transaction event metadata to include
    `event.metadata.kravia:invoice_date`,`event.metadata.kravia:invoice_due_date`

    > `event.metadata.kravia:invoice_number`,
    `event.metadata.kravia:creditor_id`, `event.metadata.kravia:debtor_id`,
    `event.metadata.kravia:invoice_id` and `event.metadata.kravia:case_number`

    >

    > - [GET /v1/transactions](/api-reference/transactions/transactions_get)

    > - [GET
    /v1/transactions/{id}](/api-reference/transactions/transactions_id_get)


    ## 2026-02-05


    > **new**: Add support for default behaviour when different customer
    addresses are allowed on new sessions.

    >

    > - [POST /v1/sessions](/checkout-api/session/checkout_session_post)

    > - [POST
    /v1/sessions-profile](/api-reference/session/checkout_session_profile_post)

    > - [GET /v1/sessions](/checkout-api/session/checkout_sessions_get)

    > - [GET
    /v1/sessions/{session_id}](/api-reference/session/checkout_session_get)


    ## 2026-02-04


    > **new**: Add support for payments using Two

    > - [POST
    /v1/view/{session_id}/payments/{payment_product_type}](/checkout-api/view/checkout_sid_payments_product_type_post)

    > - [POST
    /v1/sessions/{session_id}/pay](/checkout-api/payment/checkout_sid_pay_post)


    ## 2026-02-04


    > **new**: Add support for configuring invoice delivery method for Kravia
    invoice payments.

    > The `invoice_delivery_method` option controls whether Dintero delivers the
    invoice or the

    > merchant delivers it themselves.

    > - Transaction metadata includes `kravia:invoice_url` for PDF download

    >

    > - [PUT /v1/admin/checkout](/checkout-api/checkout/admin_checkout_id_put)

    > - [POST /v1/sessions](/checkout-api/session/checkout_session_post)

    > - [POST
    /v1/sessions-profile](/api-reference/session/checkout_session_profile_post)

    > - [GET
    /v1/transactions/{id}](/api-reference/transactions/transactions_id_get)


    ## 2026-01-28


    > **Update**: Document `/transactions/{id}/authorization` behaviour on
    `dintero.external` payments

    >

    > - [POST
    /v1/transactions/{id}/authorization](/api-reference/transactions/transaction_tid_extend_authorization_post)


    ## 2026-01-27


    > **New**: Add support for `dintero.external` payments

    >

    > - [POST
    /v1/sessions/{session_id}/pay](/checkout-api/payment/checkout_sid_pay_post)

    > - [POST /v1/sessions](/checkout-api/session/checkout_session_post)

    > - [POST
    /v1/sessions-profile](/api-reference/session/checkout_session_profile_post)

    > - [GET /v1/sessions](/checkout-api/session/checkout_sessions_get)

    > - [GET
    /v1/sessions/{session_id}](/api-reference/session/checkout_session_get)

    > - [POST
    /v1/sessions/{session_id}/cancel](/api-reference/session/checkout_session_cancel_post)

    > - [POST /v1/admin/checkout](/checkout-api/checkout/admin_checkout_id_put)


    ## 2026-01-26


    > **new:** Add support for appswitch deeplink URL for `swish.swish` sessions

    > with `channel=in_app` set.

    >

    > - [POST /v1/session](/checkout-api/session/checkout_session_post)

    > - [POST
    /v1/session-profile](/api-reference/session/checkout_session_profile_post)



    > **New**: Add support for `platform_type` in checkout configuration and
    transactions.

    > Indicates if the merchant operates as an `aggregator` or `marketplace`.

    > - [POST /v1/sessions](/checkout-api/session/checkout_session_post)

    > - [POST
    /v1/sessions-profile](/api-reference/session/checkout_session_profile_post)

    > - [GET /v1/transactions](/api-reference/transactions/transactions_get)

    > - [GET
    /v1/transactions/{id}](/api-reference/transactions/transactions_id_get)


    ## 2026-01-21


    > **new**: Add support for files, which will be used to retrieve files
    associated with transactions or sessions.

    >  Accessing the file will require an authorized request to request a
    downloadable URL to access the file.

    > - [GET /v1/files/{fid}](/checkout-api/files/files_fid_get)


    ## 2026-01-20


    > **Update**: Add retry policy and change enum values for `type` in error in
    transaction events. Change `type` to be an array

    > - [GET /v1/transactions](/api-reference/transactions/transactions_get)

    > - [GET
    /v1/transactions/{id}](/api-reference/transactions/transactions_id_get)

    > - [GET /v1/sessions/pay](/api-reference/payment/checkout_session_pay_post)


    ## 2026-01-01


    > **Update**: Document support for card type `Prepaid` in
    `transaction.card.type`

    > - [GET /v1/transactions](/api-reference/transactions/transactions_get)

    > - [GET
    /v1/transactions/{id}](/api-reference/transactions/transactions_id_get)


    ## 2025-12-19


    > **breaking**: Remove `notification_events_webhook_secret` from Kravia
    gateway configuration

    > - [PUT
    /v1/admin/gateways/kravia](/checkout-api/kravia-gateway/admin_checkout_id_gw_kravia_put)



    ## 2025-11-30


    > **Update**: Document support for `channel` for payment token sessions

    > - [POST
    /v1/sessions/payment-token](/api-reference/session/checkout_payment_token_session_post)


    > **Update**: Document support for `transaction_id` for card tokens

    > - [GET
    /v1/card-tokens/{token_id}](/checkout-api/card-tokens/card_tokens_token_id_get)

    > - [GET /v1/card-tokens](/checkout-api/card-tokens/card_tokens_get)


    > **Update**: Document support for store object on order items

    > - [POST
    /v1/sessions-profile](/api-reference/session/checkout_session_profile_post)

    > - [POST /v1/sessions](/checkout-api/session/checkout_session_post)


    > **Update**: Document support for `seitatech.in_person` payment options.

    > - [POST
    /v1/sessions-profile](/api-reference/session/checkout_session_profile_post)

    > - [POST /v1/sessions](/checkout-api/session/checkout_session_post)

    > - [POST
    /v1/sessions/{session_id}/pay](/checkout-api/payment/checkout_sid_pay_post)


    ## 2025-11-07


    > **update** Define `country` in `SessionRead` and
    `applepay.details.domain_names` for DinteroPspConfiguration

    >

    > - [POST /v1/sessions](/checkout-api/session/checkout_session_post)

    > - [POST
    /v1/sessions-profile](/api-reference/session/checkout_session_profile_post)

    > - [GET /v1/sessions](/checkout-api/session/checkout_sessions_get)

    > - [GET
    /v1/sessions/{session_id}](/api-reference/session/checkout_session_get)

    > - [GET
    /v1/admin/sessions/profiles](/checkout-api/profiles/admin_session_profile_get)

    > - [POST
    /v1/admin/sessions/profiles](/checkout-api/profiles/admin_session_profile_post)

    > - [GET
    /v1/admin/sessions/profiles/{profile_id}](/checkout-api/profiles/admin_session_profile_details_get)

    > - [PUT
    /v1/admin/session/profiles/{profile_id}](/checkout-api/profiles/admin_session_profile_details_put)

    > - [DELETE
    /v1/admin/session/profiles/{profile_id}](#operation/admin_session_profile_delete)


    ## 2025-11-05


    > **new**: Support setting `test_processor` in details for payment options

    > - [PUT /v1/admin/checkout](/checkout-api/checkout/admin_checkout_id_put)


    > **new**: Add support for payments using Kravia

    > - [POST
    /v1/view/{session_id}/payments/{payment_product_type}](/checkout-api/view/checkout_sid_payments_product_type_post)

    > - [POST
    /v1/sessions/{session_id}/pay](/checkout-api/payment/checkout_sid_pay_post)


    ## 2025-11-02


    > **new**: Add support for enabling Kravia payment when creating payment
    sessions

    > - [POST
    /v1/sessions-profile](/api-reference/session/checkout_session_profile_post)

    > - [POST /v1/sessions](/checkout-api/session/checkout_session_post)

    > - [POST
    /v1/admin/session/profiles](/checkout-api/profiles/admin_session_profile_post)

    > - [PUT
    /v1/admin/session/profiles/{profile_id}](/checkout-api/profiles/admin_session_profile_details_put)

    > - [PUT /v1/admin/checkout](/checkout-api/checkout/admin_checkout_id_put)


    ## 2025-11-01


    > **Update**: Add support for pre-authorization on dintero_psp.creditcard
    unscheduled MIT payment.

    >

    > - [POST
    /v1/sessions/pay](/api-reference/payment/checkout_session_pay_post)

    > - [POST
    /v1/transactions/{id}/authorization](/api-reference/transactions/transaction_tid_extend_authorization_post)

    > - [PUT /v1/admin/checkout](/checkout-api/checkout/admin_checkout_id_put)


    ## 2025-10-30


    > **new**: Add support for configuring Kravia gateway

    > - [PUT
    /v1/admin/gateways/kravia](/checkout-api/kravia-gateway/admin_checkout_id_gw_kravia_put)


    > **update**: Include Kravia gateway and credentials details

    > - [GET /v1/admin/checkout](/checkout-api/checkout/admin_checkout_id_get)


    > **Update**: Add support for token payments using Google Pay or
    Click-to-pay via Dintero PSP

    >

    > - [POST /v1/sessions](/checkout-api/session/checkout_session_post)

    > - [POST
    /v1/sessions-profile](/api-reference/session/checkout_session_profile_post)

    > - [GET /v1/sessions](/checkout-api/session/checkout_sessions_get)

    > - [GET
    /v1/sessions/{session_id}](/api-reference/session/checkout_session_get)

    > - [POST
    /v1/sessions/payment_token](/api-reference/session/checkout_payment_token_session_post)


    ## 2025-10-29


    > **new**: Add new payment configuration flag to allow express wallet
    payment in the Checkout UI

    >

    > - [POST /v1/sessions](/checkout-api/session/checkout_session_post)

    > - [POST
    /v1/sessions-profile](/api-reference/session/checkout_session_profile_post)

    > - [GET /v1/sessions](/checkout-api/session/checkout_sessions_get)

    > - [GET
    /v1/sessions/{session_id}](/api-reference/session/checkout_session_get)

    > - [GET
    /v1/admin/sessions/profiles](/checkout-api/profiles/admin_session_profile_get)

    > - [POST
    /v1/admin/sessions/profiles](/checkout-api/profiles/admin_session_profile_post)

    > - [GET
    /v1/admin/sessions/profiles/{profile_id}](/checkout-api/profiles/admin_session_profile_details_get)

    > - [PUT
    /v1/admin/session/profiles/{profile_id}](/checkout-api/profiles/admin_session_profile_details_put)

    > - [DELETE
    /v1/admin/session/profiles/{profile_id}](#operation/admin_session_profile_delete)


    ## 2025-10-20


    > **Update**: Add support for including `billing_address` and
    `shipping_address` in the `pay` request

    > for `dintero_psp.googlepay` payment product type.

    >

    > - [POST
    /v1/sessions/{session_id}/pay](/checkout-api/payment/checkout_sid_pay_post)


    ## 2025-10-15


    > **Update**: Add support for dintero_psp.clicktopay payment

    >

    > - [POST
    /v1/view/{session_id}/payments/{payment_product_type}](/checkout-api/view/checkout_sid_payments_product_type_post)

    > - [POST
    /v1/sessions/{session_id}/pay](/checkout-api/payment/checkout_sid_pay_post)

    > - [POST /v1/sessions](/checkout-api/session/checkout_session_post)

    > - [POST
    /v1/sessions-profile](/api-reference/session/checkout_session_profile_post)

    > - [GET /v1/sessions](/checkout-api/session/checkout_sessions_get)

    > - [GET
    /v1/sessions/{session_id}](/api-reference/session/checkout_session_get)

    > - [POST
    /v1/sessions/{session_id}/cancel](/api-reference/session/checkout_session_cancel_post)

    > - [POST /v1/admin/checkout](/checkout-api/checkout/admin_checkout_id_put)

    >

    > **Update**: Add payment operation for Visa Click-to-Pay with rel
    `submit-dintero-psp-visa-click-to-pay`. Includes

    > `supported_networks`, `dpa_id` and `dpa_client_id` to be used with the
    Visa UCtP SDK.

    >

    > - [POST
    /v1/view/{session_id}/payments/{payment_product_type}](/checkout-api/view/checkout_sid_payments_product_type_post)


    ## 2025-10-13


    > **Update**: Add support for including `billing_address` and
    `shipping_address` in the `pay` request

    > for `dintero_psp.applepay` payment product type.

    >

    > - [POST
    /v1/sessions/{session_id}/pay](/checkout-api/payment/checkout_sid_pay_post)


    ## 2025-10-01


    > **Update**: Update capture/refund endpoint to support including metadata

    > about the operation.

    > - [POST
    /v1/transactions/{id}/capture](/api-reference/transactions/transactions_id_capture_post)

    > - [POST
    /v1/transactions/{id}/refund](/api-reference/transactions/transactions_id_refund_post)


    ## 2025-09-05


    > **Update**: Update return value for `submit-dintero-psp-googlepay` to
    return `supported_networks`, `gateway_merchant_id`

    > `googlepay_merchant_id` and `gateway_id` for use when configuring Google
    Pay on the client.

    > - [POST
    /v1/view/{session_id}/payments/{payment_product_type}](/checkout-api/view/checkout_sid_payments_product_type_post)


    > **Update**: Override gateway_id in sync_status request for Klarna

    > - [POST
    /v1/events/transaction/sync_status](/checkout-api/gateways/events_transaction_post)


    ## 2025-08-25


    > **Update**: Add support for dintero_psp.googlepay

    > - [POST
    /v1/view/{session_id}/payments/{payment_product_type}](/checkout-api/view/checkout_sid_payments_product_type_post)

    > - [POST
    /v1/sessions/{session_id}/pay](/checkout-api/payment/checkout_sid_pay_post)

    > - [POST /v1/sessions](/checkout-api/session/checkout_session_post)

    > - [POST
    /v1/sessions-profile](/api-reference/session/checkout_session_profile_post)

    > - [GET /v1/sessions](/checkout-api/session/checkout_sessions_get)

    > - [GET
    /v1/sessions/{session_id}](/api-reference/session/checkout_session_get)

    > - [POST
    /v1/sessions/{session_id}/cancel](/api-reference/session/checkout_session_cancel_post)


    ## 2025-08-04


    > **New**: Define new scopes to support admin tasks without needing
    `admin:checkout`:

    > - `write:checkout:/admin/gateways`

    > - `write:checkout:/admin/checkout`

    > - [PUT /v1/admin/checkout](/checkout-api/checkout/admin_checkout_id_put)

    > - [POST
    /v1/admin/gateways/{gateway}/status](/checkout-api/gateways/admin_checkout_gw_type_status_post)


    ## 2025-08-03


    > **New**: Define new scope `write:checkout:/admin/session/profiles` for
    C/U/D operations on payment profiles.

    > - [POST
    /v1/admin/sessions/profiles](/checkout-api/profiles/admin_session_profile_post)

    > - [PUT
    /v1/admin/session/profiles/{profile_id}](/checkout-api/profiles/admin_session_profile_details_put)

    > - [DELETE
    /v1/admin/session/profiles/{profile_id}](#operation/admin_session_profile_delete)


    ## 2025-08-02


    > **New**: Define `Viewer-Country` in response headers of view session
    response.

    > - [GET
    /view/{session_id}/session](/checkout-api/view/checkout_sid_json_get)


    ## 2025-08-01


    > **New**: Add `metadata.merchant_country` and
    `metadata.merchant_category_code` properties to transaction.

    > - [GET /v1/transactions](/api-reference/transactions/transactions_get)

    > - [GET
    /v1/transactions/{id}](/api-reference/transactions/transactions_id_get)


    ## 2025-07-30


    > **Update**: Document optional query parameter, `payment_return_url`, that
    will be appended to return URL

    > for when redirects should go to the appswitch URL instead of Dintero
    Checkout API.

    > - [POST
    /v1/sessions-profile](/api-reference/session/checkout_session_profile_post)

    > - [POST /v1/sessions](/checkout-api/session/checkout_session_post)


    ## 2025-06-25


    > **Update**: Add `dintero_psp.vipps` to the session configuration

    > - [POST /v1/sessions](/checkout-api/session/checkout_session_post)

    > - [POST
    /v1/sessions-profile](/api-reference/session/checkout_session_profile_post)


    ## 2025-06-03


    > **Update**: Add support for `dintero_psp.vipps` payment product

    > - [POST
    /v1/sessions/{session_id}/pay](/checkout-api/payment/checkout_sid_pay_post)


    ## 2025-06-01


    > **update**: Document support for `overwrite_payout_destination_id` in
    payout

    > `dynamic_payout_destination` configuration. The new option can be used to

    > overwrite `order.payout_destination_id` set by clients creating payment

    > sessions.

    > - [POST /v1/sessions](/checkout-api/session/checkout_session_post)

    > - [POST
    /v1/sessions-profile](/api-reference/session/checkout_session_profile_post)


    > **update**: Document support for `verified_identity` for Collector
    (Walley)

    > transactions

    > - [GET
    /v1/transactions/{id}](/api-reference/transactions/transactions_id_get)

    > - [GET /v1/transactions](/api-reference/transactions/transactions_get)


    > **update**: Document support for `authorization_code` for Collector
    (Walley)

    > B2B payment product types

    > - [POST
    /v1/sessions/pay](/api-reference/payment/checkout_session_pay_post)


    > **update**: Remove `recurrence_token` concept for `dintero_psp.creditcard`

    > All tokens for dintero_psp are now of type `payment_token`.

    > A `dintero_psp.creditcard` `payment_token` can be used for CIT,
    unscheduled MIT and recurring MIT.

    >

    > - [POST /v1/sessions](/checkout-api/session/checkout_session_post)

    > - [POST
    /v1/sessions-profile](/api-reference/session/checkout_session_profile_post)

    > - [POST
    /v1/sessions/payment-token](/api-reference/session/checkout_payment_token_session_post)

    > - [POST
    /v1/sessions/pay](/api-reference/payment/checkout_session_pay_post)

    > - [GET
    /v1/transactions/{id}](/api-reference/transactions/transactions_id_get)


    > **new**: Add support for Token Management.

    > Allows users to manage their payment and recurrence tokens.

    > - [GET
    /v1/card-tokens/{token_id}](/checkout-api/card-tokens/card_tokens_token_id_get)

    > - [DELETE
    /v1/card-tokens/{token_id}](/checkout-api/card-tokens/card_tokens_token_id_delete)

    > - [GET /v1/card-tokens](/checkout-api/card-tokens/card_tokens_get)

    > - [GET /v1/transactions](/api-reference/transactions/transactions_get)


    > **new**:

    > Add support for dintero_psp gateway configuration
    `dintero_psp.token_scope`.

    > - [PUT
    /v1/admin/gateways/dintero_psp](/checkout-api/dintero-psp-gateway/admin_checkout_id_gw_psp_put)


    > **new**:

    > Add support for dintero_psp configuration `token_supported_auth_methods`,

    > indicating which authentication methods to support during token
    authentication flows.

    > - [PUT
    /v1/admin/gateways/dintero_psp](/checkout-api/dintero-psp-gateway/admin_checkout_id_gw_psp_put)

    > - [POST
    /v1/sessions-profile](/api-reference/session/checkout_session_profile_post)

    > - [POST /v1/sessions](/checkout-api/session/checkout_session_post)

    > - [POST
    /v1/sessions/payment-token](/api-reference/session/checkout_payment_token_session_post)


    ## 2025-05-01


    > **new**: Extend `transaction.card` to support field `product_platform`,

    > indicating whether the card is `"consumer"` or `"commercial"`.

    >

    > **new**: Extend `transaction.card.region` to support enum values
    `"eea-uk"` and `"europe"`.

    >

    > - [GET /v1/transactions](/api-reference/transactions/transactions_get)

    > - [GET
    /v1/transactions/{id}](/api-reference/transactions/transactions_id_get)

    > - [PUT
    /v1/transactions/{id}](/api-reference/transactions/transactions_id_put)

    > - [POST
    /v1/transactions/{id}/capture](/api-reference/transactions/transactions_id_capture_post)

    > - [POST
    /v1/transactions/{id}/authorization](/api-reference/transactions/transaction_tid_extend_authorization_post)

    > - [POST
    /v1/transactions/{id}/refund](/api-reference/transactions/transactions_id_refund_post)

    > - [POST
    /v1/transactions/{id}/void](/api-reference/transactions/transactions_id_void_post)

    > - [POST
    /v1/transactions/events/settlements](/checkout-api/transactions/transactions_events_settlements_post)


    > **update**: Support for multiple shipments.

    > For multiple shipments we have a single top-level shipping object that
    contains

    > the shipments for the order. The shipping options defined in `shipments`
    must contain

    > `shipment_items` that define what items belong to what shipment.

    >

    > - [POST
    /v1/sessions-profile](/api-reference/session/checkout_session_profile_post)

    > - [POST /v1/sessions](/checkout-api/session/checkout_session_post)

    > - [GET /v1/sessions](/checkout-api/session/checkout_sessions_get)

    > - [PUT
    /v1/sessions/{session_id}](/api-reference/session/checkout_session_put)

    > - [GET
    /v1/sessions/{session_id}](/api-reference/session/checkout_session_get)

    > - [GET
    /view/{session_id}/session](/checkout-api/view/checkout_sid_json_get)

    > - [POST
    examples/shipping_address_callback_url](/api-reference/example-session-callbacks/example_shipping_address_callback_url)

    > - [POST
    examples/session_url_callback](/api-reference/example-session-callbacks/example_session_post_callback_url)

    > - [GET
    /v1/transactions/{id}](/api-reference/transactions/transactions_id_get)


    ## 2025-04-01


    > **Fix**: Add missing documentation for `PARTIALLY_CAPTURED_REFUNDED`

    > status in Transaction and TransactionEvent


    ## 2025-03-01


    > **new**: Extend `session.order` to support `event_reference`, to provide
    "default"

    > `event_reference` in case auto capture is enabled and Swish transactions

    > - [POST /v1/sessions](/checkout-api/session/checkout_session_post)

    > - [POST
    /v1/sessions-profile](/api-reference/session/checkout_session_profile_post)


    > **new**: Extend `session.configuration.channel` to support `ecommerce` and

    > update transaction model to include `channel`

    > - [POST /v1/sessions](/checkout-api/session/checkout_session_post)

    > - [POST
    /v1/sessions-profile](/api-reference/session/checkout_session_profile_post)

    > - [GET
    /v1/transactions/{id}](/api-reference/transactions/transactions_id_get)


    > **new**: Add support for Dintero PSP tokenization.

    > Set tokenizer config on gateway configuration (prerequisite).

    > Request payment token on zero and non-zero amount session.

    > Request recurernce token on zero amount session.

    > Use payment token on payment to perform unscheduled MIT or CIT.

    > Use recurernce token on payment to perform recurring MIT.

    >

    > - [PUT
    /v1/admin/gateways/dintero_psp](/checkout-api/dintero-psp-gateway/admin_checkout_id_gw_psp_put)

    > - [POST /v1/sessions](/checkout-api/session/checkout_session_post)

    > - [POST
    /v1/sessions-profile](/api-reference/session/checkout_session_profile_post)

    > - [POST
    /v1/sessions/payment-token](/api-reference/session/checkout_payment_token_session_post)

    > - [POST
    /v1/sessions/pay](/api-reference/payment/checkout_session_pay_post)


    > **new**: Add support for `includes=events.latest` query param.

    >

    > This lets you optionally include only the latest event in the session
    events

    > array when getting all sessions.

    > This is useful if you e.g. want to know the latest status of the sessions

    > but don't need the rest of the events and their data.

    >

    > - [GET /v1/sessions](/checkout-api/session/checkout_sessions_get)


    > **new**: Add support for `updated_order_result` and
    `updated_express_result`

    > object properties on session event details to indicate how a session
    update

    > modified the session.order or session.express data on the session.


    > **new**: Add support for `includes=session.events.latest` to include the

    > session that the transaction resulted from, but with only the latest event

    > in the session's events array.

    >

    > - [GET
    /v1/transactions/{id}](/api-reference/transactions/transactions_id_get)


    ## 2025-02-03


    > **update**: `working_days` is now a range of integers to represent
    duration of working days

    >

    > - [POST
    /v1/sessions-profile](/api-reference/session/checkout_session_profile_post)

    > - [POST /v1/sessions](/checkout-api/session/checkout_session_post)

    > - [GET /v1/sessions](/checkout-api/session/checkout_sessions_get)

    > - [PUT
    /v1/sessions/{session_id}](/api-reference/session/checkout_session_put)

    > - [GET
    /v1/sessions/{session_id}](/api-reference/session/checkout_session_get)

    > - [GET
    /view/{session_id}/session](/checkout-api/view/checkout_sid_json_get)

    > - [POST
    examples/shipping_address_callback_url](/api-reference/example-session-callbacks/example_shipping_address_callback_url)

    > - [POST
    examples/session_url_callback](/api-reference/example-session-callbacks/example_session_post_callback_url)


    ## 2025-02-02


    > **update**: Add restrictions on integer used for `working_days`,
    `shipping_day_of_week` and `arrival_day_of_week`

    >

    > - [POST
    /v1/sessions-profile](/api-reference/session/checkout_session_profile_post)

    > - [POST /v1/sessions](/checkout-api/session/checkout_session_post)

    > - [GET /v1/sessions](/checkout-api/session/checkout_sessions_get)

    > - [PUT
    /v1/sessions/{session_id}](/api-reference/session/checkout_session_put)

    > - [GET
    /v1/sessions/{session_id}](/api-reference/session/checkout_session_get)

    > - [GET
    /view/{session_id}/session](/checkout-api/view/checkout_sid_json_get)

    > - [POST
    examples/shipping_address_callback_url](/api-reference/example-session-callbacks/example_shipping_address_callback_url)

    > - [POST
    examples/session_url_callback](/api-reference/example-session-callbacks/example_session_post_callback_url)


    ## 2025-02-01


    > **update**: Make `phone_number` an optional instead of required property
    for the following Swish payment types:

    >

    > - `swish.swish`

    >

    > This change was made to also support the M-Commerce payment flow.

    >

    > - [POST
    /v1/sessions/{session_id}/pay](/checkout-api/payment/checkout_sid_pay_post)


    ## 2025-01-21


    > **new**: Add relative time properties on `eta` of a shipping option

    >

    > - [POST
    /v1/sessions-profile](/api-reference/session/checkout_session_profile_post)

    > - [POST /v1/sessions](/checkout-api/session/checkout_session_post)

    > - [GET /v1/sessions](/checkout-api/session/checkout_sessions_get)

    > - [PUT
    /v1/sessions/{session_id}](/api-reference/session/checkout_session_put)

    > - [GET
    /v1/sessions/{session_id}](/api-reference/session/checkout_session_get)

    > - [GET
    /view/{session_id}/session](/checkout-api/view/checkout_sid_json_get)

    > - [POST
    examples/shipping_address_callback_url](/api-reference/example-session-callbacks/example_shipping_address_callback_url)

    > - [POST
    examples/session_url_callback](/api-reference/example-session-callbacks/example_session_post_callback_url)


    > **new**: Add support for filtering transactions by `payout_destination_id`

    >

    > - [GET /v1/transactions](/api-reference/transactions/transactions_get)

    >


    > **update**: Make `phone_number` an optional instead of required property
    for the following Vipps payment types:

    >

    > - `vipps`

    > - `bambora.vipps`

    > - `payex.vipps`

    >

    > This change was made to simplify the Vipps checkout flow and increase
    conversion.

    >

    > - [POST
    /v1/sessions/{session_id}/pay](/checkout-api/payment/checkout_sid_pay_post)


    ## 2024-12-04


    > **new**: Support `vipps.epayment` through `gateway_api_version`.

    >

    > - [PUT /v1/admin/checkout](/checkout-api/checkout/admin_checkout_id_put)


    ## 2024-11-25


    > **update**: Add support for new payment type `bambora.googlepay`

    >

    > - [POST /v1/admin/sessions](/checkout-api/session/checkout_session_post)

    > - [POST
    /v1/admin/sessions_profile](/api-reference/session/checkout_session_profile_post)

    > - [POST
    /v1/admin/session/profiles](/checkout-api/profiles/admin_session_profile_post)

    > - [GET
    /v1/admin/session/profiles/{profile_id}](/checkout-api/profiles/admin_session_profile_details_get)

    > - [PUT
    /v1/admin/session/profiles/{profile_id}](/checkout-api/profiles/admin_session_profile_details_put)

    > - [POST
    /v1/view/{session_id}/payments/bambora.googlepay](/checkout-api/view/checkout_sid_payments_product_type_post)


    ## 2024-11-19


    > **update**: Add support for `includes=event.success.true` to only

    > include successful events in transaction response

    >

    > - [GET
    /v1/transactions/{id}](/api-reference/transactions/transactions_id_get)

    > - [GET /v1/transactions](/api-reference/transactions/transactions_get)


    ## 2024-11-16


    > **update**: Add support for defining `opening_hours` and `website_url` in
    `pick_up_address` for a shipping option

    >

    > - [POST /v1/sessions](/checkout-api/session/checkout_session_post)

    > - [POST
    /v1/sessions-profile](/api-reference/session/checkout_session_profile_post)


    ## 2024-11-15


    > **update**: Add support for new payment type `bambora.applepay`

    >

    > - [POST /v1/admin/sessions](/checkout-api/session/checkout_session_post)

    > - [POST
    /v1/admin/sessions_profile](/api-reference/session/checkout_session_profile_post)

    > - [POST
    /v1/admin/session/profiles](/checkout-api/profiles/admin_session_profile_post)

    > - [GET
    /v1/admin/session/profiles/{profile_id}](/checkout-api/profiles/admin_session_profile_details_get)

    > - [PUT
    /v1/admin/session/profiles/{profile_id}](/checkout-api/profiles/admin_session_profile_details_put)

    > - [POST
    /v1/view/{session_id}/payments/bambora.applepay](/checkout-api/view/checkout_sid_payments_product_type_post)


    ## 2024-11-01


    > **update**: Add support for `pay_in_store.type=full` in shipping_option to

    > enable pay during pick-up.

    >

    > - [POST /v1/sessions](/checkout-api/session/checkout_session_post)

    > - [POST
    /v1/sessions-profile](/api-reference/session/checkout_session_profile_post)


    ## 2024-10-15


    > **update**: Add support for
    `order_store_id_as_order_payout_destination_id`

    > dynamic_payout_destination_ids type to support auto selecting

    > payout_destination_id to be equal to the order store id

    >

    > - [POST
    /v1/admin/sessions/profiles](/checkout-api/profiles/admin_session_profile_post)


    ## 2024-08-01


    > **update**: Make the `social_security_number` for `collector.invoice`

    > and `collector.installment` optional for the pay endpoint. The

    > property is not needed for payments where BankId is required

    >

    > - [POST
    /v1/sessions/{session_id}/pay](/checkout-api/payment/checkout_sid_pay_post)


    > **update**: Update request body validation for set gift card endpoint to
    only

    > require `pin` if `type` is set to `dintero.wallets.card_token`.

    >

    > - [PUT
    /v1/view/{session_id}/session/order/gift_cards](/checkout-api/view/checkout_sid_json_order_gift_cards_put)


    > **new**: Add payment operation `pay-bambora-creditcard-cit`, using Bambora
    CIT token to get card info.

    >

    > - [POST
    /v1/sessions/{session_id}/payments/bambora.creditcard](/checkout-api/view/checkout_sid_payments_product_type_post)


    > **new**: Add support for creating session with Bambora payment token.

    >

    > - [POST /v1/sessions](/checkout-api/session/checkout_session_post)

    > - [POST
    /v1/sessions-profile](/api-reference/session/checkout_session_profile_post)


    > **new**: Add support for paying with Bambora CIT token

    >

    > - [POST
    /v1/sessions/{session_id}/pay](/checkout-api/payment/checkout_sid_pay_post)


    > **new**: Add new session intent endpoint with support for `poll_initiated`

    >

    > - [POST
    /v1/events/session/{intent}](/checkout-api/gateways/events_session_post)


    ## 2024-07-01


    > **new**: Document unsupported payment methods for Dintero gift cards.

    >

    > - [POST
    /v1/sessions-profile](/api-reference/session/checkout_session_profile_post)

    > - [POST /v1/sessions](/checkout-api/session/checkout_session_post)


    ## 2024-07-01

    >

    > **update**: Add intent type `extend_authorization` to events intent
    endpoint

    >

    > - [POST
    /v1/events/transaction/{intent}](/checkout-api/gateways/events_transaction_post)


    ## 2024-06-02


    > **update**: Define `gift_cards` for session orders

    >

    > - [POST
    /v1/sessions-profile](/api-reference/session/checkout_session_profile_post)

    > - [POST /v1/sessions](/checkout-api/session/checkout_session_post)

    > - [GET /v1/sessions](/checkout-api/session/checkout_sessions_get)

    > - [PUT
    /v1/sessions/{session_id}](/api-reference/session/checkout_session_put)

    > - [GET
    /v1/sessions/{session_id}](/api-reference/session/checkout_session_get)

    > - [GET
    /view/{session_id}/session](/checkout-api/view/checkout_sid_json_get)

    > - [POST
    examples/shipping_address_callback_url](/api-reference/example-session-callbacks/example_shipping_address_callback_url)

    > - [POST
    examples/session_url_callback](/api-reference/example-session-callbacks/example_session_post_callback_url)


    ## 2024-06-01


    > **update**: Remove optional transaction properties in events intent
    endpoint

    >

    > - [POST
    /v1/events/transaction/{intent}](/checkout-api/gateways/admin_checkout_gw_type_status_post)


    > **update**: Fix enums for `card.type`


    > **update**: Fix enums for `event.metadata.vipps:transactionInfo.status`

    > Add enum values that was missing: `SALE`, `Captured`, `Cancelled` and

    > `Refund`


    > **update**: Add transaction event error `type` and `error_code` to token
    transactions

    >

    > - [POST
    /v1/sessions/pay](/api-reference/payment/checkout_session_pay_post)

    > - [GET
    /v1/transactions/{id}](/api-reference/transactions/transactions_id_get)


    ## 2024-05-15


    > **update**: Add new transaction event type, `INITIATE_VOID`

    >

    > - [GET
    /v1/transactions/{id}](/api-reference/transactions/transactions_id_get)


    ## 2024-05-01


    > **update**: Extend card type for Bambora transactions with `Debit` and

    > `Credit`. **Deprecating** the use of `Credit Card` as card type


    > **update**: Extend card with `region` for Bambora transactions and

    > normalize the brand to be one of `MasterCard` or `Visa`


    > **update**: Adds additional configuration options to sessions and profiles
    for `default_customer_type` and `allow_different_billing_shipping_address`.


    > - [POST /v1/sessions](/checkout-api/session/checkout_session_post)

    > - [POST
    /v1/session_profile](/api-reference/session/checkout_session_profile_post)

    > - [POST
    /v1/admin/sessions/profiles](/checkout-api/profiles/admin_session_profile_post)


    > **new**: Support adding payment information events to sessions

    >

    > - [POST
    /v1/view/{session_id}/session/events/payment_information](/checkout-api/view/checkout_sid_events_pi_post)


    > **new**: Add optional `thumbnail_url` to `shippping_option` to be shown in

    > checkout.

    >

    > - [POST
    /v1/sessions-profile](/api-reference/session/checkout_session_profile_post)

    > - [POST /v1/sessions](/checkout-api/session/checkout_session_post)

    > - [GET /v1/sessions](/checkout-api/session/checkout_sessions_get)

    > - [PUT
    /v1/sessions/{session_id}](/api-reference/session/checkout_session_put)

    > - [GET
    /v1/sessions/{session_id}](/api-reference/session/checkout_session_get)

    > - [GET
    /view/{session_id}/session](/checkout-api/view/checkout_sid_json_get)

    > - [POST
    examples/shipping_address_callback_url](/api-reference/example-session-callbacks/example_shipping_address_callback_url)

    > - [POST
    examples/session_url_callback](/api-reference/example-session-callbacks/example_session_post_callback_url)


    ## 2024-04-01


    > **new**: Support authorization callback from Klarna

    >

    > - [POST
    /v1/{session_id}/klarna/callback/{callback_ref}](/checkout-api/klarna/checkout_sid_klarna_callback_post)


    > **new**: Support void, capture, and refund for Dintero PSP transactions

    >

    > - [POST
    /v1/transactions/{id}/capture](/api-reference/transactions/transactions_id_capture_post)

    > - [POST
    /v1/transactions/{id}/void](/api-reference/transactions/transactions_id_void_post)

    > - [POST
    /v1/transactions/{id}/refund](/api-reference/transactions/transactions_id_refund_post)

    > - [GET
    /v1/transactions/{id}](/api-reference/transactions/transactions_id_get)


    ## 2024-03-01


    > **new**: Extend payout configuration to support `dynamic_overrides`

    > to support using the `order.store.id` to set

    > `order.payout_destination_id`. The new option enables existing

    > integration that use `order.store.id` to start using payout with

    > `order.payout_destination_id` set

    >

    > - [POST /v1/session](/checkout-api/session/checkout_session_post)

    > - [POST
    /v1/session-profile](/api-reference/session/checkout_session_profile_post)

    > - [POST
    /v1/admin/session/profiles](/checkout-api/profiles/admin_session_profile_post)

    > - [PUT
    /v1/admin/session/profiles/{profile_id}](/checkout-api/profiles/admin_session_profile_details_put)


    > **update**: Allow splits to be empty when creating a payment session.

    > A transaction created from session with empty items/shipping_option splits

    > will require splits to be specified when capture or refund is

    > performed.

    >

    > - [POST /v1/session](/checkout-api/session/checkout_session_post)

    > - [POST
    /v1/session-profile](/api-reference/session/checkout_session_profile_post)


    > **update**: Transactions can be filtered by `customer_id`

    >

    > - [POST /v1/transactions](/api-reference/transactions/transactions_get)


    > **new**: Add support for `Dintero-Feature-Toggles` header when updating
    session

    >

    > - [PUT
    /v1/sessions/{session_id}](/api-reference/session/checkout_session_put)


    > **new**: Add full support for configuring an Express checkout session or
    profile with custom checkboxes.

    >

    > - [POST /v1/session](/checkout-api/session/checkout_session_post)

    > - [POST
    /v1/session-profile](/api-reference/session/checkout_session_profile_post)

    > - [POST
    /v1/admin/session/profiles](/checkout-api/profiles/admin_session_profile_post)

    > - [PUT
    /v1/admin/session/profiles/{profile_id}](/checkout-api/profiles/admin_session_profile_details_put)

    > - [PUT
    /v1/view/{session_id}/session/order/addresses](/checkout-api/view/checkout_sid_json_order_addresses_put)


    > **new**: Support finish authorizing `dintero_psp.creditcard` and handle
    redirect

    >

    > - [POST
    /v1/sessions/{session_id}/pay](/checkout-api/payment/checkout_sid_pay_post)

    > - [POST
    /v1/sessions/{session_id}/dintero_psp/redirect/{redirect_ref}](/checkout-api/dintero-psp/checkout_sid_dintero_psp_redirect_get)


    ## 2024-02-20


    > **new**: Support getting payment operations for `dintero_psp.creditcard`

    >

    > - [POST
    /v1/view/{session_id}/payments/{payment_product_type}](/checkout-api/view/checkout_sid_payments_product_type_post)


    > **new**: Support `dintero_psp.creditcard` payment configuration

    >

    > - [PUT /v1/admin/checkout](/checkout-api/checkout/admin_checkout_id_put)

    > - [POST
    /v1/admin/session/profiles](/checkout-api/profiles/admin_session_profile_post)


    ## 2024-02-01


    > **new**: Add support for using Dintero Wallets card to partly/fully

    > authorize the payment session

    >

    > - [POST /v1/sessions](/checkout-api/session/checkout_session_post)

    > - [POST
    /v1/sessions-profile](/api-reference/session/checkout_session_profile_post)

    > - [PUT
    /v1/view/{session_id}/session/order/gift_cards](/checkout-api/view/checkout_sid_json_order_gift_cards_put)

    > - [POST
    /v1/sessions/{session_id}/pay](/checkout-api/payment/checkout_sid_pay_post)


    ## 2024-01-07


    > **update**: Add optional query param, `email`, to View Payment Operations

    >

    > - [POST
    /v1/view/{session_id}/payments/{payment_product_type}](/checkout-api/view/checkout_sid_payments_product_type_post)


    ## 2024-01-01


    > **add**: Support specifying `bambora_token_scope` in

    > `bambora.creditcard` payment options

    >

    > - [PUT /v1/admin/checkout](/checkout-api/checkout/admin_checkout_id_put)


    > **update**: Add `klarna.billie` payment option

    >

    > - [POST
    /v1/view/{session_id}/payments/{payment_product_type}](/checkout-api/view/checkout_sid_payments_product_type_post)

    > - [POST /v1/sessions](/checkout-api/session/checkout_session_post)

    > - [POST
    /v1/sessions/{session_id}/pay](/checkout-api/payment/checkout_sid_pay_post)

    > - [POST
    /v1/admin/session/profiles](/checkout-api/profiles/admin_session_profile_post)

    > - [PUT
    /v1/admin/session/profiles/{profile_id}](/checkout-api/profiles/admin_session_profile_details_put)

    > - [PUT /v1/admin/checkout](/checkout-api/checkout/admin_checkout_id_put)


    ## 2023-12-01


    > **update**: Add Visa Tokenization credentials to Dintero PSP gateway.

    >

    > - [PUT
    /v1/admin/gateways/dintero](/checkout-api/dintero-psp-gateway/admin_checkout_id_gw_psp_put)

    > - [GET /v1/admin/checkout](/checkout-api/checkout/admin_checkout_id_get)


    > **new**: Add partial support for configuring an Express checkout session
    with custom checkboxes.

    >

    > - [POST /v1/session](/checkout-api/session/checkout_session_post)

    > - [POST
    /v1/session-profile](/api-reference/session/checkout_session_profile_post)

    > - [POST
    /v1/admin/session/profiles](/checkout-api/profiles/admin_session_profile_post)

    > - [PUT
    /v1/admin/session/profiles/{profile_id}](/checkout-api/profiles/admin_session_profile_details_put)


    ## 2023-11-01


    > **new**: Add support bambora tokenization

    > Set token_scope and token_api_url on gateway configuration(prerequisite)

    > Request payment(MIT) or recurrence(CIT) token on zero and non-zero amount
    session

    > Use payment or recurrence token on payment to perform MIT or CIT

    >

    > - [PUT
    /v1/admin/gateways/bambora](/checkout-api/bambora-gateway/admin_checkout_id_gw_bambora_put)

    > - [POST /v1/sessions](/checkout-api/session/checkout_session_post)

    > - [POST
    /v1/sessions/payment-token](/api-reference/session/checkout_payment_token_session_post)

    > - [POST
    /v1/sessions/pay](/api-reference/payment/checkout_session_pay_post)


    > **new**: Add support for zero amount sessions by introducing new

    > configuration option `configuration.dintero.zero.enable`. With the new

    > option enabled a zero order session can be created, authorized,

    > captured, refunded and voided. It make it possible to create express

    > session to capture customer information via express without require any

    > payment authorization by the customer.

    >

    > - [POST
    /v1/session-profile](/api-reference/session/checkout_session_profile_post)

    > - [POST
    /v1/transactions/{id}/capture](/api-reference/transactions/transactions_id_capture_post)

    > - [PUT /v1/admin/checkout](/checkout-api/checkout/admin_checkout_id_put)

    > - [GET
    /v1/sessions/{session_id}/dintero/redirect/{redirect_ref}](/checkout-api/dintero/checkout_sid_dintero_redirect_get)


    ## 2023-10-01


    > **new**: Add support for extending transaction authorization

    >

    > - [POST
    /v1/transactions/{id}/authorization](/api-reference/transactions/transaction_tid_extend_authorization_post)


    ## 2023-09-01


    > **new**: Add Dintero PSP gateway

    >

    > - [GET /v1/admin/checkout](/checkout-api/checkout/admin_checkout_id_get)

    > - [PUT
    /v1/admin/gateways/psp](/checkout-api/dintero-psp-gateway/admin_checkout_id_gw_psp_put)


    > **new**: Add support for the Klarna EMD marketplace orders package.

    >

    > - [POST /v1/session](/checkout-api/session/checkout_session_post)

    > - [POST
    /v1/session-profile](/api-reference/session/checkout_session_profile_post)

    > - [PUT
    /v1/sessions/{session_id}](/api-reference/session/checkout_session_put)

    > - [POST
    /v1/transactions/{id}/capture](/api-reference/transactions/transactions_id_capture_post)

    > - [POST
    /v1/transactions/{id}/refund](/api-reference/transactions/transactions_id_refund_post)


    > **new**: Add full support for the Klarna EMD travel-related transactions
    package (car rental reservation details).

    >

    > - [POST /v1/session](/checkout-api/session/checkout_session_post)

    > - [POST
    /v1/session-profile](/api-reference/session/checkout_session_profile_post)

    > - [PUT
    /v1/sessions/{session_id}](/api-reference/session/checkout_session_put)

    > - [POST
    /v1/transactions/{id}/capture](/api-reference/transactions/transactions_id_capture_post)

    > - [POST
    /v1/transactions/{id}/refund](/api-reference/transactions/transactions_id_refund_post)


    > **new**: Add partial support for the Klarna EMD travel-related
    transactions package (hotel reservation details).

    >

    > - [POST /v1/session](/checkout-api/session/checkout_session_post)

    > - [POST
    /v1/session-profile](/api-reference/session/checkout_session_profile_post)

    > - [PUT
    /v1/sessions/{session_id}](/api-reference/session/checkout_session_put)

    > - [POST
    /v1/transactions/{id}/capture](/api-reference/transactions/transactions_id_capture_post)

    > - [POST
    /v1/transactions/{id}/refund](/api-reference/transactions/transactions_id_refund_post)


    > **new**: Add partial support for the Klarna EMD travel-related
    transactions package (ferry reservation details).

    >

    > - [POST /v1/session](/checkout-api/session/checkout_session_post)

    > - [POST
    /v1/session-profile](/api-reference/session/checkout_session_profile_post)

    > - [PUT
    /v1/sessions/{session_id}](/api-reference/session/checkout_session_put)

    > - [POST
    /v1/transactions/{id}/capture](/api-reference/transactions/transactions_id_capture_post)

    > - [POST
    /v1/transactions/{id}/refund](/api-reference/transactions/transactions_id_refund_post)


    > **new**: Add partial support for the Klarna EMD travel-related
    transactions package (train reservation details).

    >

    > - [POST /v1/session](/checkout-api/session/checkout_session_post)

    > - [POST
    /v1/session-profile](/api-reference/session/checkout_session_profile_post)

    > - [PUT
    /v1/sessions/{session_id}](/api-reference/session/checkout_session_put)

    > - [POST
    /v1/transactions/{id}/capture](/api-reference/transactions/transactions_id_capture_post)

    > - [POST
    /v1/transactions/{id}/refund](/api-reference/transactions/transactions_id_refund_post)


    > **new**: Add partial support for the Klarna EMD travel-related
    transactions package (bus reservation details).

    >

    > - [POST /v1/session](/checkout-api/session/checkout_session_post)

    > - [POST
    /v1/session-profile](/api-reference/session/checkout_session_profile_post)

    > - [PUT
    /v1/sessions/{session_id}](/api-reference/session/checkout_session_put)

    > - [POST
    /v1/transactions/{id}/capture](/api-reference/transactions/transactions_id_capture_post)

    > - [POST
    /v1/transactions/{id}/refund](/api-reference/transactions/transactions_id_refund_post)


    > **new**: Add partial support for the Klarna EMD travel-related
    transactions package (air reservation details).

    >

    > - [POST /v1/session](/checkout-api/session/checkout_session_post)

    > - [POST
    /v1/session-profile](/api-reference/session/checkout_session_profile_post)

    > - [PUT
    /v1/sessions/{session_id}](/api-reference/session/checkout_session_put)

    > - [POST
    /v1/transactions/{id}/capture](/api-reference/transactions/transactions_id_capture_post)

    > - [POST
    /v1/transactions/{id}/refund](/api-reference/transactions/transactions_id_refund_post)


    ## 2023-08-22


    > **new**: Add support for the Klarna EMD recurring payments package.

    >

    > - [POST /v1/session](/checkout-api/session/checkout_session_post)

    > - [POST
    /v1/session-profile](/api-reference/session/checkout_session_profile_post)

    > - [PUT
    /v1/sessions/{session_id}](/api-reference/session/checkout_session_put)

    > - [POST
    /v1/transactions/{id}/capture](/api-reference/transactions/transactions_id_capture_post)

    > - [POST
    /v1/transactions/{id}/refund](/api-reference/transactions/transactions_id_refund_post)


    ## 2023-08-15


    > **new**: Add support for the Klarna EMD event package.

    >

    > - [POST /v1/session](/checkout-api/session/checkout_session_post)

    > - [POST
    /v1/session-profile](/api-reference/session/checkout_session_profile_post)

    > - [PUT
    /v1/sessions/{session_id}](/api-reference/session/checkout_session_put)

    > - [POST
    /v1/transactions/{id}/capture](/api-reference/transactions/transactions_id_capture_post)

    > - [POST
    /v1/transactions/{id}/refund](/api-reference/transactions/transactions_id_refund_post)


    ## 2023-08-08


    > **update**: Deprecate endpoint in favor of [PUT
    /v1/view/{session_id}/session/order/addresses](/checkout-api/view/checkout_sid_json_order_addresses_put)

    >

    > - [PUT
    /v1/view/{session_id}/session/order/shipping_address](/checkout-api/view/checkout_sid_json_order_shipping_address_put)


    ## 2023-05-19

    >

    > **new**: Add `generate_payment_token` to `session.payment_operation`.

    >

    > - [POST
    /v1/sessions/payment-token](/api-reference/session/checkout_payment_token_session_post)

    > - [GET
    /v1/sessions?payment_operation=generate_payment_token](/checkout-api/session/checkout_sessions_get)


    ## 2023-05-05

    >

    > **break**: Remove ingenico completely, i.e. payment type, payment
    operation, checkout config, gateway setup.

    >

    > - GET / POST /v1/events/gateways/ingenico/transaction/hooks

    > - GET /v1/sessions/{session_id}/ingenico/redirect/{redirect_ref}

    > - PUT /v1/admin/gateways/ingenico

    > - [PUT / GET
    /v1/admin/checkout](/checkout-api/checkout/admin_checkout_id_put)


    ## 2023-05-01


    > **break**: Administration of checkout gateways will no longer be

    > supported via the scope `admin:checkout` and will require `admin:dintero`.

    > This affects the following endpoints:

    >

    > - [PUT
    /v1/admin/gateways/bambora](/checkout-api/bambora-gateway/admin_checkout_id_gw_bambora_put)

    > - [PUT
    /v1/admin/gateways/collector](/checkout-api/collector-gateway/admin_checkout_id_gw_collector_put)

    > - [PUT
    /v1/admin/gateways/collector/credentials](/checkout-api/collector-gateway/admin_gateways_collector_credentials_put)

    > - [PUT
    /v1/admin/gateways/collector/override](/checkout-api/collector-gateway/admin_checkout_id_gw_override_collector_put)

    > - [PUT
    /v1/admin/gateways/ingenico](#operation/admin_checkout_id_gw_ingenico_put)

    > - [PUT
    /v1/admin/gateways/instabank](/checkout-api/instabank-gateway/admin_checkout_id_gw_instabank_put)

    > - [PUT
    /v1/admin/gateways/klarna](/checkout-api/klarna-gateway/admin_checkout_id_gw_klarna_put)

    > - [PUT
    /v1/admin/gateways/klarna/credentials](/checkout-api/klarna-gateway/admin_gateways_klarna_credentials_put)

    > - [PUT
    /v1/admin/gateways/netaxept](/checkout-api/netaxept-gateway/admin_checkout_id_gw_netaxept_put)

    > - [PUT
    /v1/admin/gateways/netaxept/override](/checkout-api/netaxept-gateway/admin_checkout_id_gw_override_netaxept_put)

    > - [PUT
    /v1/admin/gateways/payex](/checkout-api/payex-gateway/admin_checkout_id_gw_payex_put)

    > - [PUT
    /v1/admin/gateways/payex/credentials](/checkout-api/payex-gateway/admin_gateways_payex_credentials_put)

    > - [PUT
    /v1/admin/gateways/payex/override](/checkout-api/payex-gateway/admin_checkout_id_gw_override_payex_put)

    > - [PUT
    /v1/admin/gateways/santander](/checkout-api/santander-gateway/admin_checkout_id_gw_santander_put)

    > - [PUT
    /v1/admin/gateways/santander/override](/checkout-api/santander-gateway/admin_checkout_id_gw_override_santander_put)

    > - [PUT
    /v1/admin/gateways/swish](/checkout-api/swish-gateway/admin_checkout_id_gw_swish_put)

    > - [PUT
    /v1/admin/gateways/swish/override](/checkout-api/swish-gateway/admin_checkout_id_gw_override_swish_put)

    > - [PUT
    /v1/admin/gateways/vipps](/checkout-api/vipps-gateway/admin_checkout_id_gw_vipps_put)

    > - [PUT
    /v1/admin/gateways/vipps/override](/checkout-api/vipps-gateway/admin_checkout_id_gw_override_vipps_put)


    > **new**: Support `payex.mobilepay` through payex v3 when
    `gateway_api_version` is set to "payex.v3", and add payment operation for
    `pay-payex-v3-mobilepay`.

    >

    > - [PUT /v1/admin/checkout](/checkout-api/checkout/admin_checkout_id_put)

    > - [POST
    /v1/view/{session_id}/payments/payex.mobilepay](/checkout-api/view/checkout_sid_payments_product_type_post)


    > **new**: Support `payex.googlepay` payment product type.

    >

    > - [PUT /v1/admin/checkout](/checkout-api/checkout/admin_checkout_id_put)

    > - [POST
    /v1/session-profile](/api-reference/session/checkout_session_profile_post)

    > - [POST
    /v1/view/{session_id}/payments/{payment_product_type}](/checkout-api/view/checkout_sid_payments_product_type_post)


    ## 2023-04-01


    > **new:** Add support for appswitch deeplink URL for `payex.mobilepay`
    sessions

    > with `channel=in_app` set.

    >

    > - [POST /v1/session](/checkout-api/session/checkout_session_post)

    > - [POST
    /v1/session-profile](/api-reference/session/checkout_session_profile_post)


    > **new**: Support `payex.vipps` through payex v3 when `gateway_api_version`
    is set to "payex.v3", and add payment operation for `pay-payex-v3-vipps`.

    >

    > - [PUT /v1/admin/checkout](/checkout-api/checkout/admin_checkout_id_put)

    > - [POST
    /v1/view/{session_id}/payments/payex.vipps](/checkout-api/view/checkout_sid_payments_product_type_post)


    > **new**: Support `payex.swish` through payex v3 when `gateway_api_version`
    is set to "payex.v3", and add payment operation for `pay-payex-v3-swish`.

    >

    > - [PUT /v1/admin/checkout](/checkout-api/checkout/admin_checkout_id_put)

    > - [POST
    /v1/view/{session_id}/payments/payex.swish](/checkout-api/view/checkout_sid_payments_product_type_post)


    ## 2023-03-20


    > **update**: Require `locale` for initiating checkout payment for
    `klarna.klarna`.

    >

    > - [POST
    v1/sessions/{session_id}/pay](/checkout-api/payment/checkout_sid_pay_post)


    > **update**: Add string representation of order to response from view
    payment operations for `klarna.klarna`

    >

    > - [POST
    /v1/view/{session_id}/payments/klarna.klarna](/checkout-api/view/checkout_sid_payments_product_type_post)

    >

    ## 2023-03-01


    > **new**: Support `payex.clicktopay` payment type. Extend configuration on
    gateway and session to enable Click to Pay.

    >

    > - [PUT /v1/admin/checkout](/checkout-api/checkout/admin_checkout_id_put)

    > - [POST
    /v1/session-profile](/api-reference/session/checkout_session_profile_post)

    > - [POST
    /v1/view/{session_id}/payments/{payment_product_type}](/checkout-api/view/checkout_sid_payments_product_type_post)


    > **new**: Add `version` to session

    >

    > - [POST
    /v1/view/{session_id}/payments/{payment_product_type}](/checkout-api/view/checkout_sid_payments_product_type_post)

    > - [GET
    /v1/view/{session_id}/session](/checkout-api/view/checkout_sid_json_get)

    > - [PUT
    /v1/view/{session_id}/session/order/addresses](/checkout-api/view/checkout_sid_json_order_addresses_put)

    > - [PUT
    /v1/view/{session_id}/session/order/discount_codes](/checkout-api/view/checkout_sid_json_order_discount_codes_put)

    > - [PUT
    /v1/view/{session_id}/session/order/shipping_address](/checkout-api/view/checkout_sid_json_order_shipping_address_put)

    > - [PUT
    /v1/view/{session_id}/session/order/shipping_option](/checkout-api/view/checkout_sid_json_order_items_shipping_option_put)


    > **update**: Also accept `version` property as `If-Unmodified-Since` to
    initiaite checkout payment.

    >

    > - [POST
    /v1/view/{session_id}/pay](/checkout-api/payment/checkout_sid_pay_post)


    ## 2023-02-01


    > **update**: Limit refund to positive amount

    >

    > - [POST
    /v1/transactions/{id}/refund](/api-reference/transactions/transactions_id_refund_post)


    > **new**: Add support for finishing authorization of Klarna payment and
    handle redirect.

    >

    > - [POST
    /v1/sessions/{session_id}/pay](/checkout-api/payment/checkout_sid_pay_post)

    > - [POST
    /v1/sessions/{session_id}/klarna/redirect/{redirect_ref}](/checkout-api/klarna/checkout_sid_klarna_redirect_get)


    ## 2023-01-01


    > **update**: Add support for `marketing_consent` when initiating

    > Instabank payment

    >

    > - [POST
    /v1/sessions/{session_id}/pay](/checkout-api/payment/checkout_sid_pay_post)


    > **update**: Add support for `query_gateway` query parameter when

    > getting status of PayEx payment for a session.

    >

    > - [GET
    /v1/view/{session_id}/payex/{payment_id}/status](/checkout-api/payex/checkout_sid_payex_payment_get)


    > **new**: Support `payex.applepay` payment product type. Extend
    configuration on

    > gateway and session to enable Apple Pay.

    >

    > - [PUT /v1/admin/checkout](/checkout-api/checkout/admin_checkout_id_put)

    > - [POST
    /v1/session-profile](/api-reference/session/checkout_session_profile_post)

    > - [POST
    /v1/view/{session_id}/payments/{payment_product_type}](/checkout-api/view/checkout_sid_payments_product_type_post)


    > **new**: Add support for getting payment operations for Klarna

    >

    > - [POST
    /v1/view/{session_id}/payments/{payment_product_type}](/checkout-api/view/checkout_sid_payments_product_type_post)


    > **new**: Add support for enabling Klarna payment when creating payment
    sessions

    >

    > - [POST
    /v1/sessions-profile](/api-reference/session/checkout_session_profile_post)

    > - [POST /v1/sessions](/checkout-api/session/checkout_session_post)

    > - [POST
    /v1/admin/session/profiles](/checkout-api/profiles/admin_session_profile_post)

    > - [PUT
    /v1/admin/session/profiles/{profile_id}](/checkout-api/profiles/admin_session_profile_details_put)

    > - [PUT /v1/admin/checkout](/checkout-api/checkout/admin_checkout_id_put)


    > **new**: Add support for configuring Klarna gateway

    >

    > - [PUT
    /v1/admin/gateways/klarna](/checkout-api/klarna-gateway/admin_checkout_id_gw_klarna_put)

    > - [PUT
    /v1/admin/gateways/klarna/credentials](/checkout-api/klarna-gateway/admin_gateways_klarna_credentials_put)


    > **update**: Include Klarna gateway and credentials details

    >

    > - [GET /v1/admin/checkout](/checkout-api/checkout/admin_checkout_id_get)


    > **update**: Update Payex transaction. Extend `card.type` with `Debit
    Card`,

    > and let `metadata.payex:payment:number` and
    `event.metadata.payex:transaction:number`

    > be either string or number.

    >

    > - [GET /v1/transactions](/api-reference/transactions/transactions_get)

    > - [GET
    /v1/transactions/{id}](/api-reference/transactions/transactions_id_get)


    ## 2022-12-01


    > **update**: Add support for `strict-success-merchant-reference`

    > Dintero-Feature-Toggles header when creating merchant initiated session.
    The

    > new flag allow "duplicates" if existing sessions failed

    >

    > - [POST
    /v1/sessions/pay](/api-reference/payment/checkout_session_pay_post)


    > **new:** Add endpoint for handle callback for payex V3 payments

    >

    > - [POST
    /v1/sessions/{session_id}/payex-v3/callback/{callback_ref}](/checkout-api/payex-v3/checkout_payex_v3_callback_post)


    > **new:** Add endpoint for handle redirect for payex V3 payments

    >

    > - [GET
    /v1/sessions/{session_id}/payex-v3/redirect/{redirect_ref}](/checkout-api/payex-v3/checkout_sid_payex_v3_redirect_get)


    > **update:** Add support for `pay-payex-v3-creditcard` payment operations
    response

    > from endpoint

    >

    > - [POST
    /v1/view/{session_id}/payments/{payment_product_type}](/checkout-api/view/checkout_sid_payments_product_type_post)


    > **update:** Add support for specifying `gateway_api_versions` when
    configuring

    > payment options

    >

    > - [PUT /v1/admin/checkout](/checkout-api/checkout/admin_checkout_id_put)

    > - [GET /v1/admin/checkout](/checkout-api/checkout/admin_checkout_id_get)


    ## 2022-11-01


    > **update:** Add suport promiting credential to gateway and gateway
    override

    > The new option add support for configuring gateway and overrides when

    > credential is created or updated

    >

    > - [PUT
    /v1/admin/gateways/collector/credentials](/checkout-api/collector-gateway/admin_gateways_collector_credentials_put)

    > - [PUT
    /v1/admin/gateways/payex/credentials](/checkout-api/payex-gateway/admin_gateways_payex_credentials_put)


    ## 2022-08-01


    > **new:** Add endpoint for managing credentials for Collector gateway

    >

    > - [PUT
    /v1/admin/gateways/collector/credentials](/checkout-api/collector-gateway/admin_gateways_collector_credentials_put)


    > **new:** Add endpoint for managing credentials for PayEx gateway

    >

    > - [PUT
    /v1/admin/gateways/payex/credentials](/checkout-api/payex-gateway/admin_gateways_payex_credentials_put)


    > **new:** Add support for appswitch deeplink URL for `payex.vipps` sessions

    > with `channel=in_app` set.

    >

    > - [POST /v1/session](/checkout-api/session/checkout_session_post)

    > - [POST
    /v1/session-profile](/api-reference/session/checkout_session_profile_post)


    ## 2022-07-01


    > **new**: Add support for including metadata about discounts via
    `discount_lines`

    > when capturing or refunding a transaction.

    >

    > - [POST
    /v1/transactions/{id}/capture](/api-reference/transactions/transactions_id_capture_post)

    > - [POST
    /v1/transactions/{id}/refund](/api-reference/transactions/transactions_id_refund_post)


    > **new**: Add `metadata.payout` property to transaction, the new property
    will

    > be set if payout is enabled and state what kind of payout will be done

    >

    > - [GET
    /v1/transactions/{id}](/api-reference/transactions/transactions_id_get)


    ## 2022-06-01


    > **change**: Extend support for void on part capture. Void can now be used
    to

    > release remaining authorization on part captured `payex.mobilepay` and

    > `payex.vipps` transactions

    >

    > - [POST
    /v1/transactions/{id}/void](/api-reference/transactions/transactions_id_void_post)


    > **new:** Add possibility to change name of session_id query parameter in
    callback_url

    >

    > - [POST /v1/session](/checkout-api/session/checkout_session_post)

    > - [POST
    /v1/session-profile](/api-reference/session/checkout_session_profile_post)

    > - [POST
    /v1/sessions/pay](/api-reference/payment/checkout_session_pay_post)


    > **change:** Improve endpoint for handle unscheduled and recurring payments

    >

    > - Block pay request with duplicate `merchant_reference`

    > - Include `session_id` in error response, to use to check status on
    failure

    > - Add `payment_operation` to session / transaction that state the intent
    with
        the payment session was, e.g. `unscheduled_purchase` or `recurring_purchase`
    > - [POST
    /v1/sessions/pay](/api-reference/payment/checkout_session_pay_post)

    > - [GET
    /v1/sessions/{session_id}](/api-reference/session/checkout_session_get)

    > - [GET
    /v1/transactions/{id}](/api-reference/transactions/transactions_id_get)


    ## 2022-05-01


    > **change**: Add support for void on part capture Vipps transaction. Void
    can

    > be used to release the remaining authorization on a part captured
    transaction.

    >

    > - [POST
    /v1/transactions/{id}/void](/api-reference/transactions/transactions_id_void_post)


    > **new**: Add strict mode header to validate correct session amounts

    >

    > - [POST /v1/session](/checkout-api/session/checkout_session_post)

    > - [POST
    /v1/session-profile](/api-reference/session/checkout_session_profile_post)


    > **new**: Add support for payout splits via Dintero Payout

    >

    > - [POST
    /v1/session-profile](/api-reference/session/checkout_session_profile_post)

    > - [POST
    /v1/transactions/{id}/capture](/api-reference/transactions/transactions_id_capture_post)

    > - [POST
    /v1/transactions/{id}/refund](/api-reference/transactions/transactions_id_refund_post)


    ## 2022-04-01


    > **new**: Add item types to distinguish between physical and digital items,
    and a category for services

    >

    > **new**: Add thumbnail url to order item to be shown in checkout

    >

    > - [POST
    /v1/sessions-profile](/api-reference/session/checkout_session_profile_post)

    > - [POST /v1/sessions](/checkout-api/session/checkout_session_post)

    > - [PUT
    /v1/sessions/{session_id}](/api-reference/session/checkout_session_put)


    > **new**: Add possibility to update session without locking it first


    > **new**: Add possibility to update session.express

    >

    > - [PUT
    /v1/sessions/{session_id}](/api-reference/session/checkout_session_put)


    > **new:** Document support for recurring payments.

    > Extend configuration to support generating recurring payment token for

    > `payex.creditcard` payments and performing recurring payments via the pay
    endpoint

    >

    > - [POST
    /v1/sessions/pay](/api-reference/payment/checkout_session_pay_post)

    > - [POST
    /v1/sessions-profile](/api-reference/session/checkout_session_profile_post)

    > - [POST /v1/sessions](/checkout-api/session/checkout_session_post)

    > - [POST
    /v1/transactions/{id}](/api-reference/transactions/transactions_id_get)


    ## 2022-03-01


    > new: Add shipping_mode to decide if a shipping option is required

    >

    > - [POST
    /v1/sessions-profile](/api-reference/session/checkout_session_profile_post)

    > - [POST /v1/sessions](/checkout-api/session/checkout_session_post)


    ## 2022-02-22


    > **fix**: Require `description` when creating session profile.

    > Document that `description` is a required property for session profile.
    The

    > property has always been required by the service.

    >

    > - [POST
    /v1/admin/session/profiles](/checkout-api/profiles/admin_session_profile_post)

    > - [PUT
    /v1/admin/session/profiles/{profile_id}](/checkout-api/profiles/admin_session_profile_details_put)


    ## 2022-03-01


    > new: Support `payex.mobilepay` payment product type. Extend configuration
    on

    > gateway and session to enable MobilePay payment via PayEx PSP service.

    >

    > - [PUT /v1/admin/checkout](/checkout-api/checkout/admin_checkout_id_put)

    > - [POST
    /v1/session-profile](/api-reference/session/checkout_session_profile_post)

    > - [POST
    /v1/sessions/{session_id}/pay](/checkout-api/payment/checkout_sid_pay_post)

    > - [POST
    /v1/view/{session_id}/payments/{payment_product_type}](/checkout-api/view/checkout_sid_payments_product_type_post)


    ## 2022-02-01


    > **new**: Document `event_id` query parameter included in request sent to

    > session `callback_url`

    >

    > - [POST
    /v1/sessions-profile](/api-reference/session/checkout_session_profile_post)

    > - [GET
    /exaples/session_url_callback](/api-reference/example-session-callbacks/example_session_get_callback_url)


    > **new**: Store initiating system request headers on session and
    transaction.

    > Add ability to filter sessions on plugin name.

    >

    > - [GET
    /v1/sessions/{session_id}](/api-reference/session/checkout_session_get)

    > - [GET
    /v1/transactions/{id}](/api-reference/transactions/transactions_id_get)

    > - [GET /v1/sessions](/checkout-api/session/checkout_sessions_get)


    ## 2022-01-01


    > **new**: Add support for handle authorization redirect from Collector IdP

    >

    > - [GET
    /v1/events/gateways/collector/idp/signin](/checkout-api/collector/checkout_collector_idp_signin_get)


    > **new**: Add support for including `authorization_code` in Collector pay
    requests

    >

    > - [POST
    /v1/sessions/{session_id}/pay](/checkout-api/payment/checkout_sid_pay_post)


    ## 2021-12-01


    > **change**: Add ability to keep overrides for swish gateway

    > [PUT
    /v1/admin/gateways/swish](/checkout-api/swish-gateway/admin_checkout_id_gw_swish_put)


    > new: Add support for `order.payout_destination_id` when creating new
    sessions.

    > The property will be included in the settlement reports and used if payout

    > is enabled.

    >

    > - [POST
    /v1/sessions-profile](/api-reference/session/checkout_session_profile_post)

    > - [POST /v1/sessions](/checkout-api/session/checkout_session_post)


    > **new**: Pay with `payex.swish`, support for both E-Commerce and
    M-Commerce

    > Swish Payments.

    >

    > - [POST
    /v1/sessions/{session_id}/pay](/checkout-api/payment/checkout_sid_pay_post)


    > **change**: Validate PayEx subsite, return 400 if invalid subsite is used

    >

    > - [PUT
    /v1/admin/gateways/payex](/checkout-api/payex-gateway/admin_checkout_id_gw_payex_put)

    > - [PUT
    /v1/admin/gateways/payex/override](/checkout-api/payex-gateway/admin_checkout_id_gw_override_payex_put)


    ## 2021-11-01


    > new: The `profile_id` used when creating new sessions will now be included

    > in the session and transaction `metadata.session:profile_id` property

    >

    > - [POST
    /v1/sessions-profile](/api-reference/session/checkout_session_profile_post)

    > - [GET
    /v1/sessions/{session_id}](/api-reference/session/checkout_session_get)

    > - [GET
    /v1/transactions/{id}](/api-reference/transactions/transactions_id_get)


    ## 2021-09-01


    > new: Support for configuring payout for payment products

    >

    > - [PUT /v1/admin/checkout](/checkout-api/checkout/admin_checkout_id_put)


    > new: Support including `events.request_headers` when fetching session and
    transaction,

    > and performing capture, refund or void on the transaction

    >

    > - [GET
    /v1/transactions/{transaction_id}](/api-reference/transactions/transactions_id_get)

    > - [GET
    /v1/sessions/{session_id}](/api-reference/session/checkout_session_get)

    > - [POST
    /v1/transactions/{id}/capture](/api-reference/transactions/transactions_id_capture_post)

    > - [POST
    /v1/transactions/{id}/refund](/api-reference/transactions/transactions_id_refund_post)

    > - [POST
    /v1/transactions/{id}/void](/api-reference/transactions/transactions_id_void_post)


    ## 2021-08-01


    > **change**: Add support for `phone_number` when getting payment operations

    >

    > - [POST
    /v1/view/{session_id}/payments/{payment_product_type}](/checkout-api/view/checkout_sid_payments_product_type_post)


    > **change**: Add support for `payex.vipps` payment product type

    >

    > - [POST
    /v1/view/{session_id}/payments/{payment_product_type}](/checkout-api/view/checkout_sid_payments_product_type_post)


    ## 2021-05-01


    > new: Support `payex.vipps` payment product type. Extend configuration on

    > gateway and session to enable Vipps payment via PayEx PSP service.

    >

    > - [PUT /v1/admin/checkout](/checkout-api/checkout/admin_checkout_id_put)

    > - [POST
    /v1/session-profile](/api-reference/session/checkout_session_profile_post)

    > - [POST
    /v1/sessions/{session_id}/pay](/checkout-api/payment/checkout_sid_pay_post)


    ## 2021-06-01


    > new: Support `bambora.mobilepay` payment product type. Extend
    configuration on

    > gateway and session to enable MobilePay payment via Bambora Wallet
    service. The

    > payment type must be enabled by Bambora.

    >

    > - [PUT /v1/admin/checkout](/checkout-api/checkout/admin_checkout_id_put)

    > - [POST
    /v1/session-profile](/api-reference/session/checkout_session_profile_post)

    > - [POST
    /v1/sessions/{session_id}/pay](/checkout-api/payment/checkout_sid_pay_post)


    > doc: Fix documentation for payment-token session endpoint. `session` and

    > `payment_token` are required when creating payment-token session.

    >

    > - [POST
    /v1/sessions/payment-token](/api-reference/session/checkout_payment_token_session_post)


    > new: Support `enable_on_hold`-configuration on session configuration and
    in checkout configuration

    >

    > - [POST
    /v1/session-profile](/api-reference/session/checkout_session_profile_post)

    > - [POST
    /v1/sessions-profile](/api-reference/session/checkout_session_profile_post)

    > - [POST /v1/sessions](/checkout-api/session/checkout_session_post)

    > - [PUT /v1/admin/checkout](/checkout-api/checkout/admin_checkout_id_put)


    ## 2021-05-01


    > new: Support `bambora.vipps` payment product type. Extend configuration on

    > gateway and session to enable Vipps payment via Bambora Wallet service.
    The

    > payment type must be enabled by Bambora.

    >

    > - [PUT
    /v1/admin/gateways/bambora](/checkout-api/bambora-gateway/admin_checkout_id_gw_bambora_put)

    > - [PUT /v1/admin/checkout](/checkout-api/checkout/admin_checkout_id_put)

    > - [POST
    /v1/session-profile](/api-reference/session/checkout_session_profile_post)

    > - [POST
    /v1/sessions/{session_id}/pay](/checkout-api/payment/checkout_sid_pay_post)


    > **new**: Support session profile configuration when creating payment-token
    session

    >

    > - [POST
    /v1/sessions/payment-token](/api-reference/session/checkout_payment_token_session_post)


    > **new**: Extend shipping_address_callback response with support for
    updating

    > the checkout session in addition to returning available shipping options.
    This will allow

    > the callback endpoint to update the content of the order, like changing
    amount, or

    > currency or update the items in the order.

    >

    > - [POST
    /v1/sessions-profile](/api-reference/session/checkout_session_profile_post)

    > - [POST /v1/sessions](/checkout-api/session/checkout_session_post)

    > - [POST
    examples/shipping_address_callback_url](/api-reference/example-session-callbacks/example_shipping_address_callback_url)


    ## 2021-04-01


    > **change**: Add support for void on part capture. Void can be used to
    release

    > the remaining authorization on a part captured transaction. The support is

    > limited to `payex.creditcard` transactions.

    >

    > - [POST
    /v1/transactions/{id}/void](/api-reference/transactions/transactions_id_void_post)


    > **change**: Add support for `language` query parameter when getting
    payment

    > operations

    >

    > - [POST
    /v1/view/{session_id}/payments/{payment_product_type}](/checkout-api/view/checkout_sid_payments_product_type_post)


    > **change**: Add support Bambora creditcard payment.

    >

    > - [POST /v1/sessions](/checkout-api/session/checkout_session_post)

    > - [POST
    /v1/sessions-profile](/api-reference/session/checkout_session_profile_post)


    > **change**: Add support for bypassing the Dintero redirect for
    in_app-payments, and

    > redirect from app to app.

    >

    > - [POST /v1/sessions](/checkout-api/session/checkout_session_post)

    > - [POST
    /v1/sessions-profile](/api-reference/session/checkout_session_profile_post)


    ## 2021-03-01


    > **change** Add support for includes query parameter in session
    url.callback_url.

    > `includes` set to session will enable the sessions url.callback_url to
    include session data in the body.

    >

    > - [POST /v1/sessions](/checkout-api/session/checkout_session_post)

    > - [POST
    /v1/sessions-profile](/api-reference/session/checkout_session_profile_post)


    ## 2021-02-01


    > **new**: It is now possible to use full ISO 8601 compliant datetimes in
    date range queries.

    > Note: If timezone isn't specified, UTC is assumed

    > Note: To keep things backwards compatible, end-dates with the "yyyy-mm-dd"
    format will be

    > shifted forward by a day.

    >

    > - [GET /v1/transactions](/api-reference/transactions/transactions_get)

    > - [GET /v1/sessions](/checkout-api/session/checkout_sessions_get)


    > **new**: Add possibility to create myDintero-user in address change

    >

    > - [POST
    /v1/view/{session_id}/session/order/addresses](/checkout-api/view/checkout_sid_json_order_addresses_put)


    > **new**: Extend transaction data with embedded session data

    > `includes` now supports 'session'

    >

    > - [GET
    /v1/transactions/{id}](/api-reference/transactions/transactions_id_get)


    > **new**: Extend Vipps transaction metadata with

    > `vipps:merchantInfo.merchantSerialNumber`, the Merchant Serial Number

    > (MSN) that was used when the transaction was initiated.


    > **new** Add support for setting settlements on a transaction, one event

    > per payout to a bank account

    >

    > - [POST
    /v1/transactions/events/payout](#operation/transactions_events_payout_post)


    > **new**: Version support when updating PayEx gateway configuration. The

    > new option allows the gateway to be configured with multiple merchant

    > agreements

    >

    > - [PUT
    /v1/admin/gateways/payex](/checkout-api/payex-gateway/admin_checkout_id_gw_payex_put)

    > - [PUT
    /v1/admin/gateways/payex/override](/checkout-api/payex-gateway/admin_checkout_id_gw_override_payex_put)


    > **change**: Add support for additional query parameters.

    > `search` will match on merchant reference's and customer name

    > `transaction_id` will filter results to include only sessions associated
    with the provided transaction ids

    > `created_at.gte` will exclude all sessions created before provided date

    > `created_at.lte` will exclude all sessions created after provided date

    >

    > - [GET /v1/sessions](/checkout-api/session/checkout_sessions_get)


    ## 2021-01-01


    > **new**: Endpoint for initiating MIT payments

    >

    > - [POST
    /v1/sessions/pay](/api-reference/payment/checkout_session_pay_post)


    > **new**: Checkout sessions and profiles supports theming via
    `configuration.theme`

    >

    > - [POST
    /v1/sessions-profile](/api-reference/session/checkout_session_profile_post)

    > - [POST /v1/sessions](/checkout-api/session/checkout_session_post)

    > - [POST
    /admin/session/profiles](/checkout-api/profiles/admin_session_profile_post)


    ## 2020-12-01


    > **new**: Add support for using external discount codes in Express
    checkout.

    > A session can be configured with a `express.discount_code_callback_url`
    that will be

    > invoked when the session is updated with a promotion code. The response
    from

    > the callback will then be used to adjust the order and shipping options

    > available.

    >

    > - [POST
    /v1/sessions-profile](/api-reference/session/checkout_session_profile_post)

    > - [POST /v1/sessions](/checkout-api/session/checkout_session_post)

    > - [POST
    examples/discount_code_callback_url](#operation/example_discount_code_callback_url)


    > **new**: Add support for an advance credit check of Collector B2B
    customers

    >

    > - [POST /v1/creditchecks](/checkout-api/creditchecks/creditchecks_post)


    ## 2020-11-01


    > **new**: Add support for overriding Collector gateway settings

    >

    > - [PUT
    /v1/admin/gateways/collector/override](/checkout-api/collector-gateway/admin_checkout_id_gw_override_collector_put)


    > **new** Add support for `collector.invoice_b2b_preapproved` and
    `collector.installment_b2b_preapproved` payment


    > **new** Async transaction operations. The response status from

    > capture, refund or void can now be `202` if the request was accepted

    > but the processing has not been completed.

    >

    > The transaction with an operation that was accepted will receive a

    > update later when the processing completes.

    > The event that completes the operation will include an

    > `initiate_request_id` property.

    > You can use the `callback_url` to receive a callback when the

    > processing completes.

    >

    > The status of the transaction will remain unchanged until the processing

    > of the operation completes.

    >

    > - [POST
    /v1/transactions/{id}/capture](/api-reference/transactions/transactions_id_capture_post)

    > - [POST
    /v1/transactions/{id}/refund](/api-reference/transactions/transactions_id_refund_post)

    > - [POST
    /v1/transactions/{id}/void](/api-reference/transactions/transactions_id_void_post)


    > **new** Add support for callback when transaction is updated. You can now

    > receive callbacks on captures, refunds and void by including

    > `report_event=<event>` query parameter in the `callback_url`.

    >

    >     https://example.com/callback?report_event=CAPTURE&report_event=REFUND

    >

    >

    > - [POST
    /v1/sessions-profile](/api-reference/session/checkout_session_profile_post)

    > - [POST /v1/sessions](/checkout-api/session/checkout_session_post)


    ## 2020-10-01


    > **new** Added `in_store` as a possible payment channel for

    > payments in physical stores.

    >

    > - [POST
    /v1/sessions-profile](/api-reference/session/checkout_session_profile_post)

    > - [POST /v1/sessions](/checkout-api/session/checkout_session_post)


    ## 2020-09-01


    > **new** Added option for configurating the payment channel.

    > See `configuration.channel`. The new option add support for

    > `in_app` channel with appswitch deeplink URL (Vipps).

    >

    > - [POST
    /v1/sessions-profile](/api-reference/session/checkout_session_profile_post)

    > - [POST /v1/sessions](/checkout-api/session/checkout_session_post)


    > **new** Add support for optional `order.discount_lines` when creating

    > a new sessions.

    >

    > - [POST
    /v1/sessions-profile](/api-reference/session/checkout_session_profile_post)

    > - [POST /v1/sessions](/checkout-api/session/checkout_session_post)


    > **new** Add support for updating a session

    >

    > - [PUT
    /v1/sessions/{session_id}](/api-reference/session/checkout_session_put)

    > - [POST
    /view@{session_id}@session@lock](/checkout-api/view/checkout_sid_lock)


    > `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`

    >

    > - [POST /v1/sessions/pay](/checkout-api/payment/checkout_sid_pay_post)


    ## 2020-08-01


    > **new** Add support for optional `metadata` when creating

    > a new session.

    >

    > - [POST
    /v1/sessions-profile](/api-reference/session/checkout_session_profile_post)

    > - [POST /v1/sessions](/checkout-api/session/checkout_session_post)


    > **new** Add support for optional `merchant_reference_2` when

    > creating a new session

    >

    > - [POST
    /v1/sessions-profile](/api-reference/session/checkout_session_profile_post)

    > - [POST /v1/sessions](/checkout-api/session/checkout_session_post)


    > **new** Add support for delayed callback. You can enable the delay
    callback feature

    > by including `delay_callback=<seconds>` query parameter in the
    `callback_url`

    >

    >     https://example.com/callback?delay_callback=30

    >


    ## 2020-07-01


    > **new**: Add support for overriding Netaxept gateway settings

    >

    > - [PUT
    /v1/admin/gateways/netaxept/override](/checkout-api/netaxept-gateway/admin_checkout_id_gw_override_netaxept_put)


    > **new**: Add terminal options for Netaxept creditcard payment. Enable use
    of

    > Netaxept hosted checkout, and provided custom configuration.


    > **new**: Add support for Netaxept.

    >

    > - [GET
    /view/{session_id}/netaxept](/checkout-api/netaxept/checkout_sid_netaxept_html_get)


    > **new**: Add support for overriding PayEx gateway settings

    >

    > - [PUT
    /v1/admin/gateways/payex/override](/checkout-api/payex-gateway/admin_checkout_id_gw_override_payex_put)


    > **new**: Include payment token in transaction details

    >

    > - [GET
    /v1/transactions/{id}?includes=card.payment_token](/api-reference/transactions/transactions_id_get)


    > **new** Added option for using payment token for payex.creditcard 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 payex.creditcard

    > payments, see `configuration.payex.creditcard`. 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.


    ## 2020-06-01


    > **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`.

    >

    > - [PUT
    /v1/transaction/{transction_id}](/api-reference/transactions/transactions_id_put)

    > - [GET /v1/transactions](/api-reference/transactions/transactions_get)


    ## 2020-05-01


    > **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`

    >

    >     https://example.com/callback?method=POST

    >

    > - [POST /v1/sessions](/checkout-api/session/checkout_session_post)

    > - [POST
    /v1/sessions-profile](/api-reference/session/checkout_session_profile_post)


    ## 2020-04-01


    > **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.

    >

    > - [POST /v1/sessions](/checkout-api/session/checkout_session_post)

    > - [POST
    /v1/sessions-profile](/api-reference/session/checkout_session_profile_post)


    > **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.

    >

    > - [POST /v1/sessions](/checkout-api/session/checkout_session_post)

    > - [POST
    /v1/sessions-profile](/api-reference/session/checkout_session_profile_post)


    > **change**: Add support for creating session with Ingenico enabled

    >

    > - [POST
    /sessions-profile](/api-reference/session/checkout_session_profile_post)

    > - [POST /sessions](/checkout-api/session/checkout_session_post)

    > - [POST
    /admin/session/profiles](/checkout-api/profiles/admin_session_profile_post)


    > **change**: Add support for creating session with Ingenico enabled

    >

    > - [POST
    /sessions-profile](/api-reference/session/checkout_session_profile_post)

    > - [POST /sessions](/checkout-api/session/checkout_session_post)

    > - [POST
    /admin/session/profiles](/checkout-api/profiles/admin_session_profile_post)


    > **new** Add support for `collector.invoice_b2b` payment


    ## 2020-03-01


    > **new** Add support for configuring Ingenico gateway

    >

    > - [PUT
    /admin/gateways/ingenico](#operation/admin_checkout_id_gw_ingenico_put)


    > **new** Add support for enabling `Dintero-Signature` header for all

    > system-to-system request sent from Dintero to the merchant

    >

    > - [POST /v1/admin/signature](/checkout-api/secrets/admin_signature_post)


    > **fix**: Documentation for endpoint [GET
    /v1/admin/api-keys](/checkout-api/api-keys/admin_api_keys_get).

    > 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

    >

    > - [POST
    /v1/admin/session/profiles](/checkout-api/profiles/admin_session_profile_post)

    > - [PUT
    /v1/admin/session/profiles/{profile_id}](/checkout-api/profiles/admin_session_profile_details_put)

    > - [POST /v1/sessions](/checkout-api/session/checkout_session_post)

    > - [POST
    /v1/sessions-profile](/api-reference/session/checkout_session_profile_post)


    > **new** Add support for overriding gateway settings

    >

    > - [PUT
    /v1/admin/gateways/vipps/override](/checkout-api/vipps-gateway/admin_checkout_id_gw_override_vipps_put)

    > - [PUT
    /v1/admin/gateways/santander/override](/checkout-api/santander-gateway/admin_checkout_id_gw_override_santander_put)


    ## 2019-12-01


    > **new** Add support for `include_session` query parameter

    >

    > - [POST
    /v1/sessions-profile](/api-reference/session/checkout_session_profile_post)

    > - [POST /v1/sessions](/checkout-api/session/checkout_session_post)


    > **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:

    >

    > - [POST
    /v1/sessions-profile](/api-reference/session/checkout_session_profile_post)

    > - [POST /v1/sessions](/checkout-api/session/checkout_session_post)


    > **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`

    >

    > - [GET /transactions](/api-reference/transactions/transactions_get)

    > - [GET
    /transactions/{id}](/api-reference/transactions/transactions_id_get)


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

    >

    > - [POST /v1/sessions](/checkout-api/session/checkout_session_post)

    > - [GET /v1/sessions](/checkout-api/session/checkout_sessions_get)

    > - [GET
    /v1/sessions/{session_id}](/api-reference/session/checkout_session_get)

    > - [GET
    /view/{session_id}/session](/checkout-api/view/checkout_sid_json_get)


    > **new** Add an endpoint for abandon a checkout payment

    >

    > - [POST
    /view/{session_id}/session/abandon](/checkout-api/view/view_sid_session_abandon_post)


    ## 2019-11-01


    > **changed**: Express Checkout flow added to sessions

    >

    > - [POST /v1/sessions](/checkout-api/session/checkout_session_post)

    > - [GET /v1/sessions](/checkout-api/session/checkout_sessions_get)

    > - [GET
    /v1/sessions/{session_id}](/api-reference/session/checkout_session_get)

    > - [GET
    /view/{session_id}/session](/checkout-api/view/checkout_sid_json_get)


    > **new** Update a an Express Checkout session order

    >

    > - [PUT /view/{session_id}/session](#operation/checkout_sid_json_put)


    > **new**: Extend Transaction with optional `billing_address` field.


    ## 2019-10-01


    > **new**: Extend Transaction Event with correction field

    > to handle correction of status after operations errors


    > **changed**: previously required fields are now optional for
    `instabank.finance`.

    >

    > - 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.

    >

    > - [POST
    /v1/sessions/{session_id}/pay](/checkout-api/payment/checkout_sid_pay_post)


    > **changed**: Payment sessions with `instabank.invoice` now contains an

    > `require_applicant` boolean flag in the _instabank invoice configuration_

    > when getting the session.

    >

    > - [GET
    /v1/sessions/{session_id}](/api-reference/session/checkout_session_get)


    > **changed**: Adds detailed debt array to `instabank.finance`.


    ## 2019-09-01


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


    > **new**: Filter transaction list by `payment_product_type`:

    >

    > - instabank.finance

    > - instabank.invoice

    > - vipps

    > - payex.creditcard

    > - 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.

    >

    > - [POST
    /v1/sessions/{session_id}/pay](/checkout-api/payment/checkout_sid_pay_post)


    ## 2019-07-01


    > **fix**: `Transaction.status` typo, rename `PARTICALLY_CAPTURED_REFUNDED`
    to

    > `PARTIALLY_CAPTURED_REFUNDED`.


    > **changed**: replaced `card` payment type with `payex`. The payex

    > payment type adds support for payment product types:

    >

    > - payex.creditcard

    > - payex.swish


    > **changed**: Add support for optional custom expires_at parameter when

    > creating a new session either directly or from a profile.

    >

    > - [POST
    /v1/sessions-profile](/api-reference/session/checkout_session_profile_post)

    > - [POST /v1/sessions](/checkout-api/session/checkout_session_post)


    > **changed**: Add support for override of configuration when creating

    > a new session from a profile.

    >

    > - [POST
    /v1/sessions-profile](/api-reference/session/checkout_session_profile_post)


    > **new**: support cancel of session

    >

    > - [POST
    /v1/sessions/{session_id}/cancel](/api-reference/session/checkout_session_cancel_post)


    > **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`.

    >

    > - [POST /v1/sessions](/checkout-api/session/checkout_session_post)

    > - [POST
    /v1/sessions-profile](/api-reference/session/checkout_session_profile_post)


    ## 2019-06-01


    > **break**: Pay with `instabank.finance` type requires now additional

    > properties to comply with new regulations from Finanstilsynet.

    >

    > - [POST
    /v1/sessions/{session_id}/pay](/checkout-api/payment/checkout_sid_pay_post)
        > **changed**: In SessionMeta events, extend event with `details` object
        > and enumerate the event names available.
    > - [GET
    /v1/sessions/{session_id}](/api-reference/session/checkout_session_get)


    > **changed**: Remove `instabank.installment` and

    > `instabank.postponement` payment type. The types will no longer be

    > accepted by:

    >

    > - [PUT /v1/admin/checkout](/checkout-api/checkout/admin_checkout_id_put)

    > - [PUT
    /v1/admin/gateways/instabank](/checkout-api/instabank-gateway/admin_checkout_id_gw_instabank_put)

    > - [POST
    /v1/admin/session/profiles](/checkout-api/profiles/admin_session_profile_post)

    > - [POST /v1/sessions](/checkout-api/session/checkout_session_post)


    ## 2019-05-01


    > 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.

    >

    > - [POST
    /v1/sessions-profile](/api-reference/session/checkout_session_profile_post)

    > - [POST /v1/sessions](/checkout-api/session/checkout_session_post)


    ## 2019-04-01


    > **fix**: Fix documentation for the response from [api-keys](#tag/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.

    >

    > - [Create Client](/management-auth-api/clients/aid_auth_clients_post)

    > - [Get token](/api-reference/authenticate/aid_auths_oauth_token_post)


    ## 2019-03-01


    > **break**: Administration of checkout gateways was moved to new

    > endpoints. Gateway configuration will no longer be supported via

    > the `PUT /admin/checkout` endpoint.

    >

    > - [PUT /admin/checkout](/checkout-api/checkout/admin_checkout_id_put)

    > - [POST
    /admin/gateways/{gateway}/status](/checkout-api/gateways/admin_checkout_gw_type_status_post)

    > - [PUT
    /admin/gateways/instabank](/checkout-api/instabank-gateway/admin_checkout_id_gw_instabank_put)

    > - [PUT
    /admin/gateways/vipps](/checkout-api/vipps-gateway/admin_checkout_id_gw_vipps_put)

    >

    > **removed**:

    >

    > - ~`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.


    ## 2019-01-31


    > **new**: Add support for checkout with QR-Code

    > A QR Code can now be generated for a Checkout Session.

    > See relevant resource for more information.

    >

    > - [POST
    /v1/sessions/{session_id}/qr](/checkout-api/session/qr_sessions_sid_post)


    > **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`.

    >

    > - [GET /v1/transactions](/api-reference/transactions/transactions_get)


    ## 2018-11-24


    > **new**: Add support for `session.url.callback_url`. Get system-to-system

    > notification when session payment is completed.

    >

    > - [POST
    /v1/sessions-profile](/api-reference/session/checkout_session_profile_post)

    > - [POST /v1/sessions](/checkout-api/session/checkout_session_post)
  version: LATEST
  license:
    name: UNLICENSED
    url: https://dintero.com
  x-logo:
    url: https://docs.dintero.com/img/dintero-dark-padded.svg
    altText: Dintero Logo
servers:
  - url: https://checkout.dintero.com/v1
security:
  - apikey: []
tags:
  - name: Transactions
    description: |
      View and perform operations on transactions
  - name: Card Tokens
    description: |
      Manage card tokens
  - name: session
    description: |
      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.
  - name: payment
    description: |
      Resources used by the customer aka user to complete the payment of a
      session.
  - name: view
    description: |
      Resources used to present the customer with payment details
  - name: api-keys
    description: |
      Manage api-keys granting access to the Checkout API
  - name: checkout
    description: |
      Configure Checkout for the account.
  - name: profiles
    description: |
      Manage session profiles. A session profile allows configuring session
      defaults.
  - name: creditchecks
    description: |
      Credit checks for customers
  - name: view-pos
    x-displayName: view
    description: |
      Open endpoints for POS
  - name: vipps-gateway
    x-displayName: Vipps
    description: |
      Vipps integration endpoints
  - name: netaxept-gateway
    x-displayName: Netaxept
    description: |
      Netaxept integration endpoints
  - name: santander-gateway
    x-displayName: Santander
    description: |
      Santander integration endpoints
  - name: collector-gateway
    x-displayName: Collector
    description: |
      Collector integration endpoints
  - name: payex-gateway
    x-displayName: PayEx
    description: |
      PayEx integration endpoints
  - name: instabank-gateway
    x-displayName: Instabank
    description: |
      Instabank integration endpoints
  - name: klarna-gateway
    x-displayName: Klarna
    description: |
      Klarna integration endpoints
  - name: kravia-gateway
    description: |
      Kravia integration endpoints
    x-displayName: Kravia
  - name: two-gateway
    description: |
      Two B2B integration endpoints
    x-displayName: Two B2B
  - name: swish-gateway
    x-displayName: Swish
    description: |
      Swish integration endpoints
  - name: bambora-gateway
    x-displayName: Bambora
    description: |
      Bambora integration endpoints
  - name: dintero-psp-gateway
    x-displayName: Dintero PSP
    description: |
      Dintero PSP integration endpoints
  - name: example-session-callbacks
    x-displayName: callback
    description: |
      Example session callbacks
  - name: payex-v3
    description: |
      Handle Payment initiated via Swedbank Pay Checkout v3 API
  - name: vipps-epayment
    description: |
      Handle Payment initiated via Vipps ePayment API
  - name: mtls-mastercard
    description: |
      Mastercard inbound mTLS
    x-displayName: Mastercard
  - name: visa-notifications
    description: |
      Visa inbound notifications
    x-displayName: Visa
  - name: apple pay notifications
    description: |
      Apple Pay inbound notifications
    x-displayName: Apple Pay
  - name: identity
    description: |
      Identity verifications
  - name: files
    x-displayName: Files
    description: |
      File operations
  - name: terminals
    description: Terminal operations
paths:
  /admin/session/profiles/{profile_id}:
    delete:
      tags:
        - profiles
      summary: admin_session_profile_details_delete
      description: |
        scopes:
        - admin:checkout
        - write:checkout:/admin/session/profiles
      operationId: admin_session_profile_details_delete
      parameters:
        - name: profile_id
          in: path
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Session profile
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/Id'
                  - $ref: '#/components/schemas/ProfileConfiguration'
                  - $ref: '#/components/schemas/ProfileConfigurationResponse'
        '401':
          $ref: '#/components/responses/AccessForbidden'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
      security:
        - adminKey: []
        - JWT: []
components:
  schemas:
    Id:
      type: object
      properties:
        id:
          type: string
          description: |
            An ID that uniquely identifies the resource
        created_at:
          type: string
          format: date-time
          description: |
            The date-time when the resource was created
    ProfileConfiguration:
      type: object
      required:
        - configuration
        - description
      properties:
        url:
          type: object
          properties:
            merchant_terms_url:
              type: string
              format: uri
              pattern: https?://*
              example: https://example.com/terms.html
              description: >
                URL to a webpage with the merchant's Terms of Service. Will be
                linked to from the checkout.
        profile_id:
          type: string
          maxLength: 255
          description: |
            The profile_id you have defined for the profile.
            (must not have trailing or leading spaces)
            An auto-generated profile_id will be created if no
            profile_id is provided.
        merchant:
          $ref: '#/components/schemas/Merchant'
        configuration:
          allOf:
            - $ref: '#/components/schemas/PaymentConfiguration'
            - $ref: '#/components/schemas/DiscountsConfiguration'
            - $ref: '#/components/schemas/SessionThemeConfiguration'
            - $ref: '#/components/schemas/CountryConfiguration'
            - $ref: '#/components/schemas/DefaultCustomerTypeConfiguration'
            - $ref: >-
                #/components/schemas/AllowDifferentBillingShippingAddressConfiguration
        description:
          type: string
          description: description of the profile
        checkboxes:
          $ref: '#/components/schemas/CheckboxConfiguration'
        express:
          allOf:
            - $ref: >-
                #/components/schemas/DefaultDifferentBillingShippingAddressConfiguration
    ProfileConfigurationResponse:
      type: object
      required:
        - created_by
        - created_at
        - updated_at
      properties:
        created_by:
          type: string
          description: The user/client created the resource
          readOnly: true
        created_at:
          type: string
          format: date-time
          description: Time when the resource was created
          readOnly: true
        updated_at:
          type: string
          format: date-time
          description: Time when the resource was last updated
          readOnly: true
        deleted_by:
          type: string
          description: The user/client deleted the resource
          readOnly: true
        deleted_at:
          type: string
          format: date-time
          description: Time when the resource was deleted
          readOnly: true
    Merchant:
      type: object
      description: |
        Configure merchant information used in the
        checkout.
      required:
        - name
        - logo_url
      properties:
        name:
          type: string
        logo_url:
          type: string
          pattern: https?://*
          format: uri
        website:
          type: string
        email:
          type: string
        phone_number:
          type: string
        merchant_category_code:
          type: string
        platform_type:
          type: string
          description: |
            Type of platform the merchant is.
          enum:
            - aggregator
            - marketplace
        country:
          type: string
          format: iso3166-alpha2
        postal_code:
          type: string
        postal_place:
          type: string
        address_line:
          type: string
        address_line_2:
          type: string
    PaymentConfiguration:
      type: object
      allOf:
        - $ref: '#/components/schemas/AutoCaptureConfiguration'
        - properties:
            channel:
              type: string
              enum:
                - ecommerce
                - in_app
                - in_store
              default: ecommerce
              description: >
                `channel` enables special behaviour for various scenarios.


                The majority of web integrations will not need to set this
                property.


                ### in_app


                The `in_app` channel is intended for payments done from

                mobile devices where `url.return_url` can be set to the

                application's appswitch URL.


                #### Session deeplink URL


                Creating a session with `channel=in_app` will return an

                appswitch deeplink URL if the enabled payment options in

                the session supports it


                Appswitch deeplink is currently only supported for sessions

                that has only Vipps enabled via Dintero PSP, Vipps or Swedbank
                (payex),

                Mobilepay enable via Swedbank (payex) or Swish

                  - configuration.vipps.enabled
                  - configuration.payex.vipps.enabled
                  - configuration.payex.mobilepay.enabled
                  - configuration.dintero_psp.vipps.enabled
                  - configuration.swish.swish.enabled

                > `in_app` is currently not supported when express is enabled

                > `in_app` with deeplink URL is not supported if `publish` is
                enabled


                ### in_store


                The `in_store` channel is intended for payments done

                in physical stores.


                Depending on the payment_type, choosing `in_store` will

                change the behaviour of the payment.
            publish:
              $ref: '#/components/schemas/PublishConfiguration'
            active_payment_types:
              type: object
              properties:
                enabled:
                  type: boolean
                  description: >
                    Use this flag as wildcard to include all active payment
                    types

                    configured for a given currency when creating a payment
                    session.
            default_payment_type:
              type: string
              description: >
                Configure the default payment type, the selected payment when

                loading the checkout window. The value must be an enabled
                payment type.
              enum:
                - bambora.applepay
                - bambora.creditcard
                - bambora.googlepay
                - bambora.mobilepay
                - bambora.vipps
                - dintero.zero
                - dintero_psp.applepay
                - dintero_psp.creditcard
                - dintero_psp.vipps
                - dintero_psp.googlepay
                - dintero_psp.clicktopay
                - instabank.finance
                - instabank.invoice
                - instabank.installment
                - instabank.postponement
                - vipps
                - payex.creditcard
                - payex.mobilepay
                - payex.swish
                - payex.vipps
                - payex.applepay
                - payex.clicktopay
                - payex.googlepay
                - collector.finance
                - collector.invoice
                - collector.invoice_b2b
                - collector.invoice_b2b_preapproved
                - collector.installment_b2b_preapproved
                - collector.installment
                - santander.debit_account
                - swish.swish
                - netaxept.creditcard
                - klarna.klarna
                - klarna.billie
                - kravia.invoice_b2b
                - kravia.invoice_b2b_grouped
                - kravia.invoice_b2c
                - seitatech.in_person
                - two.invoice_b2b
            bambora:
              $ref: '#/components/schemas/BamboraConfiguration'
            dintero:
              $ref: '#/components/schemas/DinteroConfiguration'
            dintero_psp:
              $ref: '#/components/schemas/DinteroPspConfiguration'
            instabank:
              $ref: '#/components/schemas/InstabankConfiguration'
            netaxept:
              $ref: '#/components/schemas/NetaxeptConfiguration'
            payex:
              $ref: '#/components/schemas/PayExConfiguration'
            vipps:
              $ref: '#/components/schemas/VippsConfiguration'
            collector:
              $ref: '#/components/schemas/CollectorConfiguration'
            klarna:
              $ref: '#/components/schemas/KlarnaConfiguration'
            kravia:
              $ref: '#/components/schemas/KraviaConfiguration'
            two:
              $ref: '#/components/schemas/TwoConfiguration'
            santander:
              $ref: '#/components/schemas/SantanderConfiguration'
            seitatech:
              $ref: '#/components/schemas/SeitatechConfiguration'
            swish:
              $ref: '#/components/schemas/SwishConfiguration'
            payout:
              $ref: '#/components/schemas/PayoutConfiguration'
            allow_express_wallet_payment:
              type: boolean
              description: >
                When enabled, wallet payments (like Apple Pay and Google Pay)

                can be used in their express mode, allowing customers to
                complete

                purchases with a single tap, bypassing the standard checkout
                flow.
              default: false
              example: false
            age_verification:
              $ref: '#/components/schemas/AgeVerificationConfiguration'
    DiscountsConfiguration:
      properties:
        discounts:
          type: object
          description: |
            Configuration for discounts calculations
          properties:
            type:
              type: string
              readOnly: true
              enum:
                - discounts
            express_discount_codes:
              type: object
              required:
                - enabled
              properties:
                payability:
                  $ref: '#/components/schemas/SessionPayability'
                enabled:
                  type: boolean
                  description: >
                    The discounts will be given by the configured express
                    callback url.


                    The callback URL will be invoked when the session is updated

                    with a discount code, and the response used to update the
                    discounts

                    on the order items and the shipping options.
            order:
              type: object
              description: |
                Configure discounts calculation on the session order.
              required:
                - enabled
              properties:
                enabled:
                  description: >
                    Enable discount calculation on order

                    items eligible for discount


                    - A session that has the `customer.customer_id` set will
                    have
                      its discounts calculated when the session is created.

                    - A session with no customer_id will only have the discounts
                      calculated when the customer is identified by the checkout
                      page.

                    - The autorized amount will be the net amount from the
                      original session amount specified when the session was
                      created.
                  type: boolean
                  default: false
    SessionThemeConfiguration:
      type: object
      properties:
        theme:
          type: object
          description: |
            Customize the appearance of the checkout.
          properties:
            backdrop:
              type: string
              description: |
                Color on backdrop shown in desktop mode

                Color, supported formats are
                - hex: `#ff0000`
                - rgb: `rgb(255,0,0)`
                - rgba: `rgba(255,0,0,0.5)`
            primary:
              type: string
              description: |
                Primary color used on pay button and other buttons.

                Color, supported formats are
                - hex: `#ff0000`
                - rgb: `rgb(255,0,0)`
                - rgba: `rgba(255,0,0,0.5)`
            cardRadius:
              type: string
              description: |
                Radius on card element in the checkout.
            buttonRadius:
              type: string
              description: |
                Radius on buttons in the checkout.
    CountryConfiguration:
      properties:
        countries:
          description: |
            Country preferences
          type: object
          properties:
            preferred_country:
              description: |
                Country to use as default in address and phone country code
              type: string
              format: iso3166-alpha2
            allow_countries:
              description: >
                List of countries where the customer is allowed to set their
                address.

                If empty, all countries are allowed, except for the ones in
                `deny_countries`.


                A country can not be in both `allow_countries` and
                `deny_countries`.
              type: array
              items:
                type: string
                format: iso3166-alpha2
            deny_countries:
              description: >
                List of countries where the customer is not allowed to set their
                address.


                A country can not be in both `allow_countries` and
                `deny_countries`.
              type: array
              items:
                type: string
                format: iso3166-alpha2
    DefaultCustomerTypeConfiguration:
      properties:
        default_customer_type:
          description: |
            Customer type to use as default for the customer.
          type: string
          enum:
            - b2c
            - b2b
    AllowDifferentBillingShippingAddressConfiguration:
      properties:
        allow_different_billing_shipping_address:
          description: >
            Allow that the shipping and billing address can be different.


            An array of strings, the values `b2c` and `b2b` can be used to

            limit the what types of customer that are allowed to submit
            different

            addresses for shipping and billing.


            By default we limit the shipping and billing addresses to be equal
            for

            both B2C and B2B customers.
          type: array
          default: []
          items:
            type: string
            enum:
              - b2c
              - b2b
    CheckboxConfiguration:
      type: array
      description: |
        Configuration for checkboxes that should be part of the checkout
      items:
        $ref: '#/components/schemas/Checkbox'
      maxItems: 2
    DefaultDifferentBillingShippingAddressConfiguration:
      properties:
        default_different_billing_shipping_address:
          description: >
            Configure the default behavior for how Checkout Express presents the
            shipping and billing addresses.


            If `[]`, Checkout defaults to assuming the shipping and billing
            addresses are the same.


            If `["b2b"]`, Checkout defaults to assuming different addresses for
            B2B only.


            If `["b2c"]`, Checkout defaults to assuming different addresses for
            B2C only.


            If `["b2b", "b2c"]`, Checkout defaults to assuming different
            addresses for all customer types.


            If omitted, Checkout defaults to the same behaviour as setting `[]`.


            This will only have an effect if
            `allow_different_billing_shipping_address` is set.
          type: array
          default: []
          items:
            type: string
            enum:
              - b2c
              - b2b
    Error:
      type: object
      required:
        - error
      properties:
        error:
          type: object
          required:
            - message
          properties:
            code:
              type: string
              description: The code used to identify the error/warning
            errors:
              type: array
              description: The nested error(s) encountered during validation
              items:
                type: object
            message:
              type: string
              description: The human readable description of the error/warning
    AutoCaptureConfiguration:
      properties:
        auto_capture:
          type: boolean
          description: >
            If `true` the transaction from the payment session will be captured

            automatically after the transaction has been `AUTHORIZED`. The
            checkout

            sessions `callback_url` will not be called until after the
            transaction

            has been `CAPTURED`.


            If `auto_capture` is not specified it defaults to `false`.


            A successful auto-capture of a transaction sometimes requires more

            than one capture attempt. This can be the case if the payment
            gateway

            is down or is experiencing heavy traffic.


            Dintero will attempts capture retries for 48 hours, the
            `callback_url`

            will be invoked when capture succeeds.


            Manual capture of a transaction that is pending auto-capture will

            stop the auto-capture process from completing the capture.
    PublishConfiguration:
      description: |
        Publish checkout message to the customer.
      type: array
      items:
        type: object
        required:
          - type
          - channel
        properties:
          channel:
            type: string
            enum:
              - sms
              - push
          type:
            type: string
            enum:
              - checkout-link
              - app
              - terminal
          id:
            type: string
            readOnly: true
          status:
            type: string
            readOnly: true
            description: |
              status of the message sent to the customer.

              **`skipped`** will used in case where publish
              cannot be sent given the `session.customer`.
            enum:
              - sent
              - skipped
              - failed
    BamboraConfiguration:
      type: object
      description: Bambora configuration
      properties:
        type:
          description: Denotes what kind of config parameter this is
          type: string
          enum:
            - payment_type
        applepay:
          type: object
          required:
            - enabled
          properties:
            type:
              description: Denotes what kind of config parameter this is
              type: string
              enum:
                - payment_product_type
            enabled:
              description: Enable Apple Pay Payment
              type: boolean
            payability:
              $ref: '#/components/schemas/SessionPayability'
        creditcard:
          type: object
          required:
            - enabled
          properties:
            type:
              description: Denotes what kind of config parameter this is
              type: string
              enum:
                - payment_product_type
            enabled:
              description: enable Credit Card Payment
              type: boolean
            payability:
              $ref: '#/components/schemas/SessionPayability'
            generate_payment_token:
              type: boolean
              default: false
              description: |
                generate payment token to use for future payments

                The generated payment token will be made available from
                the transaction details.
        googlepay:
          type: object
          required:
            - enabled
          properties:
            type:
              description: Denotes what kind of config parameter this is
              type: string
              enum:
                - payment_product_type
            enabled:
              description: Enable Google Pay Payment
              type: boolean
            payability:
              $ref: '#/components/schemas/SessionPayability'
        mobilepay:
          type: object
          required:
            - enabled
          properties:
            type:
              description: Denotes what kind of config parameter this is
              type: string
              enum:
                - payment_product_type
            enabled:
              description: enable MobilePay Payment
              type: boolean
            payability:
              $ref: '#/components/schemas/SessionPayability'
        vipps:
          type: object
          required:
            - enabled
          properties:
            type:
              description: Denotes what kind of config parameter this is
              type: string
              enum:
                - payment_product_type
            enabled:
              description: enable Vipps Payment
              type: boolean
            payability:
              $ref: '#/components/schemas/SessionPayability'
    DinteroConfiguration:
      type: object
      description: Dintero configuration
      properties:
        type:
          description: Denotes what kind of config parameter this is
          type: string
          enum:
            - payment_type
        wallets:
          type: object
          description: >
            Allow the payment session to be fully or partially authorized with

            Dintero Wallets gift card.


            Please note that the following payment methods are not supported
            together

            with Dintero Wallets gift cards: `vipps`, `swish.swish`,

            `klarna.billie`, `instabank`, `collector`, and `netaxept`.

            Creating a session with Dintero Wallets and either of the
            abovementioned

            payment types enabled will result in an error.
          required:
            - enabled
          properties:
            type:
              description: Denotes what kind of config parameter this is
              type: string
              enum:
                - payment_product_type
            enabled:
              description: enable gift card
              type: boolean
            payability:
              $ref: '#/components/schemas/SessionPayability'
        zero:
          type: object
          description: >
            Allow initiating pay on zero amount session, the payability will
            only

            be enabled if the session order amount is zero. Initiating a
            `dintero.zero`

            payment will result in a transaction with `dintero.zero` payment
            product type

            that will be excluded from settlement reports (as it will not have
            any payout)
          required:
            - enabled
          properties:
            type:
              description: Denotes what kind of config parameter this is
              type: string
              enum:
                - payment_product_type
            enabled:
              description: enable zero amount session
              type: boolean
            payability:
              $ref: '#/components/schemas/SessionPayability'
        external:
          type: object
          description: |
            Allow initiating pay on an external payment method.
          required:
            - enabled
            - display
          properties:
            type:
              description: Denotes what kind of config parameter this is
              type: string
              enum:
                - payment_product_type
            enabled:
              description: enable external payment method
              type: boolean
            payability:
              $ref: '#/components/schemas/SessionPayability'
            display:
              type: object
              description: |
                Display configuration for the payment method
              required:
                - payment_method_label
                - button_label
              properties:
                payment_method_label:
                  type: string
                  maxLength: 50
                  description: |
                    Label to be shown in Checkout for the payment method
                content:
                  type: object
                  description: >
                    Supplimentary content to be rendered within the payment
                    method.


                    Having both `content.title` and `content.description`
                    omitted will render just the pay button in the payment
                    method.
                  properties:
                    title:
                      type: string
                      maxLength: 50
                      description: >
                        Title to be shown over the pay button within the payment
                        method. If omitted, it will not be rendered.
                    description:
                      type: string
                      maxLength: 255
                      description: >
                        Description to be shown underneath the title within the
                        payment method. If omitted, it will not be rendered.
                button_label:
                  type: string
                  maxLength: 50
                  description: >
                    Label to be shown on the pay button within the payment
                    method
                terms:
                  type: array
                  description: |
                    Terms & conditions to be presented for the payment method
                  items:
                    type: object
                    maxItems: 5
                    required:
                      - ref
                      - href
                      - label
                    properties:
                      ref:
                        type: string
                        description: |
                          Reference for the link
                      label:
                        type: string
                        description: |
                          Label to use in place of the link
                      href:
                        type: string
                        format: uri
                        description: |
                          URL of the link
    DinteroPspConfiguration:
      type: object
      description: Dintero PSP configuration
      properties:
        type:
          description: Denotes what kind of config parameter this is
          type: string
          enum:
            - payment_type
        creditcard:
          type: object
          required:
            - enabled
          properties:
            type:
              description: Denotes what kind of config parameter this is
              type: string
              enum:
                - payment_product_type
            enabled:
              description: enable creditcard
              type: boolean
            payability:
              $ref: '#/components/schemas/SessionPayability'
            generate_payment_token:
              type: boolean
              default: false
              description: |
                generate payment token to use for future payments

                The generated payment token will be made available from
                the transaction details.
            token_supported_auth_methods:
              $ref: '#/components/schemas/DinteroPspTokenAuthMethods'
            sca_policy:
              $ref: '#/components/schemas/DinteroPaymentOptionSCAPolicy'
            generate_payment_token_config:
              type: object
              additionalProperties: false
              description: >
                Configuration for generating payment token. If
                `generate_payment_token` is true and 

                configuration is omitted, the card will be tokenized.
              properties:
                save_card_checkbox:
                  type: string
                  enum:
                    - opt_in
                    - opt_out
                  description: >
                    `opt_in` - Cardholder needs to opt-in to saving card, so the
                    checkbox should not be checked by default.

                    `opt_out` - Cardholder needs to opt-out of saving card, so
                    the checkbox should be checked by default.


                    `generate_payment_token` must be true for this to have any
                    effect. If `generate_payment_token` is true

                    and `save_card_checkbox` is omitted, the card will be
                    tokenized.
        vipps:
          type: object
          required:
            - enabled
          properties:
            type:
              description: Denotes what kind of config parameter this is
              type: string
              enum:
                - payment_product_type
            enabled:
              description: enable Vipps
              type: boolean
            payability:
              $ref: '#/components/schemas/SessionPayability'
            sca_policy:
              $ref: '#/components/schemas/DinteroPaymentOptionSCAPolicy'
        applepay:
          type: object
          required:
            - enabled
          properties:
            type:
              description: Denotes what kind of config parameter this is
              type: string
              enum:
                - payment_product_type
            enabled:
              description: enable Apple Pay
              type: boolean
            payability:
              $ref: '#/components/schemas/SessionPayability'
            sca_policy:
              $ref: '#/components/schemas/DinteroPaymentOptionSCAPolicy'
            details:
              type: object
              properties:
                domain_names:
                  description: >
                    An array of domain names used for embedding the checkout
                    with Apple Pay. The value is just the domain name, without
                    the protocol, port or path.
                  type: array
                  items:
                    type: string
                    example: example.dintero.com
                token_event_notification_url:
                  type: string
                  description: >
                    URL used for recieving of merchant token notifications. It
                    should

                    be set as `tokenNotificationURL` parameter when
                    reccuring/MIT

                    payment is being created.
        googlepay:
          type: object
          required:
            - enabled
          properties:
            type:
              description: Denotes what kind of config parameter this is
              type: string
              enum:
                - payment_product_type
            enabled:
              description: enable Google Pay
              type: boolean
            payability:
              $ref: '#/components/schemas/SessionPayability'
            sca_policy:
              $ref: '#/components/schemas/DinteroPaymentOptionSCAPolicy'
            generate_payment_token:
              type: boolean
              default: false
              description: |
                generate payment token to use for future payments

                The generated payment token will be made available from
                the transaction details.
        clicktopay:
          type: object
          required:
            - enabled
          properties:
            type:
              description: Denotes what kind of config parameter this is
              type: string
              enum:
                - payment_product_type
            enabled:
              description: enable Visa Click-to-Pay
              type: boolean
            payability:
              $ref: '#/components/schemas/SessionPayability'
            generate_payment_token:
              type: boolean
              default: false
              description: |
                generate payment token to use for future payments

                The generated payment token will be made available from
                the transaction details.
            sca_policy:
              $ref: '#/components/schemas/DinteroPaymentOptionSCAPolicy'
    InstabankConfiguration:
      type: object
      properties:
        finance:
          type: object
          description: finance payment
          required:
            - enabled
          properties:
            enabled:
              description: enable finance payment
              type: boolean
            payability:
              $ref: '#/components/schemas/SessionPayability'
            product:
              allOf:
                - readOnly: true
                - $ref: '#/components/schemas/InstabankFinanceProduct'
        invoice:
          type: object
          description: invoice payment
          required:
            - enabled
          properties:
            enabled:
              description: enable invoice payment (only for amounts greater than 500 NOK)
              type: boolean
            payability:
              $ref: '#/components/schemas/SessionPayability'
            require_applicant:
              type: boolean
            product:
              allOf:
                - readOnly: true
                - $ref: '#/components/schemas/InstabankInvoiceProduct'
        installment:
          type: object
          description: Fixed Part Payment
          required:
            - enabled
          properties:
            type:
              description: Denotes what kind of config parameter this is
              type: string
              enum:
                - payment_product_type
              default: payment_product_type
            enabled:
              description: enable Instabank Installment Payment
              type: boolean
            payability:
              $ref: '#/components/schemas/SessionPayability'
            products:
              readOnly: true
              type: array
              items:
                $ref: '#/components/schemas/InstabankInstallmentProduct'
        postponement:
          type: object
          description: Postpone payment
          required:
            - enabled
          properties:
            type:
              description: Denotes what kind of config parameter this is
              type: string
              enum:
                - payment_product_type
              default: payment_product_type
            enabled:
              description: enable Instabank Postponement Payment
              type: boolean
            payability:
              $ref: '#/components/schemas/SessionPayability'
            products:
              readOnly: true
              type: array
              items:
                $ref: '#/components/schemas/InstabankPostponementProduct'
    NetaxeptConfiguration:
      type: object
      description: Netaxept configuration
      properties:
        type:
          description: Denotes what kind of config parameter this is
          type: string
          enum:
            - payment_type
        creditcard:
          type: object
          required:
            - enabled
          properties:
            type:
              description: Denotes what kind of config parameter this is
              type: string
              enum:
                - payment_product_type
            enabled:
              description: enable Credit Card Payment
              type: boolean
            payability:
              $ref: '#/components/schemas/SessionPayability'
            terminal:
              type: object
              description: |
                Use Netaxept terminal instead of Dintero Checkout

                See https://shop.nets.eu/web/partners/register
              required:
                - terminal
                - terminal_single_page
              properties:
                terminal:
                  type: string
                  enum:
                    - /Terminal/default.aspx
                    - /terminal/mobile/default.aspx
                terminal_design:
                  description: >
                    Name of the terminal template to use, created in Netaxept
                    Admin
                  type: string
                terminal_single_page:
                  description: Set hosted payment window to single page
                  type: boolean
                terminal_layout:
                  type: string
    PayExConfiguration:
      type: object
      properties:
        dynamic_descriptor:
          type: string
          maxLength: 40
          description: |
            A textual description max 40 characters of the purchase.
        swish:
          type: object
          required:
            - enabled
          properties:
            enabled:
              description: enable Payex Swish Payment
              type: boolean
            payability:
              $ref: '#/components/schemas/SessionPayability'
        creditcard:
          type: object
          required:
            - enabled
          properties:
            enabled:
              description: enable Credit Card Payment
              type: boolean
            payability:
              $ref: '#/components/schemas/SessionPayability'
            generate_payment_token:
              type: boolean
              default: false
              description: |
                generate payment token to use for future payments

                The generated payment token will be made available from
                the transaction details.
            generate_recurrence_token:
              type: boolean
              default: false
              description: >
                generate recurrence payment token to use for future payments


                The generated recurrence payment token will be made available
                from

                the transaction details.
            no_cvc:
              type: boolean
              description: >
                Disable the CVC field for payments where payment token is used.

                > To use this feature it has to be enabled on the contract with
                Swedbank Pay.
        mobilepay:
          type: object
          required:
            - enabled
          properties:
            enabled:
              description: enable Payex MobilePay Payment
              type: boolean
            payability:
              $ref: '#/components/schemas/SessionPayability'
        vipps:
          type: object
          required:
            - enabled
          properties:
            enabled:
              description: enable Payex Vipps Payment
              type: boolean
            payability:
              $ref: '#/components/schemas/SessionPayability'
        applepay:
          required:
            - enabled
          properties:
            type:
              description: Denotes what kind of config parameter this is
              type: string
              enum:
                - payment_product_type
            enabled:
              description: enable PayEx Apple Pay payment
              type: boolean
            payability:
              $ref: '#/components/schemas/SessionPayability'
        clicktopay:
          required:
            - enabled
          properties:
            type:
              description: Denotes what kind of config parameter this is
              type: string
              enum:
                - payment_product_type
            enabled:
              description: enable PayEx Click to Pay payment
              type: boolean
            payability:
              $ref: '#/components/schemas/SessionPayability'
        googlepay:
          required:
            - enabled
          properties:
            type:
              description: Denotes what kind of config parameter this is
              type: string
              enum:
                - payment_product_type
            enabled:
              description: enable PayEx Google Pay payment
              type: boolean
            payability:
              $ref: '#/components/schemas/SessionPayability'
    VippsConfiguration:
      type: object
      required:
        - enabled
      properties:
        enabled:
          description: enable vipps payment
          type: boolean
        payability:
          $ref: '#/components/schemas/SessionPayability'
        dynamic_descriptor:
          type: string
          maxLength: 100
          description: |
            A short reference / descriptor that can be displayed to
            the end user
    CollectorConfiguration:
      type: object
      description: Collector configuration
      properties:
        type:
          description: Denotes what kind of config parameter this is
          enum:
            - payment_type
        dynamic_descriptor:
          type: string
          maxLength: 40
          description: |
            A textual description max 40 characters of the purchase.
        invoice:
          type: object
          description: Invoice / Part Payment
          required:
            - enabled
          properties:
            type:
              description: Denotes what kind of config parameter this is
              type: string
              enum:
                - payment_product_type
              default: payment_product_type
            enabled:
              description: enable Collector Bank Invoice Payment
              type: boolean
            countries:
              type: array
              items:
                type: string
                format: iso-3166-1
            options:
              type: object
              properties:
                enable_on_hold:
                  description: >
                    Create the collector transaction with status `ON_HOLD` and
                    let

                    the Collector callback update the transaction state from
                    `ON_HOLD`

                    to `AUTHORIZED` or `FAILED`.


                    A callback will be sent to the `callback_url` when the
                    transaction

                    changes state from `ON_HOLD` to any new state.


                    This will override the payment option `enable_on_hold` and
                    gateway config `options.enable_on_hold`-setting.
                  type: boolean
            payability:
              $ref: '#/components/schemas/SessionPayability'
        invoice_b2b:
          type: object
          description: Invoice / Part Payment
          required:
            - enabled
          properties:
            type:
              description: Denotes what kind of config parameter this is
              type: string
              enum:
                - payment_product_type
              default: payment_product_type
            payability:
              $ref: '#/components/schemas/SessionPayability'
            enabled:
              description: enable Collector Bank Invoice Payment B2B
              type: boolean
            countries:
              type: array
              items:
                type: string
                format: iso-3166-1
            options:
              type: object
              properties:
                disable_collector_b2b_address_enforcement:
                  type: boolean
                  default: false
                  description: >
                    For `collector.invoice_b2b`. By default, the
                    shipping_address B2B payments will be restricted to

                    the registered addresses of a company.


                    Setting this on the session will override the
                    `collector_b2b_address_enforcement` in `payment_options`

                    on the checkout configuration.
                enable_on_hold:
                  description: >
                    Create the collector transaction with status `ON_HOLD` and
                    let

                    the Collector callback update the transaction state from
                    `ON_HOLD`

                    to `AUTHORIZED` or `FAILED`.


                    A callback will be sent to the `callback_url` when the
                    transaction

                    changes state from `ON_HOLD` to any new state.


                    This will override the gateway's
                    `options.enable_on_hold`-setting.
                  type: boolean
        invoice_b2b_preapproved:
          type: object
          description: Invoice for pre-approved B2B-customers
          required:
            - enabled
          properties:
            type:
              description: Denotes what kind of config parameter this is
              type: string
              enum:
                - payment_product_type
              default: payment_product_type
            payability:
              $ref: '#/components/schemas/SessionPayability'
            enabled:
              description: enable Collector Bank Invoice Payment B2B
              type: boolean
            countries:
              type: array
              items:
                type: string
                format: iso-3166-1
            accounts:
              description: >
                All Collector B2B accounts configured for the customer's phone
                number at the merchant.
              type: array
              items:
                type: object
                properties:
                  billing_address:
                    $ref: '#/components/schemas/CollectorB2BAddress'
                  company_id:
                    type: string
                    description: Token to represent the company
        finance:
          type: object
          required:
            - enabled
          properties:
            type:
              description: Denotes what kind of config parameter this is
              type: string
              enum:
                - payment_product_type
              default: payment_product_type
            enabled:
              description: enable Collector Bank Finance Payment
              type: boolean
            countries:
              type: array
              items:
                type: string
                format: iso-3166-1
            payability:
              $ref: '#/components/schemas/SessionPayability'
        installment:
          type: object
          description: Fixed Part Payment
          required:
            - enabled
          properties:
            type:
              description: Denotes what kind of config parameter this is
              type: string
              enum:
                - payment_product_type
              default: payment_product_type
            enabled:
              description: enable Collector Bank Installment Payment
              type: boolean
            countries:
              type: array
              items:
                type: string
                format: iso-3166-1
            options:
              type: object
              properties:
                enable_on_hold:
                  description: >
                    Create the collector transaction with status `ON_HOLD` and
                    let

                    the Collector callback update the transaction state from
                    `ON_HOLD`

                    to `AUTHORIZED` or `FAILED`.


                    A callback will be sent to the `callback_url` when the
                    transaction

                    changes state from `ON_HOLD` to any new state.


                    This will override the gateway's
                    `options.enable_on_hold`-setting.
                  type: boolean
            payability:
              $ref: '#/components/schemas/SessionPayability'
    KlarnaConfiguration:
      type: object
      description: Klarna configuration
      properties:
        type:
          description: Denotes what kind of config parameter this is
          type: string
          enum:
            - payment_type
        klarna:
          type: object
          required:
            - enabled
          properties:
            type:
              description: Denotes what kind of config parameter this is
              type: string
              enum:
                - payment_product_type
            enabled:
              description: enable Klarna Payment
              type: boolean
            payability:
              $ref: '#/components/schemas/SessionPayability'
        billie:
          type: object
          required:
            - enabled
          properties:
            type:
              description: Denotes what kind of config parameter this is
              type: string
              enum:
                - payment_product_type
            enabled:
              description: enable Klarna B2B Payment with Billie
              type: boolean
            payability:
              $ref: '#/components/schemas/SessionPayability'
    KraviaConfiguration:
      type: object
      description: Kravia configuration
      properties:
        type:
          description: Denotes what kind of config parameter this is
          type: string
          enum:
            - payment_type
        invoice_b2b:
          type: object
          required:
            - enabled
          properties:
            type:
              description: Denotes what kind of config parameter this is
              type: string
              enum:
                - payment_product_type
            enabled:
              description: enable Kravia Payment
              type: boolean
            payability:
              $ref: '#/components/schemas/SessionPayability'
            days_until_due:
              type: integer
              description: |
                The number of days until the invoice is due.
              minimum: 0
              maximum: 365
              format: date
            require_identity_verification:
              type: boolean
              default: true
              description: >
                Whether identity verification is required, before allowing

                payments.

                Defaults to true, it will require the customer to verify
                themselves

                before making a payment via methods like BankID, if false no
                verification

                will be required.
            invoice_channel:
              $ref: '#/components/schemas/InvoiceChannel'
        invoice_b2b_grouped:
          type: object
          required:
            - enabled
          properties:
            type:
              description: Denotes what kind of config parameter this is
              type: string
              enum:
                - payment_product_type
            enabled:
              description: enable Kravia grouped invoices
              type: boolean
            payability:
              $ref: '#/components/schemas/SessionPayability'
            invoice_schedule:
              type: object
              properties:
                interval:
                  description: >
                    The interval at which the invoice should be issued. The
                    invoice

                    will be issued on the first day of the interval.
                  type: string
                  enum:
                    - monthly
                    - quarterly
            days_until_due:
              type: number
              format: int32
              description: |
                The number of days until the invoice is due.
              minimum: 0
              maximum: 365
            require_identity_verification:
              type: boolean
              default: true
              description: >
                Whether identity verification is required, before allowing

                payments.

                Defaults to true, it will require the customer to verify
                themselves

                before making a payment via methods like BankID, if false no
                verification

                will be required.
            invoice_channel:
              allOf:
                - $ref: '#/components/schemas/InvoiceChannel'
                - readOnly: true
        invoice_b2c:
          type: object
          required:
            - enabled
          properties:
            type:
              description: Denotes what kind of config parameter this is
              type: string
              enum:
                - payment_product_type
            enabled:
              description: enable Kravia B2C invoice
              type: boolean
            payability:
              $ref: '#/components/schemas/SessionPayability'
            days_until_due:
              type: integer
              description: |
                The number of days until the invoice is due.
              minimum: 0
              maximum: 365
              format: date
            invoice_channel:
              $ref: '#/components/schemas/InvoiceChannel'
            require_identity_verification:
              type: boolean
              default: true
              description: >
                Whether identity verification is required, before allowing

                payments.

                Defaults to true, it will require the customer to verify
                themselves

                before making a payment via methods like BankID, if false no
                verification

                will be required. In b2c cases this is only available when the
                merchant will

                distribute the invoice themselves.
    TwoConfiguration:
      type: object
      description: Two configuration
      properties:
        type:
          description: Denotes what kind of config parameter this is
          type: string
          enum:
            - payment_type
        invoice_b2b:
          type: object
          required:
            - enabled
          properties:
            type:
              description: Denotes what kind of config parameter this is
              type: string
              enum:
                - payment_product_type
            enabled:
              description: enable Two Payment
              type: boolean
            payability:
              $ref: '#/components/schemas/SessionPayability'
            duration_days:
              type: integer
              description: The number of days until the invoice is due.
              enum:
                - 14
                - 30
    SantanderConfiguration:
      type: object
      properties:
        type:
          description: Denotes what kind of config parameter this is
          enum:
            - payment_type
        debit_account:
          type: object
          required:
            - enabled
          properties:
            type:
              description: Denotes what kind of config parameter this is
              enum:
                - payment_product_type
            enabled:
              description: enable Santander Finance Debit Account
              type: boolean
            payability:
              $ref: '#/components/schemas/SessionPayability'
            branding_name:
              type: string
              description: The name of the chain
            accounts:
              description: Debit accounts belonging to the customer's phone number
              type: array
              items:
                type: object
                properties:
                  account_number_token:
                    type: string
                    description: Token to represent the account number
                  masked_account_number:
                    type: string
                    description: Representation of the account number for display purposes
    SeitatechConfiguration:
      type: object
      description: Seitatech configuration
      properties:
        type:
          description: |
            Denotes what kind of config parameter this is
          type: string
          enum:
            - payment_type
        in_person:
          type: object
          description: >
            Enabling `in_person` via Seitatech requires `order.store.id`,

            `order.store.terminal_id` and `order.store.payout_destination_id`

            to be set. The terminal must be registered via the management API

            with a store and payout destination.


            When `seitatech.in_person` is the only enabled payment method, the

            transaction will be automatically triggered on the terminal when

            the session is created.


            If there are other payment options enabled in addition to
            seitatech.in_person,

            the in-person payment must be initiated by performing a

            [POST
            /v1/sessions/{session_id}/pay](/checkout-api/payment/checkout_sid_pay_post)


            Use callbacks and webhooks to receive notification when the
            in-person payment

            is completed
          required:
            - enabled
          properties:
            type:
              type: string
              description: \ Denotes what kind of config parameter this is
              enum:
                - payment_product_type
            enabled:
              description: enable in person payment
              type: boolean
            payability:
              $ref: '#/components/schemas/SessionPayability'
    SwishConfiguration:
      type: object
      description: Swish configuration
      properties:
        type:
          description: Denotes what kind of config parameter this is
          type: string
          enum:
            - payment_type
        swish:
          type: object
          required:
            - enabled
          properties:
            type:
              description: Denotes what kind of config parameter this is
              type: string
              enum:
                - payment_product_type
            enabled:
              description: enable Swish Payment
              type: boolean
            payability:
              $ref: '#/components/schemas/SessionPayability'
            payout_enabled:
              description: Flag to check if Dintero handles payout for this payment product
              type: boolean
    PayoutConfiguration:
      type: object
      description: |
        Payout configuration
      properties:
        dynamic_payout_destination_ids:
          type: array
          description: >
            Use the order store id to control what `payout_destination_id`
            should

            be use


            A session created with the option set must have a store id that
            resolves

            to a payout_destination_id or have payout_destination_id set


            A session where both `order.store.id` and
            `order.payout_destination_id`

            will not be updated with match from `dynamic_payout_destination` if

            `overwrite_payout_destination_id` is not set to `true`             


            - **`order_store_id`**: May specific store id to specifc payout
            destination id

            - **`order_store_id_as_order_payout_destination_id`**: Use store id
            as payout destination id
          minItems: 1
          items:
            type: object
            required:
              - type
            properties:
              type:
                type: string
                enum:
                  - order_store_id
                  - order_store_id_as_order_payout_destination_id
              order_store_id:
                type: string
                description: Required if type is `order_store_id`
                example: STORE_123
              order_payout_destination_id:
                type: string
                description: Required if type is `order_store_id`
                example: PD_123
              overwrite_payout_destination_id:
                description: |
                  Only applicable when type is `order_store_id`.

                  Overwrite existing order payout_destination_id
                type: boolean
                default: false
        payment_products:
          type: array
          readOnly: true
          description: |
            The payment products where payout is enabled
          minItems: 1
          items:
            type: object
            required:
              - payment_product
            properties:
              payment_product:
                type: string
                description: Payment product
                enum:
                  - bambora
                  - collector
                  - payex
                  - klarna
                  - swish
                  - dintero_psp
                  - kravia
                  - seitatech
    AgeVerificationConfiguration:
      type: object
      description: >
        Configure age verification for a given payment session. When enabled,
        will trigger an age verification flow when the shopper initiates
        payment.
      required:
        - enabled
        - minimum_age_verification
      properties:
        enabled:
          type: boolean
          description: >
            Use this flag to enable or disable age verification for a given
            payment session.
        minimum_age_required:
          type: integer
          description: |
            The minimum age required to complete the payment session.
          example: 18
    SessionPayability:
      type: string
      description: >-
        Determines if the payment_product_type is currently available for
        payment
      enum:
        - payable
        - disabled_by_gateway
        - disabled_by_order_amount
    Checkbox:
      type: object
      required:
        - id
        - label
      properties:
        id:
          type: string
          description: |
            ID to assign to the checkbox so you can reference it later
        label:
          type: string
          description: |
            Label that should be visible next to the checkbox
          minLength: 2
          maxLength: 99
        checked:
          type: boolean
          description: |
            If the checkbox should be checked by default or not
        required:
          type: boolean
          description: |
            If the checkbox should be required or not
        link:
          type: object
          required:
            - url
            - text
          properties:
            url:
              type: string
              description: Link URL
            text:
              type: string
              description: Link text
              example: Terms for checkbox action
    DinteroPspTokenAuthMethods:
      type: array
      description: >
        Indicates which authentication methods to support during token
        authentication flows.

        The list order determines which method is preferred.

        Methods are subject to card and device support.


        - `3DS`: Carholder authentication through 3D-Secure.

        - `PASSKEY`: Cardholder is prompted to create and authenticate with a
        device-bound Passkey.
      example:
        - PASSKEY
        - 3DS
      items:
        type: string
        enum:
          - 3DS
          - PASSKEY
    DinteroPaymentOptionSCAPolicy:
      type: object
      description: >
        Configuration for SCA (Strong Customer Authentication) policies for
        Dintero PSP payment methods.

        Allows merchants to set up exemptions for when SCA can be skipped for a
        transaction.

        If SCA is skipped for a transaction the merchant will generally have
        liability for the transaction.
      properties:
        network_exemptions:
          type: object
          description: >
            Configuration for network exemptions, such as low_value and low_risk
            exemptions.

            The merchant can choose to enable/disable each exemption type, but
            they need to be

            approved to use them by Dintero. Low risk exemption takes precedence
            over low value exemption.
          properties:
            low_value:
              type: boolean
              description: >
                If true the low value exemption can be passed to issuer if the
                transaction amount is below 30 EUR or equivalent.
              example: true
            low_risk:
              type: boolean
              description: |
                If true the low risk exemption can be passed to issuer.
              example: true
        liability_rules:
          type: array
          description: |
            List of rules for when SCA can be skipped for a transaction.
            If multiple rules match the most restrictive rule will be applied.
          items:
            $ref: '#/components/schemas/SCARule'
    InstabankFinanceProduct:
      type: object
      required:
        - product_code
        - minimum_monthly_balance_rate
        - origination_fee
        - notification_fee
        - loan_example
      properties:
        product_code:
          type: string
          example: '630'
        minimum_monthly_balance_rate:
          type: string
          description: >
            The minimum monthly installment basis as a percentage of the account
            balance.
          format: ^([0-9]*[.])?[0-9]+$
          example: '1.67'
        annual_interest_rate:
          type: string
          description: |
            The interest rate for the payment product.
          format: ^([0-9]*[.])?[0-9]+$
          example: '0.0'
        effective_annual_interest_rate:
          type: string
          readOnly: true
          description: |
            The effective annual interest rate for the payment product
          example: '0.0'
        origination_fee:
          type: integer
          description: |
            The startup fee for the payment product.
          minimum: 0
          example: 9500
        notification_fee:
          type: integer
          description: |
            The notification fee for the payment product.
          minimum: 0
          example: 3900
        minimum_amount:
          type: integer
          description: |
            Minimum order amount for this product. The product option will be
            excluded in payments where the order amount is less than the minimum
            amount.
          example: 20000
          minimum: 1
        loan_example:
          type: object
          required:
            - amount
            - years
            - total_amount
            - cost
            - effective_annual_interest_rate
          properties:
            amount:
              type: integer
              description: |
                The amount loaned in the example.
              minimum: 0
              example: 2500000
            years:
              type: integer
              description: |
                Years of payment in the example.
              minimum: 1
              example: 1
            total_amount:
              type: integer
              description: |
                The total amount paid back in the example.
              minimum: 0
              example: 2772300
            cost:
              type: integer
              description: |
                The cost of the loan in the example.
              minimum: 0
              example: 272300
            effective_annual_interest_rate:
              type: string
              readOnly: true
              format: ^([0-9]*[.])?[0-9]+$
              description: |
                The effective annual interest rate in the example
              example: '21.38'
        branding_image_url:
          type: string
          description: Url for a custom branding image
    InstabankInvoiceProduct:
      type: object
      required:
        - product_code
        - due_in_days
        - invoice_fee
        - require_applicant_amount
      properties:
        product_code:
          type: string
          example: '632'
        due_in_days:
          type: integer
          minimum: 0
          description: Number of days before the payment is due.
          example: 10
        minimum_amount:
          type: integer
          description: |
            Minimum order amount for this product. The product option will be
            excluded in payments where the order amount is less than the minimum
            amount.
          example: 20000
          minimum: 1
        invoice_fee:
          type: integer
          description: |
            The fee for the payment product
          minimum: 0
          example: 9500
        require_applicant_amount:
          type: integer
          description: >
            The limit for when instabank will require a full applicant during
            payment.
          minimum: 0
          example: 7500000
        branding_image_url:
          type: string
          description: Url for a custom branding image
    InstabankInstallmentProduct:
      type: object
      description: |
        Payment product configuration
      required:
        - product_code
        - credit_time
        - origination_fee
        - notification_fee
        - annual_interest_rate
      properties:
        minimum_amount:
          type: integer
          description: |
            Minimum order amount for this product. The product option will be
            excluded in payments where the order amount is less than the minimum
            amount.
          example: 20000
          minimum: 1
        product_code:
          type: string
          example: '633'
        credit_time:
          type: integer
          description: |
            Number of months
          minimum: 1
          example: 36
        origination_fee:
          type: integer
          description: |
            The startup fee for the payment product
          minimum: 0
          example: 9500
        notification_fee:
          type: integer
          description: |
            The notification fee for the payment product
          minimum: 0
          example: 3900
        annual_interest_rate:
          type: string
          description: |
            The interest rate for the payment product.
          format: ^([0-9]*[.])?[0-9]+$
          example: '0.0'
        effective_annual_interest_rate:
          type: string
          readOnly: true
          description: |
            The effective annual interest rate for the payment product
          example: '54.69'
        total_amount:
          type: integer
          readOnly: true
          example: 309400
          description: The total amount to pay
        monthly_amount:
          type: integer
          readOnly: true
          example: 100000
          description: The amount to pay pr month
        first_monthly_amount:
          type: integer
          readOnly: true
          description: |
            The amount to pay in the first invoice. Origantion fee is added
            to the first invoice.
          example: 109500
        require_applicant_amount:
          type: integer
          description: >
            The limit for when instabank will require a full applicant during
            payment.
          minimum: 0
          example: 2500000
        loan_example:
          type: object
          required:
            - amount
            - years
            - total_amount
            - cost
            - effective_annual_interest_rate
          properties:
            amount:
              type: integer
              description: |
                The amount loaned in the example.
              minimum: 0
              example: 2500000
            years:
              type: integer
              description: |
                Years of payment in the example.
              minimum: 1
              example: 1
            total_amount:
              type: integer
              description: |
                The total amount paid back in the example.
              minimum: 0
              example: 2772300
            cost:
              type: integer
              description: |
                The cost of the loan in the example.
              minimum: 0
              example: 272300
            effective_annual_interest_rate:
              type: string
              readOnly: true
              format: ^([0-9]*[.])?[0-9]+$
              description: |
                The effective annual interest rate in the example
              example: '21.38'
        branding_image_url:
          type: string
          description: Url for a custom branding image
    InstabankPostponementProduct:
      type: object
      description: |
        Payment product configuration
      required:
        - product_code
        - postponement_months
        - origination_fee
        - annual_interest_rate
      properties:
        minimum_amount:
          type: integer
          description: |
            Minimum order amount for this product. The product option will be
            excluded in payments where the order amount is less than the minimum
            amount.
          example: 20000
          minimum: 1
        product_code:
          type: string
          example: '633'
        postponement_months:
          type: integer
          description: |
            Number of months
          minimum: 1
          example: 36
        origination_fee:
          type: integer
          description: |
            The startup fee for the payment product
          minimum: 0
          example: 9500
        notification_fee:
          type: integer
          description: |
            The notification fee for the payment product
          minimum: 0
          example: 3900
        annual_interest_rate:
          type: string
          description: |
            The interest rate for the payment product.
          format: ^([0-9]*[.])?[0-9]+$
          example: '0.0'
        effective_annual_interest_rate:
          type: string
          readOnly: true
          description: |
            The effective annual interest rate for the payment product
          example: '54.69'
        total_amount:
          type: integer
          readOnly: true
          example: 309400
          description: The total amount to pay
        require_applicant_amount:
          type: integer
          description: >
            The limit for when instabank will require a full applicant during
            payment.
          minimum: 0
          example: 2500000
        loan_example:
          type: object
          required:
            - amount
            - years
            - total_amount
            - cost
            - effective_annual_interest_rate
          properties:
            amount:
              type: integer
              description: |
                The amount loaned in the example.
              minimum: 0
              example: 2500000
            years:
              type: integer
              description: |
                Years of payment in the example.
              minimum: 1
              example: 1
            total_amount:
              type: integer
              description: |
                The total amount paid back in the example.
              minimum: 0
              example: 2772300
            cost:
              type: integer
              description: |
                The cost of the loan in the example.
              minimum: 0
              example: 272300
            effective_annual_interest_rate:
              type: string
              readOnly: true
              format: ^([0-9]*[.])?[0-9]+$
              description: |
                The effective annual interest rate in the example
              example: '21.38'
        branding_image_url:
          type: string
          description: Url for a custom branding image
    CollectorB2BAddress:
      type: object
      required:
        - business_name
        - organization_number
        - address_line
        - postal_code
        - postal_place
        - country
        - phone_number
        - email
      properties:
        business_name:
          type: string
          description: ACME Inc
          maxLength: 50
        organization_number:
          minLength: 9
          maxLength: 12
          type: string
          description: >
            The organization number of the customer. For Norway, the length is
            9. For Sweden, it's either 10 or 12 digits.
        address_line:
          type: string
          description: Gaustadalleen 21
          maxLength: 50
        address_line_2:
          type: string
          description: More details about address.
          maxLength: 50
        co_address:
          type: string
          description: CO-Address if applicable.
          maxLength: 50
        postal_code:
          type: string
          description: The zip code / postal code of the address.
          example: '0349'
          maxLength: 50
        postal_place:
          type: string
          description: The name of the postal code
          example: Oslo
          maxLength: 50
        country:
          type: string
          format: iso3166-alpha2
          description: Country of the location
          example: 'NO'
        phone_number:
          type: string
          pattern: ^\+?\d{5,15}$
          description: |
            mobile number of a person / company, ITU/E.123 format with
            international prefix (+PPNNNNNNNNN...)
        email:
          type: string
          maxLength: 100
          description: |
            The email address of a person or an organisation
        customer_reference:
          type: string
          description: The customer's reference
          maxLength: 50
        cost_center:
          type: string
          description: For companies that needs to specify a cost center.
          maxLength: 64
        first_name:
          type: string
          example: John
          maxLength: 50
        last_name:
          type: string
          example: Doe
          maxLength: 50
        address_id:
          type: string
          example: address_1
          description: >
            The unique identification of the address from the available
            addresses for the business
    InvoiceChannel:
      type: string
      description: |
        Invoice channel to use for delivering  the invoice.
      default: kravia
      enum:
        - merchant
        - kravia
    SCARule:
      discriminator:
        propertyName: type
        mapping:
          amount_lte:
            $ref: '#/components/schemas/AmountLimitLTERule'
      oneOf:
        - $ref: '#/components/schemas/AmountLimitLTERule'
    AmountLimitLTERule:
      type: object
      x-discriminator-value: amount_lte
      allOf:
        - $ref: '#/components/schemas/SCARuleBase'
        - $ref: '#/components/schemas/AmountLimit'
      title: amount_lte
    SCARuleBase:
      type: object
      properties:
        type:
          type: string
          enum:
            - amount_lte
          description: The type of rule.
      required:
        - type
    AmountLimit:
      type: object
      required:
        - limit
        - issuer_countries
        - enabled
      properties:
        limit:
          type: array
          description: >
            The maximum transaction amounts in the smallest currency unit (e.g.,
            cents) for which SCA (Strong Customer Authentication) can be
            exempted.
          uniqueItems: true
          maxItems: 250
          items:
            type: object
            required:
              - amount
              - currency
            properties:
              amount:
                type: integer
                description: >
                  The maximum transaction amount in the smallest currency unit
                  (e.g., cents).
                example: 50000
              currency:
                type: string
                description: The ISO 4217 currency code for the limit.
                example: NOK
        issuer_countries:
          $ref: '#/components/schemas/IssuerCountryCondition'
        enabled:
          type: boolean
          description: |
            Whether or not the rule is applied.
    IssuerCountryCondition:
      type: array
      description: >
        List of country codes (ISO 3166-1 alpha-2) for which the merchant can
        add exemptions for.

        Add a wildcard (`*`) to a allow all countries. Leaving it empty will not
        allow skipping SCA.
      uniqueItems: true
      maxItems: 250
      items:
        type: string
        description: A valid ISO 3166-1 alpha-2 country code
        pattern: ^([A-Z]{2}|\*)$
      example:
        - 'NO'
        - SE
        - DK
  responses:
    AccessForbidden:
      description: Access forbidden, invalid JWT token was used
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    Forbidden:
      description: Forbidden
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFound:
      description: Resource was not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    ServerError:
      description: Unexpected Error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    apikey:
      type: apiKey
      in: header
      description: >
        X-API-Key authentication for accessing regular endpoints. Use

        [Create api-key](/checkout-api/api-keys/admin_api_keys_post) to create a
        key.


        The content of the header should look like the following:

            x-api-key: {api_key}
      name: x-api-key
    adminKey:
      type: apiKey
      in: header
      description: >
        X-API-Key authentication for accessing admin endpoints. Use

        [Create api-key](/checkout-api/api-keys/admin_api_keys_post) to create a
        key.


        The content of the header should look like the following:

            x-api-key: {api_key}
      name: x-api-key
    JWT:
      type: http
      description: >
        Bearer authentication (token authentication) should be used for
        accessing the API.


        Use [Get Token](/api-reference/authenticate/aid_auths_oauth_token_post)
        to get an access token for client credentials.

        Pass the token in the request header:

            Authorization: Bearer {access_token}

        where the **access_token** is JSON Web Tokens (JWT).
      scheme: bearer
      bearerFormat: JWT

````