---
title: "checkout_sid_pay_post"
method: POST
path: "/accounts/{aid}/payments/sessions/{session_id}/pay"
tags: ["payment"]
---

# checkout_sid_pay_post

`POST /accounts/{aid}/payments/sessions/{session_id}/pay`

For Express Checkout sessions, the _`order.shipping_address`_ must be set on
the session, and a _`order.items.shipping_option` item is required if the
session has either an _`express.shipping_address_callback_url`_ or the
session has at least one option in _`express.shipping_options`_.

## Headers

- `If-Unmodified-Since` string

## Request body

- union
  - SwishPayment
    - `payment_product_type` 'swish.swish', required — The payment product type corresponding to this transaction
    - `phone_number` string — mobile number of a person / company, ITU/E.123 format with international prefix (+PPNNNNNNNNN...)
    - `remember_me` boolean — If true will either make the backend add or update a signed cookie with customer data. If false the cookie will be removed. If not set, any existing cookie will remain unchanged
  - VippsPayment
    - `payment_product_type` 'vipps', required — The payment product type corresponding to this transaction
    - `phone_number` string — mobile number of a person / company, ITU/E.123 format with international prefix (+PPNNNNNNNNN...)
    - `remember_me` boolean — If true will either make the backend add or update a signed cookie with customer data. If false the cookie will be removed. If not set, any existing cookie will remain unchanged
  - BamboraMobilePayPayment
    - `payment_product_type` 'bambora.mobilepay', required — The payment product type corresponding to this transaction
    - `phone_number` string, required — mobile number of a person / company, ITU/E.123 format with international prefix (+PPNNNNNNNNN...)
    - `remember_me` boolean — If true will either make the backend add or update a signed cookie with customer data. If false the cookie will be removed. If not set, any existing cookie will remain unchanged
  - DinteroPspApplePayPayment
    - `payment_product_type` 'dintero_psp.applepay', required — The payment product type corresponding to this transaction
    - `psp_transaction_id` string, required — Transaction id received from psp-service when creating applepay transaction
    - `billing_address` OrderAddress — Address
      - `first_name` string
      - `last_name` string
      - `address_line` string — Gaustadalleen 21
      - `address_line_2` string — PB 123
      - `co_address` string
      - `business_name` string — Name of the company
      - `postal_code` string — The zip code / postal code of the address.
      - `postal_place` string — The name of the postal code
      - `country` string, iso3166-alpha2 — Country of the location
      - `phone_number` string — mobile number of a person / company, ITU/E.123 format with international prefix (+PPNNNNNNNNN...)
      - `email` string — The email address of a person or an organization
      - `latitude` number
      - `longitude` number
      - `comment` string — Comment about the address
      - `organization_number` string — The organization number of the customer.
      - `organization_type` string — Type indicating what kind of organization it is.
      - `customer_reference` string — The customer's reference
      - `cost_center` string — For companies that needs to specify a cost center.
    - `shipping_address` OrderAddress — Address
      - `first_name` string
      - `last_name` string
      - `address_line` string — Gaustadalleen 21
      - `address_line_2` string — PB 123
      - `co_address` string
      - `business_name` string — Name of the company
      - `postal_code` string — The zip code / postal code of the address.
      - `postal_place` string — The name of the postal code
      - `country` string, iso3166-alpha2 — Country of the location
      - `phone_number` string — mobile number of a person / company, ITU/E.123 format with international prefix (+PPNNNNNNNNN...)
      - `email` string — The email address of a person or an organization
      - `latitude` number
      - `longitude` number
      - `comment` string — Comment about the address
      - `organization_number` string — The organization number of the customer.
      - `organization_type` string — Type indicating what kind of organization it is.
      - `customer_reference` string — The customer's reference
      - `cost_center` string — For companies that needs to specify a cost center.
  - CollectorInvoiceB2BPayment
    - `payment_product_type` 'collector.invoice_b2b', required — The payment product type corresponding to this transaction
    - `shipping_address` CollectorB2BAddress, required
      - `business_name` string, required — ACME Inc
      - `organization_number` string, required — The organization number of the customer. For Norway, the length is 9. For Sweden, it's either 10 or 12 digits.
      - `address_line` string, required — Gaustadalleen 21
      - `address_line_2` string — More details about address.
      - `co_address` string — CO-Address if applicable.
      - `postal_code` string, required — The zip code / postal code of the address.
      - `postal_place` string, required — The name of the postal code
      - `country` string, iso3166-alpha2, required — Country of the location
      - `phone_number` string, required — mobile number of a person / company, ITU/E.123 format with international prefix (+PPNNNNNNNNN...)
      - `email` string, required — The email address of a person or an organisation
      - `customer_reference` string — The customer's reference
      - `cost_center` string — For companies that needs to specify a cost center.
      - `first_name` string
      - `last_name` string
      - `address_id` string — The unique identification of the address from the available addresses for the business
    - `billing_address` CollectorB2BAddress, required
      - `business_name` string, required — ACME Inc
      - `organization_number` string, required — The organization number of the customer. For Norway, the length is 9. For Sweden, it's either 10 or 12 digits.
      - `address_line` string, required — Gaustadalleen 21
      - `address_line_2` string — More details about address.
      - `co_address` string — CO-Address if applicable.
      - `postal_code` string, required — The zip code / postal code of the address.
      - `postal_place` string, required — The name of the postal code
      - `country` string, iso3166-alpha2, required — Country of the location
      - `phone_number` string, required — mobile number of a person / company, ITU/E.123 format with international prefix (+PPNNNNNNNNN...)
      - `email` string, required — The email address of a person or an organisation
      - `customer_reference` string — The customer's reference
      - `cost_center` string — For companies that needs to specify a cost center.
      - `first_name` string
      - `last_name` string
      - `address_id` string — The unique identification of the address from the available addresses for the business
    - `remember_me` boolean — If true will either make the backend add or update a signed cookie with customer data. If false the cookie will be removed. If not set, any existing cookie will remain unchanged
    - `authorization_code` string — Code from authorized customer.
  - CollectorFinancePayment
    - `payment_product_type` 'collector.finance', required — The payment product type corresponding to this transaction
    - `social_security_number` string, required — The social security number of the customer. For Norway, the length is 11. For Sweden, it's either 10 or 12 digits.
    - `shipping_address` CollectorAddress, required
      - `first_name` string, required
      - `last_name` string, required
      - `address_line` string, required — Gaustadalleen 21
      - `address_line_2` string — More details about address.
      - `business_name` string — Name of the company
      - `co_address` string — CO-Address if applicable.
      - `postal_code` string, required — The zip code / postal code of the address.
      - `postal_place` string, required — The name of the postal code
      - `country` string, iso3166-alpha2, required — Country of the location
      - `phone_number` string, required — mobile number of a person / company, ITU/E.123 format with international prefix (+PPNNNNNNNNN...)
      - `email` string, required — The email address of a person or an organisation
    - `billing_address` CollectorAddress, required
      - `first_name` string, required
      - `last_name` string, required
      - `address_line` string, required — Gaustadalleen 21
      - `address_line_2` string — More details about address.
      - `business_name` string — Name of the company
      - `co_address` string — CO-Address if applicable.
      - `postal_code` string, required — The zip code / postal code of the address.
      - `postal_place` string, required — The name of the postal code
      - `country` string, iso3166-alpha2, required — Country of the location
      - `phone_number` string, required — mobile number of a person / company, ITU/E.123 format with international prefix (+PPNNNNNNNNN...)
      - `email` string, required — The email address of a person or an organisation
    - `remember_me` boolean — If true will either make the backend add or update a signed cookie with customer data. If false the cookie will be removed. If not set, any existing cookie will remain unchanged
    - `authorization_code` string — Code from authorized customer.
  - PayExVippsPayment
    - `payment_product_type` 'payex.vipps', required — The payment product type corresponding to this transaction
    - `phone_number` string — mobile number of a person / company, ITU/E.123 format with international prefix (+PPNNNNNNNNN...)
    - `remember_me` boolean — If true will either make the backend add or update a signed cookie with customer data. If false the cookie will be removed. If not set, any existing cookie will remain unchanged
  - CollectorInvoiceB2BPreapprovedPayment
    - `payment_product_type` 'collector.invoice_b2b_preapproved', required — The payment product type corresponding to this transaction
    - `shipping_address` CollectorB2BAddress, required
      - `business_name` string, required — ACME Inc
      - `organization_number` string, required — The organization number of the customer. For Norway, the length is 9. For Sweden, it's either 10 or 12 digits.
      - `address_line` string, required — Gaustadalleen 21
      - `address_line_2` string — More details about address.
      - `co_address` string — CO-Address if applicable.
      - `postal_code` string, required — The zip code / postal code of the address.
      - `postal_place` string, required — The name of the postal code
      - `country` string, iso3166-alpha2, required — Country of the location
      - `phone_number` string, required — mobile number of a person / company, ITU/E.123 format with international prefix (+PPNNNNNNNNN...)
      - `email` string, required — The email address of a person or an organisation
      - `customer_reference` string — The customer's reference
      - `cost_center` string — For companies that needs to specify a cost center.
      - `first_name` string
      - `last_name` string
      - `address_id` string — The unique identification of the address from the available addresses for the business
    - `scc` string — Optional query parameter. SMS-confirm-code. To verify the identity of the payee.
    - `company_id` string, required — Id to represent the company being paid from
    - `remember_me` boolean — If true will either make the backend add or update a signed cookie with customer data. If false the cookie will be removed. If not set, any existing cookie will remain unchanged
    - `authorization_code` string — Code from authorized customer.
  - BamboraVippsPayment
    - `payment_product_type` 'bambora.vipps', required — The payment product type corresponding to this transaction
    - `phone_number` string — mobile number of a person / company, ITU/E.123 format with international prefix (+PPNNNNNNNNN...)
    - `remember_me` boolean — If true will either make the backend add or update a signed cookie with customer data. If false the cookie will be removed. If not set, any existing cookie will remain unchanged
  - PayExSwishPayment
    - `payment_product_type` 'payex.swish', required — The payment product type corresponding to this transaction
    - `phone_number` string — mobile number of a person / company, ITU/E.123 format with international prefix (+PPNNNNNNNNN...) The `redirect_url` in the response will be a Swish URL that will open the app with the payment request if no phone_number is provided.
    - `remember_me` boolean — If true will either make the backend add or update a signed cookie with customer data. If false the cookie will be removed. If not set, any existing cookie will remain unchanged
  - CollectorInstallmentPayment
    - `payment_product_type` 'collector.installment', required — The payment product type corresponding to this transaction
    - `product` object, required
      - `id` string, required — Id of the payment product
    - `shipping_address` CollectorAddress, required
      - `first_name` string, required
      - `last_name` string, required
      - `address_line` string, required — Gaustadalleen 21
      - `address_line_2` string — More details about address.
      - `business_name` string — Name of the company
      - `co_address` string — CO-Address if applicable.
      - `postal_code` string, required — The zip code / postal code of the address.
      - `postal_place` string, required — The name of the postal code
      - `country` string, iso3166-alpha2, required — Country of the location
      - `phone_number` string, required — mobile number of a person / company, ITU/E.123 format with international prefix (+PPNNNNNNNNN...)
      - `email` string, required — The email address of a person or an organisation
    - `billing_address` CollectorAddress, required
      - `first_name` string, required
      - `last_name` string, required
      - `address_line` string, required — Gaustadalleen 21
      - `address_line_2` string — More details about address.
      - `business_name` string — Name of the company
      - `co_address` string — CO-Address if applicable.
      - `postal_code` string, required — The zip code / postal code of the address.
      - `postal_place` string, required — The name of the postal code
      - `country` string, iso3166-alpha2, required — Country of the location
      - `phone_number` string, required — mobile number of a person / company, ITU/E.123 format with international prefix (+PPNNNNNNNNN...)
      - `email` string, required — The email address of a person or an organisation
    - `remember_me` boolean — If true will either make the backend add or update a signed cookie with customer data. If false the cookie will be removed. If not set, any existing cookie will remain unchanged
    - `authorization_code` string — Code from authorized customer.
    - `social_security_number` string — The social security number of the customer. For Norway, the length is 11. For Sweden, it's either 10 or 12 digits.
  - CollectorInvoicePayment
    - `payment_product_type` 'collector.invoice', required — The payment product type corresponding to this transaction
    - `shipping_address` CollectorAddress, required
      - `first_name` string, required
      - `last_name` string, required
      - `address_line` string, required — Gaustadalleen 21
      - `address_line_2` string — More details about address.
      - `business_name` string — Name of the company
      - `co_address` string — CO-Address if applicable.
      - `postal_code` string, required — The zip code / postal code of the address.
      - `postal_place` string, required — The name of the postal code
      - `country` string, iso3166-alpha2, required — Country of the location
      - `phone_number` string, required — mobile number of a person / company, ITU/E.123 format with international prefix (+PPNNNNNNNNN...)
      - `email` string, required — The email address of a person or an organisation
    - `billing_address` CollectorAddress, required
      - `first_name` string, required
      - `last_name` string, required
      - `address_line` string, required — Gaustadalleen 21
      - `address_line_2` string — More details about address.
      - `business_name` string — Name of the company
      - `co_address` string — CO-Address if applicable.
      - `postal_code` string, required — The zip code / postal code of the address.
      - `postal_place` string, required — The name of the postal code
      - `country` string, iso3166-alpha2, required — Country of the location
      - `phone_number` string, required — mobile number of a person / company, ITU/E.123 format with international prefix (+PPNNNNNNNNN...)
      - `email` string, required — The email address of a person or an organisation
    - `remember_me` boolean — If true will either make the backend add or update a signed cookie with customer data. If false the cookie will be removed. If not set, any existing cookie will remain unchanged
    - `authorization_code` string — Code from authorized customer.
    - `social_security_number` string — The social security number of the customer. For Norway, the length is 11. For Sweden, it's either 10 or 12 digits.
  - KlarnaPayment
    - `payment_product_type` 'klarna.klarna', required — The payment product type corresponding to this transaction
    - `authorization_token` string, required — Token received from Klarna on the client-side after successful authorization
    - `billing_address` KlarnaAddress, required
      - `first_name` string, required
      - `last_name` string, required
      - `address_line` string, required — Street address.
      - `address_line_2` string — More details about address.
      - `business_name` string — Name of the company
      - `postal_code` string, required — The zip code / postal code of the address.
      - `postal_place` string, required — The name of the postal code
      - `country` string, iso3166-alpha2, required — Country of the location
      - `phone_number` string, required — mobile number of a person / company, ITU/E.123 format with international prefix (+PPNNNNNNNNN...)
      - `email` string, required — The email address of a person or an organisation
    - `shipping_address` KlarnaAddress, required
      - `first_name` string, required
      - `last_name` string, required
      - `address_line` string, required — Street address.
      - `address_line_2` string — More details about address.
      - `business_name` string — Name of the company
      - `postal_code` string, required — The zip code / postal code of the address.
      - `postal_place` string, required — The name of the postal code
      - `country` string, iso3166-alpha2, required — Country of the location
      - `phone_number` string, required — mobile number of a person / company, ITU/E.123 format with international prefix (+PPNNNNNNNNN...)
      - `email` string, required — The email address of a person or an organisation
    - `locale` string, required — Combination of purchase country and language. Example: `"en-GB"`
  - PayExMobilePayPayment
    - `payment_product_type` 'payex.mobilepay', required — The payment product type corresponding to this transaction
    - `phone_number` string, required — mobile number of a person / company, ITU/E.123 format with international prefix (+PPNNNNNNNNN...)
    - `remember_me` boolean — If true will either make the backend add or update a signed cookie with customer data. If false the cookie will be removed. If not set, any existing cookie will remain unchanged
  - BamboraCreditcardCitPayment
    - `payment_product_type` 'bambora.creditcard', required — The payment product type corresponding to this transaction
    - `remember_me` boolean — If true will either make the backend add or update a signed cookie with customer data. If false the cookie will be removed. If not set, any existing cookie will remain unchanged
    - `browser_information` object, required
      - `java_enabled` boolean, required — Whether browser can execute Java or not. The value of navigator.javaEnabled browser property.
      - `javascript_enabled` boolean, required — Whether browser can execute JavaScript or not.
      - `color_depth` number, required — The bit depth of the colour palette for displaying images, in bits per pixel. The value of screen.colorDepth browser property.
      - `screen_height` number, required — Total height of the browser screen in pixels. The value of screen.height browser property.
      - `screen_width` number, required — Total width of the browser screen in pixels. The value of screen.width browser property.
      - `timezone_offset` number, required — Time difference between UTC time and the browser local time, in minutes.
  - SeitatechInPersonPayment
    - `payment_product_type` 'seitatech.in_person', required — The payment product type corresponding to this transaction

