Create a payment session

post /paymentSession

Provides the data object that can be used to start the Checkout SDK. To set up the payment, pass its amount, currency, and other required parameters. We use this to optimise the payment flow and perform better risk assessment of the transaction.

For more information, refer to How it works.

Endpoint destination URL

https://checkout-test.adyen.com/v69/paymentSession
Click to copy

Header parameters

Idempotency-Key string

A unique identifier for the message with a maximum of 64 characters (we recommend a UUID).

Request parameters

additionalData [string] object

This field contains additional data, which may be required for a particular payment request.

The additionalData object consists of entries, each of which includes the key and value.

allowedPaymentMethods [string] array

List of payment methods to be presented to the shopper. To refer to payment methods, use their paymentMethod.typefrom Payment methods overview.

Example: "allowedPaymentMethods":["ideal","giropay"]

amount Required

The amount information for the transaction (in minor units). For BIN or card verification requests, set amount to 0 (zero).

applicationInfo

Information about your application. For more details, see Building Adyen solutions.

billingAddress

The address where to send the invoice.

The billingAddress object is required in the following scenarios. Include all of the fields within this object.

  • For 3D Secure 2 transactions in all browser-based and mobile implementations.
  • For cross-border payouts to and from Canada.
blockedPaymentMethods [string] array

List of payment methods to be hidden from the shopper. To refer to payment methods, use their paymentMethod.typefrom Payment methods overview.

Example: "blockedPaymentMethods":["ideal","giropay"]

captureDelayHours integer

The delay between the authorisation and scheduled auto-capture, specified in hours.

channel string

The platform where a payment transaction takes place. This field is optional for filtering out payment methods that are only available on specific platforms. If this value is not set, then we will try to infer it from the sdkVersion or token.

Possible values:

  • iOS
  • Android
  • Web
checkoutAttemptId string

Checkout attempt ID that corresponds to the Id generated for tracking user payment journey.

company

Information regarding the company.

configuration

Specify configurations to enable additional features.

conversionId string

Conversion ID that corresponds to the Id generated for tracking user payment journey.

countryCode string Required

The shopper country.

Format: ISO 3166-1 alpha-2 Example: NL or DE

dateOfBirth string

The shopper's date of birth.

Format ISO-8601: YYYY-MM-DD

dccQuote

The forex quote as returned in the response of the forex service.

deliveryAddress

The address where the purchased goods should be delivered.

deliveryDate string

The date and time the purchased goods should be delivered.

Format ISO 8601: YYYY-MM-DDThh:mm:ss.sssTZD

Example: 2017-07-17T13:42:40.428+01:00

enableOneClick boolean

When true and shopperReference is provided, the shopper will be asked if the payment details should be stored for future one-click payments.

enablePayOut boolean

When true and shopperReference is provided, the payment details will be tokenized for payouts.

enableRecurring boolean

When true and shopperReference is provided, the payment details will be tokenized for recurring payments.

entityType string

The type of the entity the payment is processed for.

fraudOffset integer

An integer value that is added to the normal fraud score. The value can be either positive or negative.

installments

Contains installment settings. For more information, refer to Installments.

lineItems [LineItem] array

Price and product information about the purchased items, to be included on the invoice sent to the shopper.

This field is required for 3x 4x Oney, Affirm, Afterpay, Clearpay, Klarna, Ratepay, Zip and Atome.

mandate

The mandate details to initiate recurring transaction.

mcc string

The merchant category code (MCC) is a four-digit number, which relates to a particular market segment. This code reflects the predominant activity that is conducted by the merchant.

merchantAccount string Required

The merchant account identifier, with which you want to process the transaction.

merchantOrderReference string

This reference allows linking multiple transactions to each other for reporting purposes (i.e. order auth-rate). The reference should be unique per billing cycle. The same merchant order reference should never be reused after the first authorised attempt. If used, this field should be supplied for all incoming authorisations.

We strongly recommend you send the merchantOrderReference value to benefit from linking payment requests when authorisation retries take place. In addition, we recommend you provide retry.orderAttemptNumber, retry.chainAttemptNumber, and retry.skipRetry values in PaymentRequest.additionalData.

metadata [string] object

Metadata consists of entries, each of which includes a key and a value. Limits:

  • Maximum 20 key-value pairs per request. When exceeding, the "177" error occurs: "Metadata size exceeds limit".
  • Maximum 20 characters per key.
  • Maximum 80 characters per value.
orderReference string

When you are doing multiple partial (gift card) payments, this is the pspReference of the first payment. We use this to link the multiple payments to each other. As your own reference for linking multiple payments, use the merchantOrderReferenceinstead.

origin string

Required for the Web integration.

Set this parameter to the origin URL of the page that you are loading the SDK from.

