Server API version 1.0
Node.js

icon-search-large

Create payment

POST https://{domainname}/v1/{merchantId}/payments

Payments

The payments REST services allow you to initiate a payment, retrieve the payment details or perform specific actions like refunding or requesting capture of a payment. A payment is identified by its paymentId. Some payment products allow a two step approach allowing you to control when the authorization takes place separate from when the funds are actually captured.

Request

You initiate a payment by posting all the required payment details. After you have done so one or more of the following things can take place:

  • Your payment request is rejected. This can happen for various reasons, but a detailed reason is always returned in the response to you. In some cases a payment object was created and you will find all the details in the response as well.
  • The data you submitted used to assess the risk of potential fraud. If this is deemed to great based on your configuration the transaction is either rejected or placed in a queue for your manual review. If the fraud risk is deemed to be within the acceptable set limits the processing is continued and one of the other possible outcomes listed here will be returned.
  • The data is sent to a third party for authorization
  • The consumer is required to authenticate themselves and a redirect to a third party is required, sometimes this also includes the actual authorization of the payment by the consumer while at the third party. The response will contain all the details required for you to redirect the consumer to the third party.
  • Payment instruction details are returned so you can provide the right instructions to your consumer on how to complete the payment.
  • The data is simply stored for future processing.

Please look at the flow diagram of each payment product that you would like to integrate to see what possible responses can be returned to you depending on the payment product.

The type of processing flow is also dependent on the individual configuration of your account(s). This will be chosen in conjunction with you to best match your business
Create payment supports idempotent requests

PayloadCreatePaymentRequest

Properties
Property Type Required Details
Group cardPaymentMethodSpecificInput object depends read close
close

Description

Object containing the specific input details for card payments
  • SDK Object type
    CardPaymentMethodSpecificInput
  • Property is part of a group
    Learn more

    Properties that make up a group are mutually exclusive, which means you can only include one of each group in any given call.

    If there are multiple groups at one level in the object hierarchy we use numbers to distinguish groups from one another.

close

Description

Determines the type of the authorization that will be used. Allowed values:
  • FINAL_AUTHORIZATION - The payment creation results in an authorization that is ready for capture. Final authorizations can't be reversed and need to be captured for the full amount within 7 days.
  • PRE_AUTHORIZATION - The payment creation results in a pre-authorization that is ready for capture. Pre-authorizations can be reversed and can be captured within 30 days. The capture amount can be lower than the authorized amount.
  • SALE - The payment creation results in an authorization that is already captured at the moment of approval.
Only used with some acquirers, ignored for acquirers that don't support this. In case the acquirer doesn't allow this to be specified the authorizationMode is 'unspecified', which behaves similar to a final authorization.
close

Description

Object containing card details
  • SDK Object type
    Card
close

Description

The complete credit/debit card number (also know as the PAN). The minimum input length is 12 digits.
The card number is always obfuscated in any of our responses
close

Description

The card holder's name on the card.
close

Description

Card Verification Value, a 3 or 4 digit code used as an additional security feature for card not present transactions.
close

Description

Expiry date of the card
Format: MMYY
close
Deprecated

Description

Identifier of the authenticated transaction at the ACS/Issuer.
close
Deprecated

Description

Exemption code from Carte Bancaire (130) (unknown possible values so far -free format).
close
Deprecated

Description

Global score calculated by the Carte Bancaire (130) Scoring platform. Possible values from 0 to 99.
close

Description

The unique scheme transactionId of the initial transaction that was performed with SCA. In case this is unknown a scheme transactionId of an earlier transaction part of the same sequence can be used as a fall-back.
Strongly advised to be submitted for any MerchantInitiated or recurring transaction (a subsequent one).
close

Description

Indicates if this transaction is of a one-off or a recurring type
  • true - This is recurring
  • false - This is one-off
close

Description

Payment product identifier
Please see payment products for a full overview of possible values.
close

Description

Object containing data related to recurring
  • SDK Object type
    CardRecurrenceDetails
close

Description

  • first = This transaction is the first of a series of recurring transactions
  • recurring = This transaction is a subsequent transaction in a series of recurring transactions

Note: For any first of a recurring the system will automatically create a token as you will need to use a token for any subsequent recurring transactions. In case a token already exists this is indicated in the response with a value of False for the isNewToken property in the response.
close
Deprecated: Use recurring.recurringPaymentSequenceIndicator instead

Description

  • first = This transaction is the first of a series of recurring transactions
  • recurring = This transaction is a subsequent transaction in a series of recurring transactions

Note: For any first of a recurring the system will automatically create a token as you will need to use a token for any subsequent recurring transactions. In case a token already exists this is indicated in the response with a value of False for the isNewToken property in the response.
close

Description

Deprecated: This flag is deprecated for the Ogone payment platform. Use CardPaymentMethodSpecificInput.authorizationMode instead. Value 'true' of this property is mapped to authorizationMode FINAL_AUTHORIZATION and value 'false' is mapped to authorizationMode SALE.
  • true = the payment requires approval before the funds will be captured using the Approve payment or Capture payment API
  • false = the payment does not require approval, and the funds will be captured automatically
close
Deprecated: Use threeDSecure.redirectionData.returnUrl instead.

Description

The URL that the customer is redirect to after the payment flow has finished. You can add any number of key value pairs in the query string that, for instance help you to identify the customer when they return to your site. Please note that we will also append some additional key value pairs that will also help you with this identification process.
Note: The provided URL should be absolute and contain the protocol to use, e.g. http:// or https://. For use on mobile devices a custom protocol can be used in the form of protocol://. This protocol must be registered on the device first.
URLs without a protocol will be rejected.
close
Deprecated: Use threeDSecure.skipAuthentication instead.

Description

  • true = 3D Secure authentication will be skipped for this transaction. This setting should be used when isRecurring is set to true and recurringPaymentSequenceIndicator is set to recurring.
  • false = 3D Secure authentication will not be skipped for this transaction.
Note: This is only possible if your account in our system is setup for 3D Secure authentication and if your configuration in our system allows you to override it per transaction.
close

Description

Object containing specific data regarding 3-D Secure
  • SDK Object type
    ThreeDSecure
close

Description

Allows you to send in an authentication amount which can be greater or equal to the order amount. The currency code of the authentication amount should be the same as the currency code of the order amount. In case you don't provide an authentication amount we will use the order amount for the authentication automatically.
  • SDK Object type
    AmountOfMoney
close

Description

Amount in cents and always having 2 decimals
close

Description

Three-letter ISO currency code representing the currency for the amount
close

Description

Indicates whether a transaction is performed in-app using an EMVco certified mobile SDK or inside a browser. Allowed values:
  • browser = Customer is using a browser to complete the checkout (default)
  • in-app = Customer is using an app with a 3-D Secure SDK to complete the checkout

Note: We will add support for the in-app flow in a future release.

close

Description

Dimensions of the challenge window that potentially will be displayed to the customer. The challenge content is formatted to appropriately render in this window to provide the best possible user experience.
Preconfigured sizes are width x height in pixels of the window displayed in the customer browser window. Possible values are:
  • 250x400 (default)
  • 390x400
  • 500x600
  • 600x400
  • full-screen
.
close

Description

Allows you to indicate if you want the customer to be challenged for extra security on this transaction. Possible values:
  • no-preference - You have no preference whether or not to challenge the customer (default)
  • no-challenge-requested - you prefer the cardholder not to be challenged
  • challenge-requested - you prefer the customer to be challenged
  • challenge-required - you require the customer to be challenged
close

Description

Object containing 3D secure details.
  • SDK Object type
    ExternalCardholderAuthenticationData
close

Description

Identifier of the authenticated transaction at the ACS/Issuer.
close

Description

Exemption code from Carte Bancaire (130) (unknown possible values so far -free format).
close

Description

Global score calculated by the Carte Bancaire (130) Scoring platform. Possible values from 0 to 99.
close

Description

Object containing data regarding the customer authentication that occurred prior to the current transaction
  • SDK Object type
    ThreeDSecureData
close

Description

The ACS Transaction ID for a prior 3-D Secure authenticated transaction (for example, the first recurring transaction that was authenticated with the customer)
close

Description

Method of authentication used for this transaction. Possible values:
  • frictionless = The authentication went without a challenge
  • challenged = Cardholder was challenged
  • avs-verified = The authentication was verified by AVS
  • other = Another issuer method was used to authenticate this transaction
close

Description

Timestamp in UTC (YYYYMMDDHHmm) of the 3-D Secure authentication of this transaction
close

Description

Object containing browser specific redirection related data
  • SDK Object type
    RedirectionData
close

Description

The URL that the customer is redirect to after the payment flow has finished. You can add any number of key value pairs in the query string that, for instance help you to identify the customer when they return to your site. Please note that we will also append some additional key value pairs that will also help you with this identification process.
Note: The provided URL should be absolute and contain the protocol to use, e.g. http:// or https://. For use on mobile devices a custom protocol can be used in the form of protocol://. This protocol must be registered on the device first.
URLs without a protocol will be rejected.
close

Description

Using the Configuration Center it is possible to create multiple variations of your MyCheckout payment pages. The redirection flow for 3-D Secure uses the MyCheckout payment pages to display the following types of pages:
  • Redirection page - All redirection using a POST method will load a page in the browser of the customer that performs the actual redirection. This page contains a message to the customer explaining what is happening.
  • MethodURL page - Certain Issuers will use a specific flow in case of 3-D Secure version 2 to directly collect information from the customer browser. This page contains a spinner indicating that this process is going on in.
By specifying a specific variant you can force the use of another variant than the default. This allows you to test out the effect of certain changes to your MyCheckout payment pages in a controlled manner. Please note that you need to specify the ID instead of the name of the variant.
Note: In case you have defined a Dynamic 3D Secure rule that takes the variant into account this will only work if you explicitly specify the ID using this property.
close

Description

ID of the token that holds previously stored card data.
close

Description

Indicates if this transaction should be tokenized
  • true - Tokenize the transaction.
  • false - Do not tokenize the transaction, unless it would be tokenized by other means such as auto-tokenization of recurring payments.
close

Description

Indicates the channel via which the payment is created. Allowed values:
  • ECOMMERCE - The transaction is a regular E-Commerce transaction.
  • MAIL - The transaction is a Mail Order.
  • MOTO - The transaction is a Mail Order/Telephone Order.
  • TELEPHONE - The transaction is a Telephone Order.
Defaults to ECOMMERCE.
close

Description

Indicates which party initiated the unscheduled recurring transaction. Allowed values:
  • merchantInitiated - Merchant Initiated Transaction.
  • cardholderInitiated - Cardholder Initiated Transaction.

Note: this property is not allowed if isRecurring is true.
close

Description

  • first = This transaction is the first of a series of unscheduled recurring transactions
  • subsequent = This transaction is a subsequent transaction in a series of unscheduled recurring transactions

Note: this property is not allowed if isRecurring is true.
close

Description

