---
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`

## Request

- Base URL: `https://api.dintero.com/v1`
- URL: `https://api.dintero.com/v1/accounts/{aid}/payments/sessions/{session_id}/pay`
- Auth: none required
- TypeScript: <https://skmtc.dev/dintero/apis/account-management-api/docs/accounts/:aid/payments/sessions/:session_id/pay/post.ts> (a function with typed inputs; its response is checked against the schema)

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.dev/dintero/apis/account-management-api.md) - [All operations](https://skmtc.dev/dintero/apis/account-management-api/llms.txt) - [OpenAPI document](https://skmtc.dev/dintero/apis/account-management-api/revisions/9b83a4199008?raw)