recurringExpiry string

Date after which no further authorisations shall be performed. Only for 3D Secure 2.

recurringFrequency string

Minimum number of days between authorisations. Only for 3D Secure 2.

reference string Required

The reference to uniquely identify a payment. This reference is used in all communication with you about the payment status. We recommend using a unique value per payment; however, it is not a requirement. If you need to provide multiple references for a transaction, separate them with hyphens ("-"). Maximum length: 80 characters.

returnUrl string Required
Max length: 8000

The URL to return to in case of a redirection. The format depends on the channel. This URL can have a maximum of 1024 characters.

  • For web, include the protocol http:// or https://. You can also include your own additional query parameters, for example, shopper ID or order reference number. Example: https://your-company.com/checkout?shopperOrder=12xy
  • For iOS, use the custom URL for your app. To know more about setting custom URL schemes, refer to the Apple Developer documentation. Example: my-app://
  • For Android, use a custom URL handled by an Activity on your app. You can configure it with an intent filter. Example: my-app://your.package.name
riskData

Contains risk data, such as client-side data, used to identify risk for a transaction.

sdkVersion string

The version of the SDK you are using (for Web SDK integrations only).

sessionValidity string

The date and time until when the session remains valid, in ISO 8601 format.

For example: 2020-07-18T15:42:40.428+01:00

shopperEmail string

The shopper's email address. We recommend that you provide this data, as it is used in velocity fraud checks.

For 3D Secure 2 transactions, schemes require shopperEmail for all browser-based and mobile implementations.

shopperIP string

The shopper's IP address. In general, we recommend that you provide this data, as it is used in a number of risk checks (for instance, number of payment attempts or location-based checks).

For 3D Secure 2 transactions, schemes require shopperIP for all browser-based implementations. This field is also mandatory for some merchants depending on your business model. For more information, contact Support.

shopperInteraction string

Specifies the sales channel, through which the shopper gives their card details, and whether the shopper is a returning customer. For the web service API, Adyen assumes Ecommerce shopper interaction by default.

This field has the following possible values:

  • Ecommerce - Online transactions where the cardholder is present (online). For better authorisation rates, we recommend sending the card security code (CSC) along with the request.
  • ContAuth - Card on file and/or subscription transactions, where the cardholder is known to the merchant (returning customer). If the shopper is present (online), you can supply also the CSC to improve authorisation (one-click payment).
  • Moto - Mail-order and telephone-order transactions where the shopper is in contact with the merchant via email or telephone.
  • POS - Point-of-sale transactions where the shopper is physically present to make a payment using a secure payment terminal.
shopperLocale string

The combination of a language code and a country code to specify the language to be used in the payment.

shopperName

The shopper's full name.

shopperReference string

Required for recurring payments. Your reference to uniquely identify this shopper, for example user ID or account ID. Minimum length: 3 characters.

Your reference must not include personally identifiable information (PII), for example name or email address.

shopperStatement string

The text to be shown on the shopper's bank statement. We recommend sending a maximum of 22 characters, otherwise banks might truncate the string. Allowed characters: a-z, A-Z, 0-9, spaces, and special characters . , ' _ - ? + * /.

socialSecurityNumber string

The shopper's social security number.

splits [Split] array

An array of objects specifying how the payment should be split when using Adyen for Platforms or Issuing.

store string
Min length: 1 Max length: 16

The ecommerce or point-of-sale store that is processing the payment. Used in partner model integrations for Adyen for Platforms.

storePaymentMethod boolean

When true and shopperReference is provided, the payment details will be stored.

telephoneNumber string

The shopper's telephone number.

threeDSAuthenticationOnly boolean Deprecated in version 69

Use authenticationData.authenticationOnly instead.

If set to true, you will only perform the 3D Secure 2 authentication, and not the payment authorisation.

token string

The token obtained when initializing the SDK.

This parameter is required for iOS and Android; not required for Web.

trustedShopper boolean

Set to true if the payment should be routed to a trusted MID.

Response parameters

After submitting a call, you receive a response message to inform you that your request was received and processed.

Depending on the HTTP status code of the response message, it is helpful to build some logic to handle any errors that a request or the system may return.

HTTP Responses

  • 200 - OK

    The request has succeeded.

    Show more Show less
  • 400 - Bad Request

    A problem reading or understanding the request.

    Show more Show less
  • 401 - Unauthorized

    Authentication required.

    Show more Show less
  • 403 - Forbidden

    Insufficient permissions to process the request.

    Show more Show less
  • 422 - Unprocessable Entity

    A request validation error.

    Show more Show less
  • 500 - Internal Server Error

    The server could not process the request.

    Show more Show less
  • Request
  • Click to copy
  • Response
  • Click to copy