The IBAN is the International Bank Account Number. It is an internationally agreed format for the BBAN and includes the ISO country code and two check digits.
close

Description

The URL that the customer is redirect to after the payment flow has finished. You can add any number of key value pairs in the query string that, for instance help you to identify the customer when they return to your site. Please note that we will also append some additional key value pairs that will also help you with this identification process.
Note: The provided URL should be absolute and contain the protocol to use, e.g. http:// or https://. For use on mobile devices a custom protocol can be used in the form of protocol://. This protocol must be registered on the device first.
URLs without a protocol will be rejected.
close

Description

Using the Configuration Center it is possible to create multiple variations of your MyCheckout payment pages. The redirection flow for 3-D Secure uses the MyCheckout payment pages to display the following types of pages:
  • Redirection page - All redirection using a POST method will load a page in the browser of the customer that performs the actual redirection. This page contains a message to the customer explaining what is happening.
  • MethodURL page - Certain Issuers will use a specific flow in case of 3-D Secure version 2 to directly collect information from the customer browser. This page contains a spinner indicating that this process is going on in.
By specifying a specific variant you can force the use of another variant than the default. This allows you to test out the effect of certain changes to your MyCheckout payment pages in a controlled manner. Please note that you need to specify the ID instead of the name of the variant.
Note: In case you have defined a Dynamic 3D Secure rule that takes the variant into account this will only work if you explicitly specify the ID using this property.
Group redirectPaymentMethodSpecificInput object depends read close
close

Description

Object containing the specific input details for payments that involve redirects to 3rd parties to complete, like iDeal and PayPal
  • SDK Object type
    RedirectPaymentMethodSpecificInput
  • Property is part of a group
    Learn more

    Properties that make up a group are mutually exclusive, which means you can only include one of each group in any given call.

    If there are multiple groups at one level in the object hierarchy we use numbers to distinguish groups from one another.

close

Description

This sets the maximum amount of minutes a customer has to complete the payment at the bank. After this period has expired it is impossible for the customer to make a payment and in case no payment has been made the transaction will be marked as unsuccessful and expired by the bank. Setting the expirationPeriod is convenient if you want to maximise the time a customer has to complete the payment. Please note that it is normal for a customer to take up to 5 minutes to complete a payment. Setting this value below 10 minutes is not advised.
You can set this value in minutes with a maximum value of 60 minutes. If no input is provided the default value of 60 is used for the transaction.
This value can be set for the following payment products
  • 809 - iDeal
  • 402 - e-Przelewy
  • 836 - Sofort
  • 863 - WeChat Pay
  • 869 - China UnionPay
close

Description

  • true
  • false
close

Description

Object containing specific input required for Dutch iDeal payments (Payment product ID 809)
  • SDK Object type
    RedirectPaymentProduct809SpecificInput
  • Property is part of a group
    Learn more

    Properties that make up a group are mutually exclusive, which means you can only include one of each group in any given call.

    If there are multiple groups at one level in the object hierarchy we use numbers to distinguish groups from one another.

close

Description

ID of the issuing bank of the customer. A list of available issuerIDs can be obtained by using the retrieve payment product directory API.
close

Description

The IBAN is the International Bank Account Number. It is an internationally agreed format for the BBAN and includes the ISO country code and two check digits.
close

Description

Object containing specific input required for PayPal payments (Payment product ID 840)
  • SDK Object type
    RedirectPaymentProduct840SpecificInput
  • Property is part of a group
    Learn more

    Properties that make up a group are mutually exclusive, which means you can only include one of each group in any given call.

    If there are multiple groups at one level in the object hierarchy we use numbers to distinguish groups from one another.

close

Description

indicates whether to allow the customer to select an address on the PayPal website.
  • true = Address can be selected at PayPal
  • false = No address can be selected at PayPal
close

Description

Payment product identifier
Please see payment products for a full overview of possible values.
close

Description

  • first = This transaction is the first of a series of recurring transactions
  • recurring = This transaction is a subsequent transaction in a series of recurring transactions

Note: For any first of a recurring the system will automatically create a token as you will need to use a token for any subsequent recurring transactions. In case a token already exists this is indicated in the response with a value of False for the isNewToken property in the response.
close

Description

Object containing browser specific redirection related data
  • SDK Object type
    RedirectionData
close

Description

The URL that the customer is redirect to after the payment flow has finished. You can add any number of key value pairs in the query string that, for instance help you to identify the customer when they return to your site. Please note that we will also append some additional key value pairs that will also help you with this identification process.
Note: The provided URL should be absolute and contain the protocol to use, e.g. http:// or https://. For use on mobile devices a custom protocol can be used in the form of protocol://. This protocol must be registered on the device first.
URLs without a protocol will be rejected.
close

Description

Using the Configuration Center it is possible to create multiple variations of your MyCheckout payment pages. All redirection using a POST method will load a page in the browser of the consumer that performs the actual redirection. This page contains a message to the consumer explaining what is happening. By specifying a specific variant you can force the use of another variant than the default. This allows you to test out the effect of certain changes to your MyCheckout payment pages in a controlled manner. Please note that you need to specify the ID instead of the name of the variant.
close

Description

  • true = the payment requires approval before the funds will be captured using the Approve payment or Capture payment API
  • false = the payment does not require approval, and the funds will be captured automatically
close
Deprecated: Use redirectionData.returnUrl instead

Description

The URL that the customer is redirect to after the payment flow has finished. You can add any number of key value pairs in the query string that, for instance help you to identify the customer when they return to your site. Please note that we will also append some additional key value pairs that will also help you with this identification process.
Note: The provided URL should be absolute and contain the protocol to use, e.g. http:// or https://. For use on mobile devices a custom protocol can be used in the form of protocol://. This protocol must be registered on the device first.
URLs without a protocol will be rejected.
close

Description

ID of the token
close

Description

Indicates if this transaction should be tokenized
  • true - Tokenize the transaction.
  • false - Do not tokenize the transaction, unless it would be tokenized by other means such as auto-tokenization of recurring payments.
close

Description

The unique reference of the existing mandate to use in this payment.
  • Property is part of a group
    Learn more

    Properties that make up a group are mutually exclusive, which means you can only include one of each group in any given call.

    If there are multiple groups at one level in the object hierarchy we use numbers to distinguish groups from one another.

close

Description

Object containing information to create a SEPA Direct Debit mandate.
  • SDK Object type
    CreateMandateWithReturnUrl
  • Property is part of a group
    Learn more

    Properties that make up a group are mutually exclusive, which means you can only include one of each group in any given call.

    If there are multiple groups at one level in the object hierarchy we use numbers to distinguish groups from one another.

close

Description

An alias for the mandate. This can be used to visually represent the mandate.
Do not include any unobfuscated sensitive data in the alias.
Default value if not provided is the obfuscated IBAN of the customer.
close

Description

Customer object containing customer specific inputs
  • SDK Object type
    MandateCustomer
close

Description

Object containing IBAN information
  • SDK Object type
    BankAccountIban
close

Description

The IBAN is the International Bank Account Number. It is an internationally agreed format for the BBAN and includes the ISO country code and two check digits.
close

Description

Name of company, as a customer
close

Description

Object containing contact details like email address and phone number
  • SDK Object type
    MandateContactDetails
close

Description

Email address of the customer
close

Description

Object containing billing address details
  • SDK Object type
    MandateAddress
close

Description

City
close

Description

ISO 3166-1 alpha-2 country code
close

Description

House number
close

Description

Streetname
close

Description

Zip code
close

Description

Object containing personal information of the customer
  • SDK Object type
    MandatePersonalInformation
close

Description

Object containing the name details of the customer
  • SDK Object type
    MandatePersonalName
close

Description

Given name(s) or first name(s) of the customer
close

Description

Surname(s) or last name(s) of the customer
close

Description

Object containing the title of the customer (Mr, Miss or Mrs)
close

Description

The unique identifier of a customer
close

Description

The language code of the customer, one of de, en, es, fr, it, nl, si, sk, sv.
close

Description

Specifies whether the mandate is for one-off or recurring payments. Possible values are:
  • UNIQUE
  • RECURRING
close

Description

Return URL to use if the mandate signing requires redirection.
close

Description

Specifies whether the mandate is unsigned or singed by SMS. Possible values are:
  • UNSIGNED
  • SMS
close

Description

The unique identifier of the mandate
close

Description

Payment product identifier
Please see payment products for a full overview of possible values.
encryptedCustomerInput string depends read close
close

Description

Data that was encrypted client side containing all customer entered data elements like card data.
Note: Because this data can only be submitted once to our system and contains encrypted card data you should not store it. As the data was captured within the context of a client session you also need to submit it to us before the session has expired.
fraudFields object depends read close
close

Description

Object containing additional data that will be used to assess the risk of fraud
  • SDK Object type
    FraudFields
close
Deprecated: For risk assessments there is no replacement. For other calls, please use order.shipping.addressIndicator to indicate that the billing and shipping address are identical.

Description

Indicates that invoice and shipping addresses are equal.
close

Description

Additional black list input
close
Deprecated: This should be the same as order.customer.billingAddress

Description

The address that belongs to the owner of the card
  • SDK Object type
    Address
close
Deprecated

Description

Additional address information
close
Deprecated

Description

City
Note: For payments with product 1503 the maximum length is not 40 but 20.
close
Deprecated

Description

ISO 3166-1 alpha-2 country code
close
Deprecated

Description

House number
close
Deprecated

Description

Full name of the state or province
close
Deprecated

Description

Streetname
close
Deprecated

Description

Zip code
Note: For payments with product 1503 the maximum length is not 10 but 8.
close

Description

The IP Address of the customer that is making the payment
close
Deprecated: No replacement

Description

Indicates that the device fingerprint has been used while processing the order.
close
Deprecated: No replacement

Description

Details on how the order is shipped to the customer
  • SDK Object type
    FraudFieldsShippingDetails
close
Deprecated: No replacement

Description

Details regarding the shipping method
close
Deprecated: No replacement

Description

Shipping method speed indicator
close
Deprecated: No replacement

Description

Shipping method type indicator
close

Description

Additional address information
close

Description

City
Note: For payments with product 1503 the maximum length is not 40 but 20.
close

Description

ISO 3166-1 alpha-2 country code
close

Description

House number
close

Description

Full name of the state or province
close

Description

Streetname
close

Description

Zip code
Note: For payments with product 1503 the maximum length is not 10 but 8.
order object yes read close
close

Description

Order object containing order related data
Please note that this object is required to be able to submit the amount.
  • SDK Object type
    Order
close

Description

Object containing additional input on the order
  • SDK Object type
    AdditionalOrderInput
close

Description

Object that holds airline specific data
  • SDK Object type
    AirlineData
close

Description

Numeric code identifying the agent
close

Description

Airline numeric code
close

Description

Date of the Flight
Format: YYYYMMDD
close

Description

Object that holds the data on the individual legs of the ticket
close
  • SDK Object type
    AirlineFlightLeg