## Response `200`

response from payment

- PaymentResponse
  - `success` boolean, required — the payment was accepted
  - `actions` object[], required
    - `source` string — action source
    - `code` string — status
    - `type` 'success' | 'error'
  - `redirect_url` string — redirect url to complete payment, will not be included if the payment failed with `Rejected` error as payment can be completed by choosing alternative payment option.
  - `poll_url` string — `poll_url` to check the status of the payment. Will be included if the payment is dependent on 3rd party apps, such as Swish.
  - `approval_url` string — `approval_url` to complete the payment in a different app from the one showing the checkout, eg. an app link for the Swish M-Commerce flow. Should be used in conjunction with the `poll_url` to check the status of the payment.
  - `qr_code` string — A base 64 encoded image of the QR code can be displayed while the checkout frontend is polling for the payment status. Eg. used as a fallback for the Swish M-Commerce flow if we are unable to open the `approval_url` on the end users device we can display the QR code and the user can scan it using a different device that has the app used for payment installed. By default the image has a size of 600 x 600 pixels.
  - `error` string
  - `error_details` object[]
    - `code` string — Description of the error. If code is `authentication_required`, use `authentication_operations` to perform SCA and retry the payment.
    - `category` 'permanent' | 'temporary' | 'unknown' — Describes if the error is retryable.
    - `field` string — The field that might be the reason for the error
    - `authentication_operations` object[] — SCA operations for when an authorization is declined. Allows performing SCA after having attempted without. Will be present for `dintero_psp` when `code` is `authentication_required`.
      - `href` string, required
      - `method` 'POST', required
      - `content_type` 'application/json', required
      - `rel` '3d-secure-init-hosted' | '3d-secure-init' | '3d-secure-method-complete' | '3d-secure-challenge-complete' | '3d-secure-notification' | 'mastercard-taf-init-params' | 'mastercard-taf-challenge-complete', required
    - `error_codes` string[] — An array of error codes. Will generally only be one, but if an error code is changed it will be added to the array.

## Other responses

- `202` — response from payment
- `400` — Bad / Invalid request
- `412` — Precondition failed

---

[API](https://skmtc.net/dintero/apis/account-management-api.md) · [All operations](https://skmtc.net/dintero/apis/account-management-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/dintero/account-management-api/versions/9b83a4199008/schema)