close

Description

Reservation Booking Designator
close

Description

Arrival airport/city code
close

Description

The arrival time in the local time zone
Format: HH:MM
close

Description

IATA carrier code
close

Description

Identifying number of a ticket issued to a passenger in conjunction with this ticket and that constitutes a single contract of carriage
close

Description

The coupon number associated with this leg of the trip. A ticket can contain several legs of travel, and each leg of travel requires a separate coupon
close

Description

Date of the leg
Format: YYYYMMDD
close

Description

The departure time in the local time at the departure airport
Format: HH:MM
close

Description

An endorsement can be an agency-added notation or a mandatory government required notation, such as value-added tax. A restriction is a limitation based on the type of fare, such as a ticket with a 3-day minimum stay
close

Description

New ticket number that is issued when a ticket is exchanged
close

Description

Fare of this leg
close

Description

Fare Basis/Ticket Designator
close

Description

Fee for this leg of the trip
close

Description

The flight number assigned by the airline carrier with no leading spaces
Should be a numeric string
close

Description

Sequence number of the flight leg
close

Description

Origin airport/city code
close

Description

PassengerClass if this leg
close

Description

Possible values are:
  • permitted = Stopover permitted
  • non-permitted = Stopover not permitted
close

Description

Taxes for this leg of the trip
close

Description

Airline tracing number
close

Description

  • true = The ticket is an E-Ticket
  • false = the ticket is not an E-Ticket
close
Deprecated: Use order.customer.accountType instead

Description

  • true = a registered known customer
  • false = unknown customer
close

Description

  • true - Restricted, the ticket is non-refundable
  • false - No restrictions, the ticket is (partially) refundable
close

Description

  • true - The payer is the ticket holder
  • false - The payer is not the ticket holder
close

Description

This is the date of issue recorded in the airline system In a case of multiple issuances of the same ticket to a cardholder, you should use the last ticket date.
Format: YYYYMMDD
close

Description

Your ID of the customer in the context of the airline data
close

Description

Name of the airline
close

Description

Name of passenger
close

Description

Object that holds the data on the individual passengers (this object is used for fraud screening)
close
  • SDK Object type
    AirlinePassenger
close

Description

First name of the passenger (this property is used for fraud screening)
close

Description

Surname of the passenger (this property is used for fraud screening)
close

Description

Surname prefix of the passenger (this property is used for fraud screening)
close

Description

Title of the passenger (this property is used for fraud screening)
close

Description

Place of issue
For sales in the US the last two characters (pos 14-15) must be the US state code.
close

Description

Passenger name record
close

Description

IATA point of sale name
close

Description

city code of the point of sale
close

Description

Possible values:
  • e-ticket
  • city-ticket-office
  • airport-ticket-office
  • ticket-by-mail
  • ticket-on-departure
close

Description

The ticket or document number contains:
  • Airline code: 3-digit airline code number
  • Form code: A maximum of 3 digits indicating the type of document, the source of issue and the number of coupons it contains
  • Serial number: A maximum of 8 digits allocated on a sequential basis, provided that the total number of digits allocated to the form code and serial number shall not exceed ten
  • TICKETNUMBER can be replaced with PNR if the ticket number is unavailable
close

Description

Total fare for all legs on the ticket, excluding taxes and fees. If multiple tickets are purchased, this is the total fare for all tickets
close

Description

Total fee for all legs on the ticket. If multiple tickets are purchased, this is the total fee for all tickets
close

Description

Total taxes for all legs on the ticket. If multiple tickets are purchased, this is the total taxes for all tickets
close

Description

Name of the travel agency issuing the ticket. For direct airline integration, leave this property blank
close

Description

Amount in cents and always having 2 decimals
close

Description

Three-letter ISO currency code representing the currency for the amount
close
  • SDK Object type
    LodgingCharge
close
  • SDK Object type
    LodgingRoom
close

Description

Object that holds the purchase and usage type indicators
  • SDK Object type
    OrderTypeInformation
close

Description

Identifies the type of transaction being authenticated. Possible values are:
  • purchase = The purpose of the transaction is to purchase goods or services (Default)
  • check-acceptance = The purpose of the transaction is to accept a 'check'/'cheque'
  • account-funding = The purpose of the transaction is to fund an account
  • quasi-cash = The purpose of the transaction is to buy a quasi cash type product that is representative of actual cash such as money orders, traveler's checks, foreign currency, lottery tickets or casino gaming chips
  • prepaid-activation-or-load = The purpose of the transaction is to activate or load a prepaid card
close

Description

Object containing amount and ISO currency code attributes
  • SDK Object type
    AmountOfMoney
close

Description

Amount in cents and always having 2 decimals
close

Description

Three-letter ISO currency code representing the currency for the amount
close

Description

Object containing the details of the customer
  • SDK Object type
    Customer
close

Description

Object containing data related to the account the customer has with you
  • SDK Object type
    CustomerAccount
close

Description

Object containing data on the authentication used by the customer to access their account
  • SDK Object type
    CustomerAccountAuthentication
close

Description

Authentication used by the customer on your website
Possible values :
  • guest = no login occurred, customer is 'logged in' as guest
  • merchant-credentials = the customer logged in using credentials that are specific to you
  • federated-id = the customer logged in using a federated ID
  • issuer-credentials = the customer logged in using credentials from the card issuer (of the card used in this transaction)
  • third-party-authentication = the customer logged in using third-party authentication
  • fido-authentication = the customer logged in using a FIDO authenticator
close

Description

Timestamp (YYYYMMDDHHmm) of the authentication of the customer to their account with you
close

Description

The last date (YYYYMMDD) on which the customer made changes to their account with you. These are changes to billing & shipping address details, new payment account (tokens), or new users(s) added.
close

Description

true = the customer made changes to their account during this checkout

false = the customer didn't change anything to their account during this checkout/n

The changes ment here are changes to billing & shipping address details, new payment account (tokens), or new users(s) added.

close

Description

The date (YYYYMMDD) on which the customer created their account with you
close

Description

Specifies if you have experienced suspicious activity on the account of the customer

true = you have experienced suspicious activity (including previous fraud) on the customer account used for this transaction

false = you have experienced no suspicious activity (including previous fraud) on the customer account used for this transaction

close

Description

The last date (YYYYMMDD) on which the customer changed their password for the account used in this transaction
close

Description

Indicates if the password of an account is changed during this checkout

true = the customer made changes to their password of the account used during this checkout

alse = the customer didn't change anything to their password of the account used during this checkout

close

Description

Object containing information on the payment account data on file (tokens)
  • SDK Object type
    PaymentAccountOnFile
close

Description

The date (YYYYMMDD) when the payment account on file was first created.

In case a token is used for the transaction we will use the creation date of the token in our system in case you leave this property empty.

close

Description

Number of attempts made to add new card to the customer account in the last 24 hours
close

Description

Object containing data on the purchase history of the customer with you
  • SDK Object type
    CustomerPaymentActivity
close

Description

Number of payment attempts (so including unsuccessful ones) made by this customer with you in the last 24 hours
close

Description

Number of payment attempts (so including unsuccessful ones) made by this customer with you in the last 12 months
close

Description

Number of successful purchases made by this customer with you in the last 6 months
close

Description

Type of the customer account that is used to place this order. Can have one of the following values:
  • none - The account that was used to place the order with is a guest account or no account was used at all
  • created - The customer account was created during this transaction
  • existing - The customer account was an already existing account prior to this transaction
close

Description

Object containing billing address details
  • SDK Object type
    Address
close

Description

Additional address information
close

Description

City
Note: For payments with product 1503 the maximum length is not 40 but 20.
close

Description

ISO 3166-1 alpha-2 country code
close

Description

House number
close

Description

Full name of the state or province
close

Description

Streetname
close

Description

Zip code
Note: For payments with product 1503 the maximum length is not 10 but 8.
close

Description

Object containing company information
  • SDK Object type
    CompanyInformation
close

Description

Name of company, as a customer
close

Description

Object containing contact details like email address and phone number
  • SDK Object type
    ContactDetails
close

Description

Email address of the customer
close

Description

International version of the mobile phone number of the customer including the leading + (i.e. +16127779311).
close

Description

Phone number of the customer
close

Description

International version of the work phone number of the customer including the leading + (i.e. +31235671500)
close

Description

Object containing information on the device and browser of the customer
  • SDK Object type
    CustomerDevice
close

Description

The accept-header of the customer client from the HTTP Headers.
close

Description

Object containing information regarding the browser of the customer
  • SDK Object type
    BrowserData
close

Description

ColorDepth in bits. Value is returned from the screen.colorDepth property.

If you use the latest version of our JavaScript Client SDK, we will collect this data and include it in the encryptedCustomerInput property. We will then automatically populate this data if available.

Note: This data can only be collected if JavaScript is enabled in the browser. This means that 3-D Secure version 2.1 requires the use of JavaScript to enabled. In the upcoming version 2.2 of the specification this is no longer a requirement. As we currently support version 2.1 it means that this property is required when cardPaymentMethodSpecifInput.threeDSecure.authenticationFlow is set to "browser".

close

Description

The innerHeight of the frame in case you are capturing your payments in a frame. We will use this to validate if the height provided in the cardPaymentMethodSpecifInput.threeDSecure.challengeCanvasSize will actually fit in the iFrame you use.
close

Description

The innerWidth of the frame in case you are capturing your payments in a frame. We will use this to validate if the width provided in the cardPaymentMethodSpecifInput.threeDSecure.challengeCanvasSize will actually fit in the iFrame you use.
close

Description

true =Java is enabled in the browser

false = Java is not enabled in the browser

Value is returned from the navigator.javaEnabled property.

If you use the latest version of our JavaScript Client SDK, we will collect this data and include it in the encryptedCustomerInput property. We will then automatically populate this data if available.

Note: This data can only be collected if JavaScript is enabled in the browser. This means that 3-D Secure version 2.1 requires the use of JavaScript to enabled. In the upcoming version 2.2 of the specification this is no longer a requirement. As we currently support version 2.1 it means that this property is required when cardPaymentMethodSpecifInput.threeDSecure.authenticationFlow is set to "browser".

close

Description

true = JavaScript is enabled in the browser

false = JavaScript is not enabled in the browser

Note: Required in future 3-D Secure version 2.2.

close

Description

Height of the screen in pixels. Value is returned from the screen.height property.

If you use the latest version of our JavaScript Client SDK, we will collect this data and include it in the encryptedCustomerInput property. We will then automatically populate this data if available.

Note: This data can only be collected if JavaScript is enabled in the browser. This means that 3-D Secure version 2.1 requires the use of JavaScript to enabled. In the upcoming version 2.2 of the specification this is no longer a requirement. As we currently support version 2.1 it means that this property is required when cardPaymentMethodSpecifInput.threeDSecure.authenticationFlow is set to "browser".

close

Description

Width of the screen in pixels. Value is returned from the screen.width property.

If you use the latest version of our JavaScript Client SDK, we will collect this data and include it in the encryptedCustomerInput property. We will then automatically populate this data if available.

Note: This data can only be collected if JavaScript is enabled in the browser. This means that 3-D Secure version 2.1 requires the use of JavaScript to enabled. In the upcoming version 2.2 of the specification this is no longer a requirement. As we currently support version 2.1 it means that this property is required when cardPaymentMethodSpecifInput.threeDSecure.authenticationFlow is set to "browser".

close

Description

Locale of the client device/browser. Returned in the browser from the navigator.language property.

If you use the latest version of our JavaScript Client SDK, we will collect this data and include it in the encryptedCustomerInput property. We will then automatically populate this data if available.

close

Description

Offset in minutes of timezone of the client versus the UTC. Value is returned by the JavaScript getTimezoneOffset() Method.

If you use the latest version of our JavaScript Client SDK, we will collect this data and include it in the encryptedCustomerInput property. We will then automatically populate this data if available.

close

Description

User-Agent of the client device/browser from the HTTP Headers.

As a fall-back we will use the userAgent that might be included in the encryptedCustomerInput, but this is captured client side using JavaScript and might be different.

close

Description

Fiscal registration number of the customer or the tax registration number of the company for a business customer. Please find below specifics per country:
  • Brazil - Consumer (CPF) with a length of 11 digits
  • Brazil - Company (CNPJ) with a length of 14 digits
  • Denmark - Consumer (CPR-nummer or personnummer) with a length of 10 digits
  • Finland - Consumer (Finnish: henkilötunnus (abbreviated as HETU), Swedish: personbeteckning) with a length of 11 characters
  • India - Consumer (PAN) with a length of 10 characters
  • Norway - Consumer (fødselsnummer) with a length of 11 digits
  • Sweden - Consumer (personnummer) with a length of 10 or 12 digits
close

Description

The locale that the customer should be addressed in (for 3rd parties). Note that some 3rd party providers only support the languageCode part of the locale, in those cases we will only use part of the locale provided.
close

Description

Your identifier for the customer. It is used in the fraud-screening process.
close

Description

Object containing personal information like name, date of birth and gender.
  • SDK Object type
    PersonalInformation
close

Description

The date of birth of the customer
Format: YYYYMMDD
close

Description

Object containing the name details of the customer
  • SDK Object type
    PersonalName
close

Description

Given name(s) or first name(s) of the customer
close

Description

Surname(s) or last name(s) of the customer
close

Description

Middle name - In between first name and surname - of the customer
close

Description

Title of customer
close
Deprecated: Use order.shipping.address instead

Description

Object containing shipping address details
  • SDK Object type
    AddressPersonal
close
Deprecated

Description

Additional address information
close
Deprecated

Description

City
close
Deprecated

Description

ISO 3166-1 alpha-2 country code
close
Deprecated

Description

House number
close
Deprecated

Description

Object that holds the name elements
  • SDK Object type
    PersonalName
close
Deprecated

Description

Given name(s) or first name(s) of the customer
close
Deprecated

Description

Surname(s) or last name(s) of the customer
close
Deprecated

Description

Middle name - In between first name and surname - of the customer
close
Deprecated

Description

Title of customer
close
Deprecated

Description

Full name of the state or province
close
Deprecated

Description

Streetname
close
Deprecated

Description

Zip code
close
Deprecated
  • SDK Object type
    LineItem
close
Deprecated

Description

Object containing amount and ISO currency code attributes
Note: make sure you submit the amount and currency code for each line item
  • SDK Object type
    AmountOfMoney
close
Deprecated

Description

Amount in cents and always having 2 decimals
close
Deprecated

Description

Three-letter ISO currency code representing the currency for the amount
close
Deprecated

Description

Object containing the line items of the invoice or shopping cart
  • SDK Object type
    LineItemInvoiceData
close
Deprecated

Description

Shopping cart item description
close
Deprecated

Description

Line number for printed invoice or order of items in the cart
Should be a numeric string
close
Deprecated

Description

Page number for printed invoice
Should be a numeric string
close
Deprecated

Description

Quantity of the item
close
Deprecated

Description

Price per item
close
Deprecated

Description

Discount on the line item, with the last two digits are implied decimal places
close
Deprecated

Description

Total amount for the line item
close
Deprecated

Description

Product or UPC Code, left justified
Note: Must not be all spaces or all zeros
close
Deprecated

Description

The price of one unit of the product, the value should be zero or greater
close
Deprecated

Description

Code used to classify items that are purchased
Note: Must not be all spaces or all zeros
close
Deprecated

Description

Quantity of the units being purchased, should be greater than zero
Note: Must not be all spaces or all zeros
close
Deprecated

Description

Tax on the line item, with the last two digits are implied decimal places
close
Deprecated

Description

Indicates the line item unit of measure; for example: each, kit, pair, gallon, month, etc.
close
Deprecated

Description

Object containing additional information that when supplied can have a beneficial effect on the discountrates
  • SDK Object type
    OrderLineDetails
close
Deprecated

Description

Discount on the line item, with the last two digits implied as decimal places
close
Deprecated

Description

Total amount for the line item
close
Deprecated

Description

The category of the product (i.e. home appliance). This property can be used for fraud screening.
close
Deprecated

Description

Product or UPC Code, left justified
Note: Must not be all spaces or all zeros
close
Deprecated

Description

The name of the product.
close
Deprecated

Description

The price of one unit of the product, the value should be zero or greater
close
Deprecated

Description

Code used to classify items that are purchased
Note: Must not be all spaces or all zeros
close
Deprecated

Description

Quantity of the units being purchased, should be greater than zero
Note: Must not be all spaces or all zeros
close
Deprecated

Description

Tax on the line item, with the last two digits implied as decimal places
close
Deprecated

Description

Indicates the line item unit of measure; for example: each, kit, pair, gallon, month, etc.
close

Description

Object that holds all reference properties that are linked to this transaction
  • SDK Object type
    OrderReferences
close

Description

Descriptive text that is used towards to customer, either during an online checkout at a third party and/or on the statement of the customer. For card transactions this is usually referred to as a Soft Descriptor. The maximum allowed length varies per card acquirer:
  • AIB - 22 characters
  • American Express - 25 characters
  • Atos Origin BNP - 15 characters
  • Barclays - 25 characters
  • Catella - 22 characters
  • CBA - 20 characters
  • Elavon - 25 characters
  • First Data - 25 characters
  • INICIS (INIPAY) - 22-30 characters
  • JCB - 25 characters
  • Merchant Solutions - 22-25 characters
  • Payvision (EU & HK) - 25 characters
  • SEB Euroline - 22 characters
  • Sub1 Argentina - 15 characters
  • Wells Fargo - 25 characters
Note that we advise you to use 22 characters as the max length as beyond this our experience is that issuers will start to truncate. We currently also only allow per API call overrides for AIB and Barclays
For alternative payment products the maximum allowed length varies per payment product:
  • 402 e-Przelewy - 30 characters
  • 404 INICIS - 80 characters
  • 802 Nordea ePayment Finland - 234 characters
  • 809 iDeal - 32 characters
  • 836 SOFORT - 42 characters
  • 840 PayPal - 127 characters
  • 841 WebMoney - 175 characters
  • 849 Yandex - 64 characters
  • 861 Alipay - 256 characters
  • 863 WeChat Pay - 32 characters
  • 880 BOKU - 20 characters
  • 8580 Qiwi - 255 characters
  • 1504 Konbini - 80 characters
All other payment products don't support a descriptor.
close

Description

Your unique reference of the transaction that is also returned in our report files. This is almost always used for your reconciliation of our report files.
close
Deprecated

Description

Additional address information
close
Deprecated

Description

City
Note: For payments with product 1503 the maximum length is not 40 but 20.
close
Deprecated

Description

ISO 3166-1 alpha-2 country code
close
Deprecated

Description

House number
close
Deprecated

Description

Full name of the state or province
close
Deprecated

Description

Streetname
close
Deprecated

Description

Zip code
Note: For payments with product 1503 the maximum length is not 10 but 8.
close

Description

Object containing information regarding shipping / delivery
  • SDK Object type
    Shipping
close

Description

Object containing address information
  • SDK Object type
    AddressPersonal
close

Description

Additional address information
close

Description

City
close

Description

ISO 3166-1 alpha-2 country code
close

Description

House number
close

Description

Object that holds the name elements
  • SDK Object type
    PersonalName
close

Description

Given name(s) or first name(s) of the customer
close

Description

Surname(s) or last name(s) of the customer
close

Description

Middle name - In between first name and surname - of the customer
close

Description

Title of customer
close

Description

Full name of the state or province
close

Description

Streetname
close

Description

Zip code
close

Description

Indicates shipping method chosen for the transaction. Possible values:
  • same-as-billing = the shipping address is the same as the billing address
  • another-verified-address-on-file-with-merchant = the address used for shipping is another verified address of the customer that is on file with you
  • different-than-billing = shipping address is different from the billing address
  • ship-to-store = goods are shipped to a store (shipping address = store address)
  • digital-goods = electronic delivery of digital goods
  • travel-and-event-tickets-not-shipped = travel and/or event tickets that are not shipped
  • other = other means of delivery
close

Description

Email address linked to the shipping
close

Description

Date (YYYYMMDD) when the shipping details for this transaction were first used.
close

Description

Indicator if this shipping address is used for the first time to ship an order

true = the shipping details are used for the first time with this transaction

false = the shipping details have been used for other transactions in the past

close

Description

Indicates the merchandise delivery timeframe. Possible values:
  • electronic = For electronic delivery (services or digital goods
  • same-day = For same day deliveries
  • overnight = For overnight deliveries
  • 2-day-or-more = For two day or more delivery time
close

Description

Shopping cart data, including items and specific amounts.
  • SDK Object type
    ShoppingCart
close

Description

Determines the type of the amount.
close
  • SDK Object type
    AmountBreakdown
close

Description

Amount in cents and always having 2 decimals
close

Description

Type of the amount. Each type is only allowed to be provided once. Allowed values:
  • AIRPORT_TAX - The amount of tax paid for the airport, with the last 2 digits implied as decimal places.
  • CONSUMPTION_TAX - The amount of consumption tax paid by the customer, with the last 2 digits implied as decimal places.
  • DISCOUNT - Discount on the entire transaction, with the last 2 digits implied as decimal places.
  • DUTY - Duty on the entire transaction, with the last 2 digits implied as decimal places.
  • HANDLING - Handling cost on the entire transaction, with the last 2 digits implied as decimal places.
  • SHIPPING - Shipping cost on the entire transaction, with the last 2 digits implied as decimal places.
  • TAX - Total tax paid on the entire transaction, with the last 2 digits implied as decimal places.
  • VAT - Total amount of VAT paid on the transaction, with the last 2 digits implied as decimal places.
  • BASE_AMOUNT - Order amount excluding all taxes, discount & shipping costs, with the last 2 digits implied as decimal places.
close

Description

Object containing information on purchased gift card(s)
  • SDK Object type
    GiftCardPurchase
close

Description

Object containing information on an amount of money
  • SDK Object type
    AmountOfMoney
close

Description

Amount in cents and always having 2 decimals
close

Description

Three-letter ISO currency code representing the currency for the amount
close

Description

Number of gift cards that are purchased through this transaction
close

Description

Shopping cart data
close
  • SDK Object type
    LineItem
close

Description

Object containing amount and ISO currency code attributes
Note: make sure you submit the amount and currency code for each line item
  • SDK Object type
    AmountOfMoney
close

Description

Amount in cents and always having 2 decimals
close

Description

Three-letter ISO currency code representing the currency for the amount
close

Description

Object containing the line items of the invoice or shopping cart
  • SDK Object type
    LineItemInvoiceData
close

Description

Shopping cart item description
close

Description

Line number for printed invoice or order of items in the cart
Should be a numeric string
close

Description

Page number for printed invoice
Should be a numeric string
close

Description

Quantity of the item
close

Description

Price per item
close
Deprecated

Description

Discount on the line item, with the last two digits are implied decimal places
close
Deprecated

Description

Total amount for the line item
close
Deprecated

Description

Product or UPC Code, left justified
Note: Must not be all spaces or all zeros
close
Deprecated

Description

The price of one unit of the product, the value should be zero or greater
close
Deprecated

Description

Code used to classify items that are purchased
Note: Must not be all spaces or all zeros
close
Deprecated

Description

Quantity of the units being purchased, should be greater than zero
Note: Must not be all spaces or all zeros
close
Deprecated

Description

Tax on the line item, with the last two digits are implied decimal places
close
Deprecated

Description

Indicates the line item unit of measure; for example: each, kit, pair, gallon, month, etc.
close

Description

Object containing additional information that when supplied can have a beneficial effect on the discountrates
  • SDK Object type
    OrderLineDetails
close

Description

Discount on the line item, with the last two digits implied as decimal places
close

Description

Total amount for the line item
close

Description

The category of the product (i.e. home appliance). This property can be used for fraud screening.
close

Description

Product or UPC Code, left justified
Note: Must not be all spaces or all zeros
close

Description

The name of the product.
close

Description

The price of one unit of the product, the value should be zero or greater
close

Description

Code used to classify items that are purchased
Note: Must not be all spaces or all zeros
close

Description

Quantity of the units being purchased, should be greater than zero
Note: Must not be all spaces or all zeros
close

Description

Tax on the line item, with the last two digits implied as decimal places
close

Description

Indicates the line item unit of measure; for example: each, kit, pair, gallon, month, etc.

Request example

SDK: Node.js

This scenario you will probably use the most

  • var body = {
        "cardPaymentMethodSpecificInput" : {
            "card" : {
                "cvv" : "123",
                "cardNumber" : "4567350000427977",
                "expiryDate" : "1299",
                "cardholderName" : "Wile E. Coyote"
            },
            "isRecurring" : false,
            "paymentProductId" : 1,
            "transactionChannel" : "ECOMMERCE",
            "merchantInitiatedReasonIndicator" : "delayedCharges",
            "threeDSecure" : {
                "challengeIndicator" : "challenge-requested",
                "challengeCanvasSize" : "600x400",
                "exemptionRequest" : "none",
                "authenticationFlow" : "browser",
                "skipAuthentication" : false,
                "authenticationAmount" : {
                    "currencyCode" : "EUR",
                    "amount" : 2980
                },
                "redirectionData" : {
                    "returnUrl" : "https://hostname.myownwebsite.url"
                }
            }
        },
        "order" : {
            "amountOfMoney" : {
                "currencyCode" : "EUR",
                "amount" : 2980
            },
            "customer" : {
                "accountType" : "none",
                "billingAddress" : {
                    "street" : "Desertroad",
                    "houseNumber" : "13",
                    "additionalInfo" : "b",
                    "zip" : "84536",
                    "city" : "Monument Valley",
                    "state" : "Utah",
                    "countryCode" : "US"
                },
                "companyInformation" : {
                    "name" : "Acme Labs",
                    "vatNumber" : "1234AB5678CD"
                },
                "contactDetails" : {
                    "emailAddress" : "wile.e.coyote@acmelabs.com",
                    "phoneNumber" : "+1234567890",
                    "faxNumber" : "+1234567891"
                },
                "device" : {
                    "acceptHeader" : "texthtml,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
                    "browserData" : {
                        "colorDepth" : 24,
                        "javaEnabled" : false,
                        "screenHeight" : "1200",
                        "screenWidth" : "1920"
                    },
                    "ipAddress" : "123.123.123.123",
                    "locale" : "en-US",
                    "userAgent" : "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_4) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.1 Safari/605.1.15",
                    "timezoneOffsetUtcMinutes" : "420"
                },
                "locale" : "en_US",
                "merchantCustomerId" : "1234",
                "personalInformation" : {
                    "name" : {
                        "title" : "Mr.",
                        "firstName" : "Wile",
                        "surnamePrefix" : "E.",
                        "surname" : "Coyote"
                    },
                    "gender" : "male",
                    "dateOfBirth" : "19490917"
                }
            },
            "shipping" : {
                "address" : {
                    "name" : {
                        "title" : "Miss",
                        "firstName" : "Road",
                        "surname" : "Runner"
                    },
                    "street" : "Desertroad",
                    "houseNumber" : "1",
                    "additionalInfo" : "Suite II",
                    "zip" : "84536",
                    "city" : "Monument Valley",
                    "state" : "Utah",
                    "countryCode" : "US"
                }
            },
            "references" : {
                "merchantOrderId" : 123456,
                "merchantReference" : "AcmeOrder0001",
                "invoiceData" : {
                    "invoiceNumber" : "000000123",
                    "invoiceDate" : "20140306191500"
                },
                "descriptor" : "Fast and Furry-ous"
            },
            "shoppingCart" : {
                "items" : [
                    {
                        "amountOfMoney" : {
                            "currencyCode" : "EUR",
                            "amount" : 2500
                        },
                        "invoiceData" : {
                            "nrOfItems" : "1",
                            "pricePerItem" : 2500,
                            "description" : "ACME Super Outfit"
                        }
                    },
                    {
                        "amountOfMoney" : {
                            "currencyCode" : "EUR",
                            "amount" : 480
                        },
                        "invoiceData" : {
                            "nrOfItems" : "12",
                            "pricePerItem" : 40,
                            "description" : "Aspirin"
                        }
                    }
                ]
            }
        }
    };
    connectSdk.payments.create("merchantId", body, null, function (error, sdkResponse) {
      // if sdkResponse is not null, it has the following properties:
      // - status: the HTTP status code
      // - body: the response body
      // - isSuccess: true if the call was successful,
      //              or false if the Ingenico ePayments platform returned an error response
    });
    
  • var body = {
        "order" : {
            "amountOfMoney" : {
                "currencyCode" : "USD",
                "amount" : 4005
            },
            "customer" : {
                "merchantCustomerId" : "1234",
                "billingAddress" : {
                    "countryCode" : "US"
                }
            }
        },
        "cardPaymentMethodSpecificInput" : {
            "paymentProductId" : 1,
            "threeDSecure" : {
                "skipAuthentication" : false
            },
            "card" : {
                "cvv" : "***",
                "cardNumber" : "****************",
                "expiryDate" : "****"
            }
        }
    };
    connectSdk.payments.create("merchantId", body, null, function (error, sdkResponse) {
      // if sdkResponse is not null, it has the following properties:
      // - status: the HTTP status code
      // - body: the response body
      // - isSuccess: true if the call was successful,
      //              or false if the Ingenico ePayments platform returned an error response
    });
    
  • var body = {
        "order" : {
            "amountOfMoney" : {
                "currencyCode" : "EUR",
                "amount" : 4005
            },
            "customer" : {
                "merchantCustomerId" : "1234",
                "billingAddress" : {
                    "countryCode" : "US"
                }
            }
        },
        "redirectPaymentMethodSpecificInput" : {
            "paymentProductId" : 840,
            "redirectionData" : {
                "returnUrl" : "https://www.google.com"
            }
        }
    };
    connectSdk.payments.create("merchantId", body, null, function (error, sdkResponse) {
      // if sdkResponse is not null, it has the following properties:
      // - status: the HTTP status code
      // - body: the response body
      // - isSuccess: true if the call was successful,
      //              or false if the Ingenico ePayments platform returned an error response
    });
    
  • var body = {
        "order" : {
            "amountOfMoney" : {
                "currencyCode" : "USD",
                "amount" : 4005
            },
            "customer" : {
                "merchantCustomerId" : "YOUR_CUST_ID",
                "personalInformation" : {
                    "name" : {
                        "title" : "Mr.",
                        "firstName" : "Wile",
                        "surnamePrefix" : "E.",
                        "surname" : "Coyote"
                    },
                    "gender" : "male",
                    "dateOfBirth" : "19490917"
                },
                "companyInformation" : {
                    "name" : "Acme Labs",
                    "vatNumber" : "1234AB5678CD"
                },
                "locale" : "en",
                "billingAddress" : {
                    "street" : "Desertroad",
                    "houseNumber" : "13",
                    "additionalInfo" : "b",
                    "zip" : "84536",
                    "city" : "Monument Valley",
                    "state" : "Utah",
                    "countryCode" : "US"
                },
                "contactDetails" : {
                    "emailAddress" : "wile.e.coyote@acmelabs.com",
                    "phoneNumber" : "+1234567890",
                    "faxNumber" : "+1234567891",
                    "emailMessageType" : "html"
                }
            },
            "shipping" : {
                "address" : {
                    "name" : {
                        "title" : "Miss",
                        "firstName" : "Road",
                        "surname" : "Runner"
                    },
                    "street" : "Desertroad",
                    "houseNumber" : "1",
                    "additionalInfo" : "Suite II",
                    "zip" : "84536",
                    "city" : "Monument Valley",
                    "state" : "Utah",
                    "countryCode" : "US"
                }
            },
            "references" : {
                "merchantOrderId" : 123456,
                "merchantReference" : "AcmeOrder0001",
                "invoiceData" : {
                    "invoiceNumber" : "000000123",
                    "invoiceDate" : "20140306191500"
                },
                "descriptor" : "Fast and Furry-ous"
            },
            "shoppingCart" : {
                "items" : [
                    {
                        "amountOfMoney" : {
                            "currencyCode" : "USD",
                            "amount" : 2005
                        },
                        "invoiceData" : {
                            "nrOfItems" : "1",
                            "pricePerItem" : 2005,
                            "description" : "ACME Super Outfit"
                        }
                    },
                    {
                        "amountOfMoney" : {
                            "currencyCode" : "USD",
                            "amount" : 20
                        },
                        "invoiceData" : {
                            "nrOfItems" : "10",
                            "pricePerItem" : 20,
                            "description" : "Asperin"
                        }
                    }
                ]
            }
        },
        "cardPaymentMethodSpecificInput" : {
            "paymentProductId" : 1,
            "threeDSecure" : {
                "skipAuthentication" : false
            },
            "card" : {
                "cvv" : "***",
                "cardNumber" : "****************",
                "expiryDate" : "****",
                "cardholderName" : "Wile E. Coyote"
            }
        }
    };
    connectSdk.payments.create("merchantId", body, null, function (error, sdkResponse) {
      // if sdkResponse is not null, it has the following properties:
      // - status: the HTTP status code
      // - body: the response body
      // - isSuccess: true if the call was successful,
      //              or false if the Ingenico ePayments platform returned an error response
    });
    

Responses

Please find below an overview of the possible responses.

Response 201 - CreatedCreatePaymentResponse

The payment request was successfully processed and a payment object was created.

In the HTTP header the location is provided of the created hostedCheckout object so you can easily query its status, by simply performing a GET on the URI provided in this header.

Properties
Property Type Required Details
creationOutput object no read close
close

Description

Object containing the details of the created payment
  • SDK Object type
    PaymentCreationOutput
close

Description

Indicates if a new token was created
  • true - A new token was created
  • false - A token with the same card number already exists and is returned. Please note that the existing token has not been updated. When you want to update other data then the card number, you need to update data stored in the token explicitly, as data is never updated during the creation of a token.
close

Description

ID of the token
close

Description

Indicates if tokenization was successful or not. If this value is false, then the token and isNewToken properties will not be set.
merchantAction object no read close
close

Description

Object that contains the action, including the needed data, that you should perform next, like showing instructions, showing the transaction results or redirect to a third party to complete the payment
  • SDK Object type
    MerchantAction
close

Description

Action merchants needs to take in the online payment process. Possible values are:
  • REDIRECT - The customer needs to be redirected using the details found in redirectData
  • SHOW_FORM - The customer needs to be shown a form with the fields found in formFields. You can submit the data entered by the user in a Complete payment request. Additionally:
    • for payment product 3012 (Bancontact), to support payments via the Bancontact app, showData contains a QR code and URL intent.
    • for payment product 863 (WeChat Pay), to support payments via the WeChat app, showData contains a QR code, URL intent, or signature and nonce combination. The showData property describes when each of these values can be returned.
      Note that WeChat Pay does not support completing payments.
  • SHOW_INSTRUCTIONS - The customer needs to be shown payment instruction using the details found in showData. Alternatively the instructions can be rendered by us using the instructionsRenderingData
  • SHOW_TRANSACTION_RESULTS - The customer needs to be shown the transaction results using the details found in showData
  • MOBILE_THREEDS_CHALLENGE - The customer needs to complete a challenge as part of the 3D Secure authentication inside your mobile app. The details contained in mobileThreeDSecureChallengeParameters need to be provided to the EMVco certified Mobile SDK as a challengeParameters object.
  • CALL_THIRD_PARTY - The merchant needs to call a third party using the data found in thirdPartyData
close

Description

Populated only when the actionType of the merchantAction is SHOW_FORM. In this case, this property contains the list of fields to render, in the format that is also used in the response of Get payment product.
close
  • SDK Object type
    PaymentProductField
close

Description

Object containing data restrictions that apply to this field, like minimum and/or maximum length
  • SDK Object type
    PaymentProductFieldDataRestrictions
close

Description

  • true - Indicates that this field is required
  • false - Indicates that this field is optional
close

Description

Object containing the details of the validations on the field
  • SDK Object type
    PaymentProductFieldValidators
close

Description

Indicates that the content should be validated against the rules for an email address
  • SDK Object type
    EmptyValidator
close

Description

Indicates that the content should be validated against the rules for an expiration date (it should be in the future)
  • SDK Object type
    EmptyValidator
close

Description

Indicates that content should be one of the, in this object, listed items
  • SDK Object type
    FixedListValidator
close

Description

List of the allowed values that the field will be validated against
close

Description

Indicates that the content of this (iban) field needs to validated against format checks and modulo check (as described in ISO 7064)
  • SDK Object type
    EmptyValidator
close

Description

Indicates that the content needs to be validated against length criteria defined in this object
  • SDK Object type
    LengthValidator
close

Description

The maximum allowed length
close

Description

The minimum allowed length
close

Description

Indicates that the content needs to be validated using a LUHN check
  • SDK Object type
    EmptyValidator
close

Description

Indicates that the content needs to be validated against a, in this object, defined range
  • SDK Object type
    RangeValidator
close

Description

A string representing the regular expression to check
  • SDK Object type
    RegularExpressionValidator
close

Description

Contains the regular expression that the value of the field needs to be validated against
close

Description

Indicates that the content should be validated as such that the customer has accepted the field as if they were terms and conditions of a service
  • SDK Object type
    EmptyValidator
close

Description

Object containing display hints for this field, like the order, mask, preferred keyboard
  • SDK Object type
    PaymentProductFieldDisplayHints
close

Description

  • true - Indicates that this field is advised to be captured to increase the success rates even though it isn't marked as required. Please note that making the field required could hurt the success rates negatively. This boolean only indicates our advise to always show this field to the customer.
  • false - Indicates that this field is not to be shown unless it is a required field.
close

Description

The order in which the fields should be shown (ascending)
close

Description

Object detailing the type of form element that should be used to present the field
  • SDK Object type
    PaymentProductFieldFormElement
close

Description

Type of form element to be used. The following types can be returned:
  • text - A normal text input field
  • list - A list of values that the customer needs to choose from, is detailed in the valueMapping array
  • currency - Currency fields should be split into two fields, with the second one being specifically for the cents
  • boolean - Boolean fields should offer the customer a choice, like accepting the terms and conditions of a product.
  • date - let the customer pick a date.
close

Description

An array of values and displayNames that should be used to populate the list object in the GUI
close
  • SDK Object type
    ValueMappingElement
close

Description

List of extra data of the value.
close
  • SDK Object type
    PaymentProductFieldDisplayElement
close

Description

The ID of the display element.
close

Description

The label of the display element.
close

Description

The type of the display element. Indicates how the value should be presented. Possible values are:
  • STRING - as plain text
  • CURRENCY - as an amount in cents displayed with a decimal separator and the currency of the payment
  • PERCENTAGE - as a number with a percentage sign
  • INTEGER - as an integer
  • URI - as a link
close

Description

the value of the display element.
close

Description

Value corresponding to the key
close

Description

Label/Name of the field to be used in the user interface
close

Description

A mask that can be used in the input field. You can use it to inject additional characters to provide a better user experience and to restrict the accepted character set (illegal characters to be ignored during typing).
* is used for wildcards (and also chars)
9 is used for numbers
Everything outside {{ and }} is used as-is.
close

Description

  • true - The data in this field should be obfuscated as it is entered, just like a password field
  • false - The data in this field does not need to be obfuscated
close

Description

A placeholder value for the form element
close

Description

The type of keyboard that can best be used to fill out the value of this field. Possible values are:
  • PhoneNumberKeyboard - Keyboard that is normally used to enter phone numbers
  • StringKeyboard - Keyboard that is used to enter strings
  • IntegerKeyboard - Keyboard that is used to enter only numerical values
  • EmailAddressKeyboard - Keyboard that allows easier entry of email addresses
close

Description

Object that contains an optional tooltip to assist the customer
  • SDK Object type
    PaymentProductFieldTooltip
close

Description

Relative URL that can be used to retrieve an image for the tooltip image. You can use our server-side resize functionality by appending '?size={{width}}x{{height}}' to the full URL, where width and height are specified in pixels. The resized image will always keep its correct aspect ratio.
close

Description

A text explaining the field in more detail. This is meant to be used for displaying to the customer.
close

Description

The ID of the field
close

Description

The type of field, possible values are:
  • string - Any UTF-8 chracters
  • numericstring - A string that consisting only of numbers. Note that you should strip out anything that is not a digit, but leading zeros are allowed
  • date - Date in the format DDMMYYYY
  • expirydate - Expiration date in the format MMYY
  • integer - An integer
  • boolean - A boolean
close

Description

Object containing all data needed to redirect the customer
  • SDK Object type
    RedirectData
close

Description

A Message Authentication Code (MAC) is used to authenticate the redirection back to merchant after the payment
close

Description

The URL that the customer should be redirected to. Be sure to redirect using the GET method.
close

Description

This property contains the blob with data for the instructions rendering service.

This service will be available at the following endpoint: http(s)://{{merchant specific subdomain}}.{{base MyCheckout hosted payment pages domain}}/instructions/{{merchantId}}/{{clientSessionId}}

This instructions page rendering service accepts the following parameters:

  • instructionsRenderingData (required, the content of this property)
  • locale (optional, if present overrides default locale, e.g. "en_GB")
  • variant (optional, code of a variant, if present overrides default variant, e.g. "100")
You can offer a link to a customer to see an instructions page for a payment done earlier. Because of the size of the instructionsRenderingData this will need to be set in a web form as a value of a hidden field. Before presenting the link you need to obtain a clientSessionId by creating a session using the S2S API. You will need to use the MyCheckout hosted payment pages domain hosted in the same region as the API domain used for the createClientSession call.

The instructionsRenderingData is a String blob that is presented to you via the Server API as part of the merchantAction (if available, and non-redirect) in the JSON return values for the createPayment call or the getHostedCheckoutStatus call (merchantAction inside createdPaymentOutput when available). You are responsible to store the instructionsRenderingData blob in order to be able to present the instructions page at a later time, when this information might no longer be available through Server API calls.

close

Description

This is returned for the SHOW_INSTRUCTION, the SHOW_TRANSACTION_RESULTS and the SHOW_FORM actionType.
When returned for SHOW_TRANSACTION_RESULTS or SHOW_FORM, this contains an array of key value pairs of data that needs to be shown to the customer.
Note: The returned value for the key BARCODE is a base64 encoded gif image. By prepending 'data:image/gif;base64,' this value can be used as the source of an HTML inline image.

For SHOW_FORM, for payment product 3012 (Bancontact), this contains a QR code and a URL intent that can be used to complete the payment in the Bancontact app.
In this case, the key QRCODE contains a base64 encoded PNG image. By prepending 'data:image/png;base64,' this value can be used as the source of an HTML inline image on a desktop or tablet (intended to be scanned by an Android device with the Bancontact app). The key URLINTENT contains a URL intent that can be used as the link of an 'open the app' button on an Android device.

For SHOW_FORM, for payment product 863 (WeChat Pay), this contains the PaymentId that WeChat has assigned to the payment. In this case, the key WECHAT_PAYMENTID contains this PaymentId. In addition, this can contain different values depending on the integration type:
  • desktopQRCode - contains a QR code that can be used to complete the payment in the WeChat app. In this case, the key QRCODE contains a base64 encoded PNG image. By prepending 'data:image/png;base64,' this value can be used as the source of an HTML inline image on a desktop or tablet (intended to be scanned by a mobile device with the WeChat app).
  • urlIntent - contains a URL intent that can be used to complete the payment in the WeChat app. In this case, the key URLINTENT contains a URL intent that can be used as the link of an 'open the app' button on a mobile device.
close
  • SDK Object type
    KeyValuePair
close

Description

Name of the key or property
close

Description

Value of the key or property
payment object no read close
close

Description

Object that holds the payment related properties
  • SDK Object type
    Payment
close

Description

Our unique payment transaction identifier.
close

Description

Object containing payment details
  • SDK Object type
    PaymentOutput
close

Description

Object containing amount and ISO currency code attributes
  • SDK Object type
    AmountOfMoney
close

Description

Amount in cents and always having 2 decimals
close

Description

Three-letter ISO currency code representing the currency for the amount
close

Description

Results from the fraud prevention check. Possible values are:
  • accepted - Based on the checks performed the transaction can be accepted
  • challenged - Based on the checks performed the transaction should be manually reviewed
  • denied - Based on the checks performed the transaction should be rejected
  • no-advice - No fraud check was requested/performed
  • error - The fraud check resulted in an error and the fraud check was thus not performed
close

Description

Object containing the card payment method details
  • SDK Object type
    CardPaymentMethodSpecificOutput
  • Property is part of a group
    Learn more

    Properties that make up a group are mutually exclusive, which means you can only include one of each group in any given call.

    If there are multiple groups at one level in the object hierarchy we use numbers to distinguish groups from one another.

close

Description

Card Authorization code as returned by the acquirer
close

Description

Object containing card details
  • SDK Object type
    CardEssentials
close

Description

The complete credit/debit card number
close

Description

Expiry date of the card
Format: MMYY
close

Description

Fraud results contained in the CardFraudResults object
  • SDK Object type
    CardFraudResults
close

Description

Resulting advice of the fraud prevention checks. Possible values are:
  • accepted - Based on the checks performed the transaction can be accepted
  • challenged - Based on the checks performed the transaction should be manually reviewed
  • denied - Based on the checks performed the transaction should be rejected
  • no-advice - No fraud check was requested/performed
  • error - The fraud check resulted an error. Note that the fraud check was thus not performed.
close

Description

The unique scheme transactionId of the initial transaction that was performed with SCA.
Should be stored by the merchant to allow it to be submitted in future transactions.
close

Description

Payment product identifier
Please see payment products for a full overview of possible values.
close

Description

3D Secure results object
  • SDK Object type
    ThreeDSecureResults
close

Description

Identifier of the authenticated transaction at the ACS/Issuer
close

Description

Exemption code from Carte Bancaire (130) (unknown possible values so far -free format)
close

Description

The amount for which this transaction has been authenticated.
  • SDK Object type
    AmountOfMoney
close

Description

Amount in cents and always having 2 decimals
close

Description

Three-letter ISO currency code representing the currency for the amount
close

Description

Global score calculated by the Carte Bancaire (130) Scoring platform. Possible values from 0 to 99
close

Description

The ACS Transaction ID for a prior 3-D Secure authenticated transaction (for example, the first recurring transaction that was authenticated with the customer)
close

Description

Method of authentication used for this transaction. Possible values:
  • frictionless = The authentication went without a challenge
  • challenged = Cardholder was challenged
  • avs-verified = The authentication was verified by AVS
  • other = Another issuer method was used to authenticate this transaction
close

Description

Timestamp in UTC (YYYYMMDDHHmm) of the 3-D Secure authentication of this transaction
close

Description

If a token was used for or created during the payment, then the ID of that token.
close

Description

Results from the fraud prevention check. Possible values are:
  • accepted - Based on the checks performed the transaction can be accepted
  • challenged - Based on the checks performed the transaction should be manually reviewed
  • denied - Based on the checks performed the transaction should be rejected
  • no-advice - No fraud check was requested/performed
  • error - The fraud check resulted in an error and the fraud check was thus not performed
close

Description

Results from the fraud prevention check. Possible values are:
  • accepted - Based on the checks performed the transaction can be accepted
  • challenged - Based on the checks performed the transaction should be manually reviewed
  • denied - Based on the checks performed the transaction should be rejected
  • no-advice - No fraud check was requested/performed
  • error - The fraud check resulted in an error and the fraud check was thus not performed
close

Description

Results from the fraud prevention check. Possible values are:
  • accepted - Based on the checks performed the transaction can be accepted
  • challenged - Based on the checks performed the transaction should be manually reviewed
  • denied - Based on the checks performed the transaction should be rejected
  • no-advice - No fraud check was requested/performed
  • error - The fraud check resulted in an error and the fraud check was thus not performed
close

Description

Resulting advice of the fraud prevention checks. Possible values are:
  • accepted - Based on the checks performed the transaction can be accepted
  • challenged - Based on the checks performed the transaction should be manually reviewed
  • denied - Based on the checks performed the transaction should be rejected
  • no-advice - No fraud check was requested/performed
  • error - The fraud check resulted an error. Note that the fraud check was thus not performed.
close

Description

Identifier of the authenticated transaction at the ACS/Issuer
close

Description

Exemption code from Carte Bancaire (130) (unknown possible values so far -free format)
close

Description

The amount for which this transaction has been authenticated.
  • SDK Object type
    AmountOfMoney
close

Description

Amount in cents and always having 2 decimals
close

Description

Three-letter ISO currency code representing the currency for the amount
close

Description

Global score calculated by the Carte Bancaire (130) Scoring platform. Possible values from 0 to 99
close

Description

The ACS Transaction ID for a prior 3-D Secure authenticated transaction (for example, the first recurring transaction that was authenticated with the customer)
close

Description

Method of authentication used for this transaction. Possible values:
  • frictionless = The authentication went without a challenge
  • challenged = Cardholder was challenged
  • avs-verified = The authentication was verified by AVS
  • other = Another issuer method was used to authenticate this transaction
close

Description

Timestamp in UTC (YYYYMMDDHHmm) of the 3-D Secure authentication of this transaction
close

Description

Object containing the redirect payment product details
  • SDK Object type
    RedirectPaymentMethodSpecificOutput
  • Property is part of a group
    Learn more

    Properties that make up a group are mutually exclusive, which means you can only include one of each group in any given call.

    If there are multiple groups at one level in the object hierarchy we use numbers to distinguish groups from one another.

close

Description

The IBAN is the International Bank Account Number. It is an internationally agreed format for the BBAN and includes the ISO country code and two check digits.
close

Description

Object containing the results of the fraud screening
  • SDK Object type
    FraudResults
close

Description

Results from the fraud prevention check. Possible values are:
  • accepted - Based on the checks performed the transaction can be accepted
  • challenged - Based on the checks performed the transaction should be manually reviewed
  • denied - Based on the checks performed the transaction should be rejected
  • no-advice - No fraud check was requested/performed
  • error - The fraud check resulted in an error and the fraud check was thus not performed
close

Description

Object containing card details
  • SDK Object type
    CardEssentials
close

Description

The complete credit/debit card number
close

Description

Expiry date of the card
Format: MMYY
close

Description

Additional address information
close

Description

City
Note: For payments with product 1503 the maximum length is not 40 but 20.
close

Description

ISO 3166-1 alpha-2 country code
close

Description

House number
close

Description

Full name of the state or province
close

Description

Streetname
close

Description

Zip code
Note: For payments with product 1503 the maximum length is not 10 but 8.
close

Description

PayPal (payment product 840) specific details
  • SDK Object type
    PaymentProduct840SpecificOutput
  • Property is part of a group
    Learn more

    Properties that make up a group are mutually exclusive, which means you can only include one of each group in any given call.

    If there are multiple groups at one level in the object hierarchy we use numbers to distinguish groups from one another.

close

Description

Object containing the billing address details of the customer
  • SDK Object type
    Address
close

Description

Additional address information
close

Description

City
Note: For payments with product 1503 the maximum length is not 40 but 20.
close

Description

ISO 3166-1 alpha-2 country code
close

Description

House number
close

Description

Full name of the state or province
close

Description

Streetname
close

Description

Zip code
Note: For payments with product 1503 the maximum length is not 10 but 8.
close

Description

Object containing the details of the PayPal account
  • SDK Object type
    PaymentProduct840CustomerAccount
close

Description

Username with which the PayPal account holder has registered at PayPal
close

Description

Identification of the PayPal recurring billing agreement
close

Description

Name of the company in case the PayPal account is owned by a business
close

Description

The phone number of the PayPal account holder
close

Description

Country where the PayPal account is located
close

Description

Status of the PayPal account.
Possible values are:
  • verified - PayPal has verified the funding means for this account
  • unverified - PayPal has not verified the funding means for this account
close

Description

Status of the customer's shipping address as registered by PayPal
Possible values are:
  • none - Status is unknown at PayPal
  • confirmed - The address has been confirmed
  • unconfirmed - The address has not been confirmed
close

Description

First name of the PayPal account holder
close

Description

The unique identifier of a PayPal account and will never change in the life cycle of a PayPal account
close

Description

Surname of the PayPal account holder
close

Description

Object containing the address details of the customer
  • SDK Object type
    Address
close

Description

Additional address information
close

Description

City
Note: For payments with product 1503 the maximum length is not 40 but 20.
close

Description

ISO 3166-1 alpha-2 country code
close

Description

House number
close

Description

Full name of the state or province
close

Description

Streetname
close

Description

Zip code
Note: For payments with product 1503 the maximum length is not 10 but 8.
close

Description

Protection Eligibility data of the PayPal customer
  • SDK Object type
    ProtectionEligibility
close

Description

Possible values:
  • Eligible
  • PartiallyEligible
  • Ineligible
close

Description

Possible values:
  • ItemNotReceivedEligible
  • UnauthorizedPaymentEligible
  • Ineligible
close

Description

Payment product identifier
Please see payment products for a full overview of possible values.
close

Description

ID of the token. This property is populated when the payment was done with a token or when the payment was tokenized.
close

Description

Object containing the results of the fraud screening
  • SDK Object type
    FraudResults
close

Description

Results from the fraud prevention check. Possible values are:
  • accepted - Based on the checks performed the transaction can be accepted
  • challenged - Based on the checks performed the transaction should be manually reviewed
  • denied - Based on the checks performed the transaction should be rejected
  • no-advice - No fraud check was requested/performed
  • error - The fraud check resulted in an error and the fraud check was thus not performed
close

Description

Unique reference to a Mandate
close

Description

Payment product identifier
Please see payment products for a full overview of possible values.
close

Description

Payment method identifier used by the our payment engine with the following possible values:
  • bankRefund
  • bankTransfer
  • card
  • cash
  • directDebit
  • eInvoice
  • invoice
  • redirect
close

Description

Object that holds all reference properties that are linked to this transaction
  • SDK Object type
    PaymentReferences
close

Description

Your unique reference of the transaction that is also returned in our report files. This is almost always used for your reconciliation of our report files.
close

Description

When you did not supply a merchantReference for your payment, you need to fill this property with the reference of the original payment when you want to refund it
close

Description

Current high-level status of the payment in a human-readable form. Possible values are :
  • ACCOUNT_VERIFIED - The account has been verified using a validation services like 0$ auth
  • CREATED - The transaction has been created. This is the initial state once a new payment is created.
  • REDIRECTED - The customer has been redirected to a 3rd party to complete the authentication/payment
  • PENDING_PAYMENT - Instructions have been provided and we are now waiting for the money to come in
  • PENDING_FRAUD_APPROVAL - The transaction has been marked for manual review after an automatic fraud screening
  • PENDING_APPROVAL - The transaction is awaiting approval from you to proceed with the capturing of the funds
  • PENDING_COMPLETION - The transaction needs to be completed.
  • PENDING_CAPTURE - The transaction is waiting for you to request one or more captures of the funds.
  • REJECTED - The transaction has been rejected
  • AUTHORIZATION_REQUESTED - we have requested an authorization against an asynchronous system and is awaiting its response
  • CAPTURE_REQUESTED - The transaction is in the queue to be captured
  • CAPTURED - The transaction has been captured and we have received online confirmation
  • PAID - We have matched the incoming funds to the transaction
  • CANCELLED - You have cancelled the transaction
  • REJECTED_CAPTURE - We or one of our downstream acquirers/providers have rejected the capture request
  • REVERSED - The transaction has been reversed
  • CHARGEBACK_NOTIFICATION - We have received a notification of chargeback and this status informs you that your account will be debited for a particular transaction
  • CHARGEBACKED - The transaction has been chargebacked
  • REFUNDED - The transaction has been refunded

Please see Statuses for a full overview of possible values.
close

Description

This object has the numeric representation of the current payment status, timestamp of last status change and performable action on the current payment resource. In case of failed payments and negative scenarios, detailed error information is listed.
  • SDK Object type
    PaymentStatusOutput
close

Description

Custom object contains the set of errors
close

Description

Contains detailed information on one single error.
  • SDK Object type
    APIError
close

Description

Category the error belongs to. The category should give an indication of the type of error you are dealing with. Possible values:
  • CONNECT_PLATFORM_ERROR - indicating that a functional error has occurred in the E-Payment platform.
  • PAYMENT_PLATFORM_ERROR - indicating that a functional error has occurred in the Payment platform.
  • IO_ERROR - indicating that a technical error has occurred within the E-Payment platform or between E-Payment and any of the payment platforms or third party systems.
close

Description

Error code
close

Description

HTTP status code for this error that can be used to determine the type of error
close

Description

ID of the error. This is a short human-readable message that briefly describes the error.
close

Description

Human-readable error message that is not meant to be relayed to customer as it might tip off people who are trying to commit fraud
close

Description

Returned only if the error relates to a value that was missing or incorrect.
Contains a location path to the value as a JSonata query.
Some common examples:
  • a.b selects the value of property b of root property a,
  • a[1] selects the first element of the array in root property a,
  • a[b='some value'] selects all elements of the array in root property a that have a property b with value 'some value'.
close

Description

Indicates if the transaction has been authorized
  • true
  • false
close

Description

Flag indicating if the payment can be cancelled
  • true
  • false
close

Description

Flag indicating if the payment can be refunded
  • true
  • false
close

Description

Highlevel status of the payment, payout or refund with the following possible values:
  • CREATED - The transaction has been created. This is the initial state once a new payment, payout or refund is created. This category groups the following statuses:
    • CREATED
  • PENDING_PAYMENT: The payment is waiting on customer action. This category groups the following statuses:
    • PENDING_PAYMENT
    • REDIRECTED
  • ACCOUNT_VERIFIED: The account has been verified. This category groups the following statuses:
    • ACCOUNT_VERIFIED
  • PENDING_MERCHANT: The transaction is awaiting approval to proceed with the payment, payout or refund. This category groups the following statuses:
    • PENDING_APPROVAL
    • PENDING_COMPLETION
    • PENDING_CAPTURE
    • PENDING_FRAUD_APPROVAL
  • PENDING_CONNECT_OR_3RD_PARTY: The transaction is in the queue to be processed. This category groups the following statuses:
    • AUTHORIZATION_REQUESTED
    • CAPTURE_REQUESTED
    • PAYOUT_REQUESTED
    • REFUND_REQUESTED
  • COMPLETED: The transaction has completed. This category groups the following statuses:
    • CAPTURED
    • PAID
    • ACCOUNT_CREDITED
    • CHARGEBACK_NOTIFICATION
  • REVERSED: The transaction has been reversed. This category groups the following statuses:
    • CHARGEBACKED
    • REVERSED
  • REFUNDED: The transaction has been refunded. This category groups the following statuses:
    • REFUNDED
  • UNSUCCESSFUL: The transaction has been rejected or is in such a state that it will never become successful. This category groups the following statuses:
    • CANCELLED
    • REJECTED
    • REJECTED_CAPTURE
    • REJECTED_CREDIT

Please see Statuses for a full overview of possible values.
close

Description

Numeric status code of the legacy API. It is returned to ease the migration from the legacy APIs to PostFinance E-Payment. You should not write new business logic based on this property as it will be deprecated in a future version of the API. The value can also be found in the BackOffice and in report files.

Response example

SDK: Node.js

This scenario you will probably use the most

  • {
        "creationOutput" : {
            "additionalReference" : "AcmeOrder0001",
            "externalReference" : "AcmeOrder0001"
        },
        "payment" : {
            "id" : "000000850010000188130000200001",
            "paymentOutput" : {
                "amountOfMoney" : {
                    "amount" : 2980,
                    "currencyCode" : "EUR"
                },
                "references" : {
                    "merchantReference" : "AcmeOrder0001",
                    "paymentReference" : "0"
                },
                "paymentMethod" : "card",
                "cardPaymentMethodSpecificOutput" : {
                    "paymentProductId" : 1,
                    "authorisationCode" : "726747",
                    "card" : {
                        "cardNumber" : "************7977",
                        "expiryDate" : "1299"
                    },
                    "fraudResults" : {
                        "avsResult" : "0",
                        "cvvResult" : "0",
                        "fraudServiceResult" : "no-advice"
                    },
                    "threeDSecureResults" : {
                        "authenticationAmount" : {
                            "currencyCode" : "EUR",
                            "amount" : 2980
                        }
                    }
                }
            },
            "status" : "PENDING_APPROVAL",
            "statusOutput" : {
                "isCancellable" : true,
                "statusCode" : 600,
                "statusCodeChangeDateTime" : "20140630154830",
                "isAuthorized" : true
            }
        }
    }
    

Response 400 - Bad requestPaymentErrorResponse

The request was malformed or was missing required data. When a required property was missing the error message will point out which property caused the error.

Properties
Property Type Required Details
errorId string yes read close
close

Description

Unique reference, for debugging purposes, of this error response
errors array of object yes read close
close

Description

List of one or more errors
close

Description

Contains detailed information on one single error.
  • SDK Object type
    APIError
close

Description

Category the error belongs to. The category should give an indication of the type of error you are dealing with. Possible values:
  • CONNECT_PLATFORM_ERROR - indicating that a functional error has occurred in the E-Payment platform.
  • PAYMENT_PLATFORM_ERROR - indicating that a functional error has occurred in the Payment platform.
  • IO_ERROR - indicating that a technical error has occurred within the E-Payment platform or between E-Payment and any of the payment platforms or third party systems.
close

Description

Error code
close

Description

HTTP status code for this error that can be used to determine the type of error
close

Description

ID of the error. This is a short human-readable message that briefly describes the error.
close

Description

Human-readable error message that is not meant to be relayed to customer as it might tip off people who are trying to commit fraud
close

Description

Returned only if the error relates to a value that was missing or incorrect.
Contains a location path to the value as a JSonata query.
Some common examples:
  • a.b selects the value of property b of root property a,
  • a[1] selects the first element of the array in root property a,
  • a[b='some value'] selects all elements of the array in root property a that have a property b with value 'some value'.
paymentResult object no read close
close

Description

Object that contains details on the created payment in case one has been created
  • SDK Object type
    CreatePaymentResult
close

Description

Object containing the details of the created payment
  • SDK Object type
    PaymentCreationOutput
close

Description

Indicates if a new token was created
  • true - A new token was created
  • false - A token with the same card number already exists and is returned. Please note that the existing token has not been updated. When you want to update other data then the card number, you need to update data stored in the token explicitly, as data is never updated during the creation of a token.
close

Description

ID of the token
close

Description

Indicates if tokenization was successful or not. If this value is false, then the token and isNewToken properties will not be set.
close

Description

Object that contains the action, including the needed data, that you should perform next, like showing instruction, showing the transaction results or redirect to a third party to complete the payment
  • SDK Object type
    MerchantAction
close

Description

Action merchants needs to take in the online payment process. Possible values are:
  • REDIRECT - The customer needs to be redirected using the details found in redirectData
  • SHOW_FORM - The customer needs to be shown a form with the fields found in formFields. You can submit the data entered by the user in a Complete payment request. Additionally:
    • for payment product 3012 (Bancontact), to support payments via the Bancontact app, showData contains a QR code and URL intent.
    • for payment product 863 (WeChat Pay), to support payments via the WeChat app, showData contains a QR code, URL intent, or signature and nonce combination. The showData property describes when each of these values can be returned.
      Note that WeChat Pay does not support completing payments.
  • SHOW_INSTRUCTIONS - The customer needs to be shown payment instruction using the details found in showData. Alternatively the instructions can be rendered by us using the instructionsRenderingData
  • SHOW_TRANSACTION_RESULTS - The customer needs to be shown the transaction results using the details found in showData
  • MOBILE_THREEDS_CHALLENGE - The customer needs to complete a challenge as part of the 3D Secure authentication inside your mobile app. The details contained in mobileThreeDSecureChallengeParameters need to be provided to the EMVco certified Mobile SDK as a challengeParameters object.
  • CALL_THIRD_PARTY - The merchant needs to call a third party using the data found in thirdPartyData
close

Description

Populated only when the actionType of the merchantAction is SHOW_FORM. In this case, this property contains the list of fields to render, in the format that is also used in the response of Get payment product.
close
  • SDK Object type
    PaymentProductField
close

Description

Object containing data restrictions that apply to this field, like minimum and/or maximum length
  • SDK Object type
    PaymentProductFieldDataRestrictions
close

Description

  • true - Indicates that this field is required
  • false - Indicates that this field is optional
close

Description

Object containing the details of the validations on the field
  • SDK Object type
    PaymentProductFieldValidators
close

Description

Indicates that the content should be validated against the rules for an email address
  • SDK Object type
    EmptyValidator
close

Description

Indicates that the content should be validated against the rules for an expiration date (it should be in the future)
  • SDK Object type
    EmptyValidator