Server API version 1.0
Java

Results for

icon-search-large No search results yet
Enter your search query above

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

         Property Type Required Description
object no,

one of group

SDK object type: BankTransferPaymentMethodSpecificInput
Object containing the specific input details for bank transfer payments
additionalReference string (20) no

Your additional reference identifier for this transaction. Data supplied in this field will also be returned in our report files, allowing you to reconcile the incoming funds.

paymentProductId integer (5) depends

Payment product identifier
Please see payment products for a full overview of possible values.
Depends on: Required when this object is included and no encryptedCustomerInput object is supplied in the request.

object no,

one of group

SDK object type: CardPaymentMethodSpecificInput
Object containing the specific input details for card payments
authorizationMode enum no

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-authortizations can be reversed and can be captured within 30 days. The capture amount can be lower than the authorized amount.
Only used with some acquirers, ingnored 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.

object no SDK object type: Card
Object containing card details
cardNumber string (19) depends

The complete credit/debit card number (also know as the PAN)
The card number is always obfuscated in any of our responses
Depends on: Please note that this field is required, except when a token or encryptedCustomerInput has been included in the request that includes this data.

cardholderName string (51) no

Card holder's name on the card

cvv string (4) depends

Card Verification Value, a 3 or 4 digit code used as an additional security feature for card not present transactions.
Depends on: Normally, this field is required except in special cases. For example: this field should not be submitted for recurring transactions. Not submitting this field for non-recurring transactions can negatively impact your authorization rate.

expiryDate string (4) depends

Expiry date of the card
Format: MMYY
Depends on: Please note that this field is required, except when a token or encryptedCustomerInput has been included in the request that includes this data.

issueNumber string (2) no

Issue number on the card (if applicable)

customerReference string no

Reference of the consumer for the payment (purchase order #, etc.). Only used with some acquirers.

object no SDK object type: ExternalCardholderAuthenticationData
Object containing 3D secure details.
cavv string (50) depends

The CAVV (cardholder authentication verification value) or AAV (accountholder authentication value) provides an authentication validation value.
Depends on: This is mandatory for ECI 2 and 5.

cavvAlgorithm string (1) depends

The algorithm, from your 3D Secure provider, used to generate the authentication CAVV.
Depends on: Required when
  • The 3D Secure authentication for the transaction is managed by a non-Ingenico ePayments 3D Secure authentication provider
  • You process the transaction through Atos

eci integer (2) no

Electronic Commerce Indicator provides authentication validation results returned after AUTHENTICATIONVALIDATION
  • 0 = No authentication, Internet (no liability shift, not a 3D Secure transaction)
  • 1 = Authentication attempted (MasterCard)
  • 2 = Successful authentication (MasterCard)
  • 5 = Successful authentication (Visa, Diners Club, Amex)
  • 6 = Authentication attempted (Visa, Diners Club, Amex)
  • 7 = No authentication, Internet (no liability shift, not a 3D Secure transaction)
  • (empty) = Not checked or not enrolled

validationResult string (1) depends

The 3D Secure authentication result from your 3D Secure provider.
Depends on: Required when
  • The 3D Secure authentication for the transaction is managed by a non-Ingenico ePayments 3D Secure authentication provider
  • You process the transaction through Atos

xid string (50) no

The transaction ID that is used for the 3D Authentication

isRecurring boolean no

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

paymentProductId integer (5) depends

Payment product identifier
Please see payment products for a full overview of possible values.
Depends on: Required when this object is included and no encryptedCustomerInput or token object is supplied in the request.

recurringPaymentSequenceIndicator string depends

  • 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.
Depends on: Note: This field is required when isRecurring is set to true.

requiresApproval boolean no

  • 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

returnUrl string (512) no

The URL that the consumer 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 consumer 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.

skipAuthentication boolean no

  • 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.

skipFraudService boolean no

  • true = Fraud scoring will be skipped for this transaction
  • false = Fraud scoring will not be skipped for this transaction
Note: This is only possible if your account in our system is setup for Fraud scoring and if your configuration in our system allows you to override it per transaction.

token string (40) no

ID of the token that holds previously stored card data

tokenize boolean no

Indicates if this transaction should be tokenized
  • true - Tokenize the transaction. Note that a payment on the GlobalCollect platform that results in a status REDIRECTED cannot be tokenized in this way. In this case, use the 'Create a token from payment' functionality after your customer succesfully completes the redirection.
  • false - Do not tokenize the transaction, unless it would be tokenized by other means such as auto-tokenization of recurring payments.

transactionChannel enum depends

Indicates the channel via which the payment is created. Allowed values:
  • ECOMMERCE - The transaction is a regular E-Commerce transaction.
  • MOTO - The transaction is a Mail Order/Telephone Order.
Depends on: Defaults to ECOMMERCE. This field is ignored for GlobalCollect merchants.

unscheduledCardOnFileIndicator string no

  • 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 field is not allowed if isRecurring is true.

unscheduledCardOnFileRequestor string depends

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

Note: this field is not allowed if isRecurring is true.
Depends on: Required if unscheduledCardOnFileIndicator is 'subsequent'. Otherwise it must not be 'merchantInitiated'.

object no,

one of group

SDK object type: CashPaymentMethodSpecificInput
Object containing the specific input details for cash payments
object no,

one of group

SDK object type: CashPaymentProduct1503SpecificInput
Object that holds the specific data for Boleto Bancario in Brazil (payment product 1503)
returnUrl string (512) no

The URL that the consumer 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 consumer 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.

object no,

one of group

SDK object type: CashPaymentProduct1504SpecificInput
Object that holds the specific data for Konbini in Japan (payment product 1504)
returnUrl string (512) no

The URL that the consumer 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 consumer 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.

paymentProductId integer (5) depends

Payment product identifier
Please see payment products for a full overview of possible values.
Depends on: Required when this object is included and no encryptedCustomerInput object is supplied in the request.

object no,

one of group

SDK object type: NonSepaDirectDebitPaymentMethodSpecificInput
Object containing the specific input details for direct debit payments
dateCollect string (8) no

Direct Debit payment collection date
Format: YYYYMMDD

directDebitText string (50) yes

Descriptor intended to identify the transaction on the consumer's bank statement

isRecurring boolean no

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

object no,

one of group

SDK object type: NonSepaDirectDebitPaymentProduct705SpecificInput
Object containing UK Direct Debit specific details
authorisationId string (18) depends

Core reference number for the direct debit instruction in UK
Depends on: Required except when a token has been included in the request that includes this value.

object yes SDK object type: BankAccountBban
Object containing account holder name and bank account information
accountHolderName string (30) no

Name of the account holder

accountNumber string (30) depends

Bank account number
Depends on: Required for Direct Debit UK (705) and ACH (730) payments, except when a token has been included in the request that includes this value.
Required for Create and Update token calls.

bankCode string (15) depends

Bank code
Depends on: Required for Direct Debit UK (705) and ACH (730) payments, except when a token has been included in the request that includes this value.
Required Create and Update token calls.

bankName string (40) no

Name of the bank

branchCode string (15) no

Branch code

checkDigit string (2) no

Bank check digit

countryCode string (2) no

ISO 3166-1 alpha-2 country code of the country where the bank account is held For UK payouts this value is automatically set to GB as only payouts to UK accounts are supported.

transactionType string yes

  • first-payment - First payment direct debit
  • nth-payment - Direct Debit (n-th payment)
  • re-presented - Re-presented direct debit (after failed attempt)
  • final-payment - Final payment direct debit
  • new-or-reinstated - (zero N) New or reinstated direct debit instruction
  • cancellation - (zero C) Cancellation of direct debit instruction
  • conversion-of-paper-DDI-to-electronic-DDI - (zero S) Conversion of paper DDI to electronic DDI (only used once, when migrating from traditional direct debit to AUDDIS

object no,

one of group

SDK object type: NonSepaDirectDebitPaymentProduct730SpecificInput
Object containing ACH specific details
object no SDK object type: BankAccountBban
Object containing account holder name and bank account information
accountHolderName string (30) no

Name of the account holder

accountNumber string (30) depends

Bank account number
Depends on: Required for Direct Debit UK (705) and ACH (730) payments, except when a token has been included in the request that includes this value.
Required for Create and Update token calls.

bankCode string (15) depends

Bank code
Depends on: Required for Direct Debit UK (705) and ACH (730) payments, except when a token has been included in the request that includes this value.
Required Create and Update token calls.

bankName string (40) no

Name of the bank

branchCode string (15) no

Branch code

checkDigit string (2) no

Bank check digit

countryCode string (2) no

ISO 3166-1 alpha-2 country code of the country where the bank account is held For UK payouts this value is automatically set to GB as only payouts to UK accounts are supported.

paymentProductId integer (5) depends

Payment product identifier
Please see payment products for a full overview of possible values.
Depends on: Required when this object is included and no encryptedCustomerInput or token object is supplied in the request.

recurringPaymentSequenceIndicator string depends

  • 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
  • last = This transaction is the last transaction of a series of recurring transactions
Depends on: Note: This field is required when isRecurring is set to true.

token string (40) no

ID of the stored token that contains the bank account details to be debited

tokenize boolean no

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.

object no,

one of group

SDK object type: EInvoicePaymentMethodSpecificInput
Object containing the specific input details for e-invoice payments.
acceptedTermsAndConditions boolean yes

Indicates that the consumer has read and accepted the terms and conditions of the product before proceeding with the payment. This must be done before the payment can continue. An URL to the terms and conditions can be retrieved with Get payment product.

object depends SDK object type: EInvoicePaymentProduct9000SpecificInput
Object that holds the specific data for AfterPay Installments (payment product 9000).
Depends on: This object is required for payments with product 9000.
object depends SDK object type: BankAccountIban
Object containing the bank account details of the consumer.
Depends on: This object is required for payments with product 9000 in Austria (AT) and Germany (DE).
accountHolderName string (30) depends

Name in which the account is held.
Depends on: Required for the creation of a Payout
Required for Create and Update token calls.

iban string (50) depends

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.
Depends on: Required for the creation of a Payout
Required for Create and Update token.
Required for payments with product 9000 in Austria (AT) and Germany (DE).
Required for Create mandate and Create payment with mandate calls

installmentId string yes

The ID of the installment plan selected by the consumer. Installment plans can be retreived with Get payment product.

paymentProductId integer (5) depends

Payment product identifier
Please see payment products for a full overview of possible values.
Depends on: Required when this object is included and no encryptedCustomerInput object is supplied in the request.

requiresApproval boolean no

  • 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

object no,

one of group

SDK object type: InvoicePaymentMethodSpecificInput
Object containing the specific input details for invoice payments
additionalReference string (20) no

Your (additional) reference identifier for this transaction. Data supplied in this field will also be returned in our report files, allowing you to reconcile the incoming funds.

paymentProductId integer (5) depends

Payment product identifier
Please see payment products for a full overview of possible values.
Depends on: Required when this object is included and no encryptedCustomerInput object is supplied in the request.

object no,

one of group

SDK object type: MobilePaymentMethodSpecificInput
Object containing the specific input details for mobile payments
authorizationMode enum no

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-authortizations can be reversed and can be captured within 30 days. The capture amount can be lower than the authorized amount.
Only used with some acquirers, ingnored 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.

object no,

one of group

SDK object type: DecryptedPaymentData
The payment data if you want to do the decryption of the vendor's encrypted payment data yourself.
Typically you'd use encryptedCustomerInput in the root of the create payment request to provide the payment data for mobile payment methods. Only when you do not do this you need to use either this field or encryptedPaymentData, depending on who should do the decryption of the vendor's encrypted payment data.
cardholderName string (51) no

Card holder's name on the card. This maps to the following field in the vendor's encrypted payment data:
  • Apple Pay: PKPayment.token.paymentData.data.cardholderName
  • Android Pay: Not Available

cryptogram string (50) yes

The 3D secure online payment cryptogram. This maps to the following field in the vendor's encrypted payment data:
  • Apple Pay: PKPayment.token.paymentData.data.paymentData.onlinePaymentCryptogram
  • Android Pay: FullWallet.paymentMethodToken.token.encryptedMessage.3dsCryptogram

dpan string (19) yes

The device specific PAN. This maps to the following field in the vendor's encrypted payment data:
  • Apple Pay: PKPayment.token.paymentData.data.applicationPrimaryAccountNumber
  • Android Pay: FullWallet.paymentMethodToken.token.encryptedMessage.dpan

eci integer (2) no

Electronic Commerce Indicator. This maps to the following field in the vendor's encrypted payment data:
  • Apple Pay: PKPayment.token.paymentData.data.paymentData.eciIndicator
  • Android Pay: FullWallet.paymentMethodToken.token.encryptedMessage.3dsEciIndicator

expiryDate string (4) yes

Expiry date of the card
Format: MMYY. This maps to the following field in the vendor's encrypted payment data:
  • Apple Pay: PKPayment.token.paymentData.data.applicationExpirationDate
  • Android Pay:FullWallet.paymentMethodToken.token.encryptedMessage.expirationMonth and FullWallet.paymentMethodToken.token.encryptedMessage.expirationYear

encryptedPaymentData string no,

one of group

The payment data if you want to let us do the decryption of the vendor's encrypted payment data.
Typically you'd use encryptedCustomerInput in the root of the create payment request to provide the payment data for mobile payment methods. Only when you do not do this you need to use either this field or decryptedPaymentData, depending on who should do the decryption of the vendor's encrypted payment data. This maps to the following field in the vendor's encrypted payment data:
  • Apple Pay: PKPayment.token.paymentData
  • Android Pay: FullWallet.paymentMethodToken.token

object depends SDK object type: MobilePaymentProduct320SpecificInput
Android Pay (payment product 320) specific details.
Depends on: Required when Android Pay (payment product 320) is used in combination with encryptedPaymentData.
keyId string depends

The identifier of the public key that is used to create the vendor's encrypted payment data
Depends on: Required when encryptedCustomerInput in the root of the create payment request is not provided.

paymentProductId integer (5) depends

Payment product identifier
Please see payment products for a full overview of possible values.
Depends on: Required when encryptedCustomerInput in the root of the create payment request is not provided.

requiresApproval boolean no

  • 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

skipFraudService boolean no

  • true = Fraud scoring will be skipped for this transaction
  • false = Fraud scoring will not be skipped for this transaction
Note: This is only possible if your account in our system is setup for Fraud scoring and if your configuration in our system allows you to override it per transaction.

transactionId string (64) depends

The vendor's transaction id. This maps to the following field in the vendor's encrypted payment data:
  • Apple Pay: PKPayment.token.transactionIdentifier
  • Android Pay: FullWallet.googleTransactionId
Depends on: Required when encryptedCustomerInput in the root of the create payment request is not provided.

object no,

one of group

SDK object type: RedirectPaymentMethodSpecificInput
Object containing the specific input details for payments that involve redirects to 3rd parties to complete, like iDeal and PayPal
expirationPeriod integer no

This sets the maximum amount of minutes a consumer has to complete the payment at the bank. After this period has expired it is impossible for the consumer 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 consumer has to complete the payment. Please note that it is normal for a consumer 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 - eCard Poland

isRecurring boolean no

  • true
  • false

object no,

one of group

SDK object type: RedirectPaymentProduct809SpecificInput
Object containing specific input required for Dutch iDeal payments (Payment product ID 809)
expirationPeriod string (2) no

Deprecated: Use RedirectPaymentMethodSpecificInput.expirationPeriod instead
This sets the maximum amount of minutes a consumer has to complete the payment at the bank. After this period has expired it is impossible for the consumer 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 consumer has to complete the payment. Please note that it is normal for a consumer 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.

issuerId string (11) depends

ID of the issuing bank of the consumer. A list of available issuerIDs can be obtained by using the retrieve payment product directory API.
Depends on: Required when this object is included and no encryptedCustomerInput is supplied in the request containing this information.

object depends,

one of group

SDK object type: RedirectPaymentProduct816SpecificInput
Object containing specific input required for German giropay payments (Payment product ID 816)
If option chosen, depends on: Required for GlobalCollect merchants when redirectPaymentMethodSpecifcInput.paymentProductId = 816
object depends SDK object type: BankAccountIban
Object containing the bank account details of the consumer
Depends on: Required for GlobalCollect merchants, ignored for Ogone merchants
accountHolderName string (30) depends

Name in which the account is held.
Depends on: Required for the creation of a Payout
Required for Create and Update token calls.

iban string (50) depends

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.
Depends on: Required for the creation of a Payout
Required for Create and Update token.
Required for payments with product 9000 in Austria (AT) and Germany (DE).
Required for Create mandate and Create payment with mandate calls

object no,

one of group

SDK object type: RedirectPaymentProduct840SpecificInput
Object containing specific input required for PayPal payments (Payment product ID 840)
custom string no

A free text string that you can send to PayPal. With a special agreement between PayPal and you, PayPal uses the data in that field, for custom services they offer to you.

isShortcut boolean no

Indicates wether to use PayPal Express Checkout.
  • true = PayPal Express Checkout
  • false = Regular PayPal payment

object no,

one of group

SDK object type: RedirectPaymentProduct882SpecificInput
Object containing specific input required for Indian Net Banking payments (Payment product ID 882)
issuerId string (11) depends

ID of the issuing bank of the consumer. A list of available issuerIDs can be obtained by using the retrieve payment product directory API.
Depends on: Required when this object is included and no encryptedCustomerInput is supplied in the request containing this information.

paymentProductId integer (5) depends

Payment product identifier
Please see payment products for a full overview of possible values.
Depends on: Required when this object is included and no encryptedCustomerInput or token object is supplied in the request.

recurringPaymentSequenceIndicator string depends

  • 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.
Depends on: Note: This field is required when isRecurring is set to true.

requiresApproval boolean no

  • 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

returnUrl string (512) depends

The URL that the consumer 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 consumer 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.
Depends on: Required for the creation of a payment using the /payments API.

token string (40) depends

ID of the token
Depends on: Please note that this feature is not available for Ogone merchants.

tokenize boolean depends

Indicates if this transaction should be tokenized
  • true - Tokenize the transaction. Note that a payment on the GlobalCollect platform that results in a status REDIRECTED cannot be tokenized in this way. In this case, use the 'Create a token from payment' functionality after your customer succesfully completes the redirection.
  • false - Do not tokenize the transaction, unless it would be tokenized by other means such as auto-tokenization of recurring payments.
Depends on: Please note that this feature is not available for Ogone merchants.

object no,

one of group

SDK object type: SepaDirectDebitPaymentMethodSpecificInput
Object containing the specific input details for SEPA direct debit payments
dateCollect string (8) no

Changed date for direct debit collection. Only relevant for legacy SEPA Direct Debit.
Format: YYYYMMDD

directDebitText string (50) yes

Description of the transaction that will appear on the consumer bank statement to aid the consumer in recognizing the transaction. Only relevant for legacy SEPA Direct Debit.

isRecurring boolean no

Indicates if this transaction is of a one-off or a recurring type. Only relevant for legacy SEPA Direct Debit.
  • true - This is recurring
  • false - This is one-off

object no SDK object type: SepaDirectDebitPaymentProduct771SpecificInput
Object containing information specific to SEPA Direct Debit
object no SDK object type: CreateMandateWithReturnUrl
Object containing information to create a SEPA Direct Debit mandate.
alias string no

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.

object depends SDK object type: MandateCustomer
Customer object containing customer specific inputs
Depends on: Required for Create mandate and Create payment calls
object depends SDK object type: BankAccountIban
Object containing IBAN information
Depends on: Required for Create mandate and Create payment calls
accountHolderName string (30) depends

Name in which the account is held.
Depends on: Required for the creation of a Payout
Required for Create and Update token calls.

iban string (50) depends

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.
Depends on: Required for the creation of a Payout
Required for Create and Update token.
Required for payments with product 9000 in Austria (AT) and Germany (DE).
Required for Create mandate and Create payment with mandate calls

companyName string (40) no

Name of company, as a consumer

object no SDK object type: MandateContactDetails
Object containing contact details like email address and phone number
emailAddress string (70) no

Email address of the consumer

phoneNumber string (20) no

Phone number of the consumer

object depends SDK object type: MandateAddress
Object containing billing address details
Depends on: Required for Create mandate and Create payment calls.
Required for Create hostedCheckout calls where the IBAN is also provided.
city string (40) depends

City
Depends on: Required for Create mandate and Create payment calls.
Required for Create hostedCheckout calls where the IBAN is also provided.

countryCode string (2) depends

ISO 3166-1 alpha-2 country code
Depends on: Required for Create mandate and Create payment calls.
Required for Create hostedCheckout calls where the IBAN is also provided.

houseNumber string (15) no

House number

street string (50) depends

Streetname
Depends on: Required for Create mandate and Create payment calls.
Required for Create hostedCheckout calls where the IBAN is also provided.

zip string (10) depends

Zip code
Depends on: Required for Create mandate and Create payment calls.
Required for Create hostedCheckout calls where the IBAN is also provided.

object depends SDK object type: MandatePersonalInformation
Object containing personal information of the consumer
Depends on: Required for Create mandate and Create payment calls
object depends SDK object type: MandatePersonalName
Object containing the name details of the consumer
Depends on: Required for create mandate and Create payment calls
firstName string (15) depends

Given name(s) or first name(s) of the consumer
Depends on: Required for create mandate and Create payment calls

surname string (70) depends

Surname(s) or last name(s) of the consumer
Depends on: Required for create mandate and Create payment calls

title enum depends

Object containing the title of the consumer (Mr, Miss or Mrs)
Depends on: Required for create mandate and Create payment calls

customerReference string (35) yes

The unique identifier of a customer

language string no

The language of the customer.

recurrenceType enum yes

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

returnUrl string depends

Return url to use if the mandate signing requires redirection.
Depends on: Required for S2S Create Payment iff the signatureType is 'SMS'

signatureType enum yes

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

uniqueMandateReference string no

The unique identifier of the mandate

mandateReference string (35) no

Deprecated: Use mandate.uniqueMandateReference instead
A mandate ID to create a mandate under if the information to create a mandate has been supplied. Otherwise refers to the mandate to retrieve and use in the payment.

paymentProductId integer (5) depends

Payment product identifier
Please see payment products for a full overview of possible values.
Depends on: Required when this object is included and no encryptedCustomerInput or token object is supplied in the request or when the supplied token object is intended for Ogone.

recurringPaymentSequenceIndicator string depends

Only relevant for legacy SEPA Direct Debit.
  • 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
  • last = This transaction is the last transaction of a series of recurring transactions
Depends on: Note: This field is required when isRecurring is set to true.

token string (40) no

ID of the token that holds previously stored SEPA Direct Debit account and mandate data. Only relevant for legacy SEPA Direct Debit.

tokenize boolean no

Indicates if this transaction should be tokenized. Only relevant for legacy SEPA Direct Debit.
  • 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.

encryptedCustomerInput string no

Data that was encrypted client side containing all consumer 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.

object depends SDK object type: FraudFields
Object containing additional data that will be used to assess the risk of fraud
Depends on: This field is required for payments and hosted checkouts with products 9000 and 9001.
addressesAreIdentical boolean no

Indicates that invoice and shipping addresses are equal.

blackListData string (50) no

Additional black list input

object no SDK object type: Address
The address that belongs to the owner of the card
additionalInfo string (50) no

Additional address information

city string (40) depends

City
Depends on: Required for Invoice payments (201)
Required for Direct Debit UK (705), except when a token has been included in the request that includes this value.
Required for the creation of a Payout.
Required for payments with product 9000 or 9001.
Required when address is included in Seller.

countryCode string (2) depends

ISO 3166-1 alpha-2 country code
Depends on: Required, except when a token has been included in the request that includes this value.
Required when address is included in Seller.

houseNumber string (15) depends

House number
Depends on: Required when address is included in Seller.

state string (35) no

Full name of the state or province

stateCode string (9) no

State code

street string (50) depends

Streetname
Depends on: Required for Invoice payments (201)
Required for Direct Debit UK (705), except when a token has been included in the request that includes this value.
Required for the creation of a Payout.
Required for payments with product 9000 or 9001.
Required when address is included in Seller.

zip string (10) depends

Zip code
Depends on: Required for Direct Debit UK (705), except when a token has been included in the request that includes this value.
Required for payments with product 9000 or 9001.

customerIpAddress string (32) depends

The IP Address of the consumer that is making the payment
Depends on: This field is required for payments and hosted checkouts with products 9000 and 9001.

defaultFormFill string no

Degree of default form fill, with the following possible values:
  • automatically - All fields filled automatically
  • automatically-but-modified - All fields filled automatically, but some fields were modified manually
  • manually - All fields were entered manually

deviceFingerprintActivated boolean no

Indicates that the device fingerprint has been used while processing the order.

deviceFingerprintTransactionId string no

One must set the deviceFingerprintTransactionId received by the response of the endpoint /{merchant}/products/{paymentProductId}/deviceFingerprint

giftCardType string no

One of the following gift card types:
  • celebrate-fall - Celebrate Fall
  • grandparents-day - Grandparent's Day
  • independence-day - Independence Day
  • anniversary - Anniversary
  • birthday - Birthday
  • congratulations - Congratulations
  • april-fools-day - April Fool's Day
  • easter - Easter
  • fathers-day - Father's Day
  • graduation - Graduation
  • holiday - Holiday
  • seasons-greetings - Season's Greetings
  • passover - Passover
  • kwanzaa - Kwanzaa
  • halloween - Halloween
  • mothers-day - Mother's Day
  • new-years-day - New Year's Day
  • bosses-day - Bosses' Day
  • st-patricks-day - St. Patrick's Day
  • sweetest-day - Sweetest Day
  • christmas - Christmas
  • baby-shower - Baby Shower
  • thanksgiving - Thanksgiving
  • other - Other
  • valentines-day - Valentine's Day
  • wedding - Wedding
  • secretarys-day - Secretary's Day
  • chinese-new-year - Chinese New Year
  • hanukkah - Hanukkah

giftMessage string (160) no

Gift message

hasForgottenPwd boolean no

Specifies if the consumer (initially) had forgotten their password
  • true - The consumer has forgotten their password
  • false - The consumer has not forgotten their password

hasPassword boolean no

Specifies if the consumer entered a password to gain access to an account registered with the you
  • true - The consumer has used a password to gain access
  • false - The consumer has not used a password to gain access

isPreviousCustomer boolean no

Specifies if the consumer has a history of online shopping with the merchant
  • true - The consumer is a known returning consumer
  • false - The consumer is new/unknown consumer

orderTimezone string (2) no

Timezone in which the order was placed

shipComments string (160) no

Comments included during shipping

shipmentTrackingNumber string (19) no

Shipment tracking number

object no SDK object type: FraudFieldsShippingDetails
Details on how the order is shipped to the customer
methodDetails string (50) no

Details regarding the shipping method

methodSpeed integer no

Shipping method speed indicator

methodType integer no

Shipping method type indicator

userData array of string no
Array of up to 16 userData fields, each with a max length of 256 characters, that can be used for fraudscreening
website string (60) no

The website from which the purchase was made

object yes SDK object type: Order
Order object containing order related data
Please note that this object is required to be able to submit the amount.
object depends SDK object type: AdditionalOrderInput
Object containing additional input on the order
Depends on: Required for payments done with payment product 120 - UATP. Required for hosted checkouts where payment product 120 - UATP is allowed.
object depends SDK object type: AirlineData
Object that holds airline specific data
Depends on: Required for payments done with payment product 120 - UATP. Required for hosted checkouts where payment product 120 - UATP is allowed.
agentNumericCode string (8) no

Numeric code identifying the agent

code string (3) yes

Airline numeric code

flightDate string (8) no

Date of the Flight
Format: YYYYMMDD

array no
Object that holds the data on the individual legs of the ticket
object no SDK object type: AirlineFlightLeg
airlineClass string (2) yes

Reservation Booking Designator

arrivalAirport string (3) yes

Arrival airport/city code

carrierCode string (2) yes

IATA carrier code

date string (8) yes

Date of the leg
Format: YYYYMMDD

departureTime string (6) depends

The departure time in the local time at the departure airport
Format: HH:MM
Depends on: Required for PayPal (840) when Airline data is submitted

fare string (12) no

Fare of this leg

fareBasis string (15) no

Fare Basis/Ticket Designator

flightNumber string (4) depends

The flight number assigned by the airline carrier with no leading spaces
Should be a numeric string
Depends on: Required for PayPal (840) when Airline data is submitted

number integer (5) yes

Sequence number of the flight leg

originAirport string (3) yes

Origin airport/city code

serviceClass enum no

ServiceClass of this leg (this field is used for fraud screening on the Ogone Payment Platform).

Possible values are:

  • economy
  • premium-economy
  • business
  • first

stopoverCode string depends

Possible values are:
  • permitted = Stopover permitted
  • non-permitted = Stopover not permitted
Depends on: Required for PayPal (840) when Airline data is submitted

invoiceNumber string (6) no

Airline tracing number

isETicket boolean no

  • true = The ticket is an E-Ticket
  • false = the ticket is not an E-Ticket

isRegisteredCustomer boolean no

  • true = a registered known consumer
  • false = unknown consumer

isRestrictedTicket boolean no

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

isThirdParty boolean no

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

issueDate string (8) no

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

merchantCustomerId string (16) no

Your ID of the consumer in the context of the airline data

name string (20) yes

Name of the airline

passengerName string (49) no

Name of passenger

array no
Object that holds the data on the individual passengers (this object is used for fraud screening on the Ogone Payment Platform)
object no SDK object type: AirlinePassenger
firstName string (15) no

First name of the passenger (this field is used for fraud screening on the Ogone Payment Platform)

surname string (70) no

Surname of the passenger (this field is used for fraud screening on the Ogone Payment Platform)

surnamePrefix string (15) no

Surname prefix of the passenger (this field is used for fraud screening on the Ogone Payment Platform)

title string (35) no

Title of the passenger (this field is used for fraud screening on the Ogone Payment Platform)

placeOfIssue string (15) no

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

pnr string (127) no

Passenger name record

pointOfSale string (25) no

IATA point of sale name

posCityCode string (10) no

city code of the point of sale

ticketDeliveryMethod string no

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

ticketNumber string (13) no

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

object no
Deprecated: Use Order.shoppingCart instead
SDK object type: Level3SummaryData
Object that holds Level3 summary data
discountAmount integer (12) no

Deprecated: Use ShoppingCart.amountbreakdown with type DISCOUNT instead
Discount on the entire transaction, with the last 2 digits are implied decimal places

dutyAmount integer (12) no

Deprecated: Use ShoppingCart.amountbreakdown with type DUTY instead
Duty on the entire transaction, with the last 2 digits are implied decimal places

shippingAmount integer (12) no

Deprecated: Use ShoppingCart.amountbreakdown with type SHIPPING instead
Shippingcost on the entire transaction, with the last 2 digits are implied decimal places

numberOfInstallments integer (5) no

The number of installments

orderDate string (14) no

Date and time of order
Format: YYYYMMDDHH24MISS

object no SDK object type: OrderTypeInformation
Object that holds the purchase and usage type indicators
purchaseType string no

Possible values are:
  • physical
  • digital

usageType string no

Possible values are:
  • private
  • commercial

object yes SDK object type: AmountOfMoney
Object containing amount and ISO currency code attributes
amount integer (12) yes

Amount in cents and always having 2 decimals

currencyCode string (3) yes

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

object depends SDK object type: Customer
Object containing the details of the consumer
Depends on: Please note that this object is required, except when a token has been included in the request that includes at least the countryCode in the billingAddress.
object depends SDK object type: Address
Object containing billing address details
Depends on: Please note that this object is required, except when a token has been included in the request that includes at least the countryCode.
For Direct Debit UK (705) the city, street and zip fields are also required, except when a token has been included in the request that includes these fields.
additionalInfo string (50) no

Additional address information

city string (40) depends

City
Depends on: Required for Invoice payments (201)
Required for Direct Debit UK (705), except when a token has been included in the request that includes this value.
Required for the creation of a Payout.
Required for payments with product 9000 or 9001.
Required when address is included in Seller.

countryCode string (2) depends

ISO 3166-1 alpha-2 country code
Depends on: Required, except when a token has been included in the request that includes this value.
Required when address is included in Seller.

houseNumber string (15) depends

House number
Depends on: Required when address is included in Seller.

state string (35) no

Full name of the state or province

stateCode string (9) no

State code

street string (50) depends

Streetname
Depends on: Required for Invoice payments (201)
Required for Direct Debit UK (705), except when a token has been included in the request that includes this value.
Required for the creation of a Payout.
Required for payments with product 9000 or 9001.
Required when address is included in Seller.

zip string (10) depends

Zip code
Depends on: Required for Direct Debit UK (705), except when a token has been included in the request that includes this value.
Required for payments with product 9000 or 9001.

object no SDK object type: CompanyInformation
Object containing company information
name string (40) no

Name of company, as a consumer

object depends SDK object type: ContactDetails
Object containing contact details like email address and phone number
Depends on: Required for payments with product 9000 or 9001.
emailAddress string (70) depends

Email address of the consumer
Depends on: Required for payments with product 9000 or 9001.

emailMessageType string no

Preference for the type of email message markup
  • plain-text
  • html

faxNumber string (20) no

Fax number of the consumer

phoneNumber string (20) depends

Phone number of the consumer
Depends on: Required for payments with product 9000 or 9001.

fiscalNumber string (14) depends

Fiscal registration number of the consumer (CPF) with a length of 11 or the tax registration number of the company for a business consumer (CNPJ) with a length of 14.
Depends on: Required for payments done with payment products:
  • 51 - Deposito Identificado
  • 1503 - Boleto Bancario
  • 840 - PayPal, but only for transactions done in Brazil
  • 9000 - AfterPay Installments and 9001 - AfterPay Invoice, but only for transactions done in Denmark, Finland, Norway and Sweden

locale string (5) depends

The locale that the consumer 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.
Depends on: This field is required for payments and hosted checkouts with products 9000 and 9001.

merchantCustomerId string (15) depends

Your identifier for the consumer that can be used as a search criteria in the Global Collect Payment Console and is also included in the Global Collect report files. For Ingenco's Ogone Payment Platform this field is used in the fraud-screening process.
Depends on: Required for payments done with payment product 830 - PaysafeCard. Required for hosted checkouts where payment product 830 - PaysafeCard is allowed. Required for card payments and hosted checkouts with the unscheduledCardOnFileIndicator or unscheduledCardOnFileRequestor property set.

object depends SDK object type: PersonalInformation
Object containing personal information like name, date of birth and gender.
Depends on: Required for payments with product 9000 or 9001.
dateOfBirth string (8) depends

The date of birth of the consumer
Format: YYYYMMDD
Depends on: Required for payments with product 9000 or 9001 in Austria (AT), Belgium (BE), Germany (DE), the Netherlands (NL) and Switzerland (CH).

gender string no

The gender of the consumer, possible values are:
  • male
  • female
  • unknown or empty

object depends SDK object type: PersonalName
Object containing the name details of the consumer
Depends on: Required for payments with product 9000 or 9001.
firstName string (15) depends

Given name(s) or first name(s) of the consumer
Depends on: Required for payments with product 9000 or 9001.

surname string (70) depends

Surname(s) or last name(s) of the consumer
Depends on: Required for the creation of a Payout.
Required for payments with product 9000 or 9001.

surnamePrefix string (15) no

Middle name - In between first name and surname - of the consumer

title string (35) depends

Title of consumer
Depends on: Required for payments with product 9000 or 9001 in Austria (AT), Belgium (BE), Germany (DE), the Netherlands (NL) and Switzerland (CH).

object no SDK object type: AddressPersonal
Object containing shipping address details
additionalInfo string (50) no

Additional address information

city string (40) depends

City
Depends on: Required for Invoice payments (201)
Required for Direct Debit UK (705), except when a token has been included in the request that includes this value.

countryCode string (2) depends

ISO 3166-1 alpha-2 country code
Depends on: Please note that this field is required, except when a token has been included in the request that includes this value.

houseNumber string (15) no

House number

object no SDK object type: PersonalName
Object that holds the name elements
firstName string (15) depends

Given name(s) or first name(s) of the consumer
Depends on: Required for payments with product 9000 or 9001.

surname string (70) depends

Surname(s) or last name(s) of the consumer
Depends on: Required for the creation of a Payout.
Required for payments with product 9000 or 9001.

surnamePrefix string (15) no

Middle name - In between first name and surname - of the consumer

title string (35) depends

Title of consumer
Depends on: Required for payments with product 9000 or 9001 in Austria (AT), Belgium (BE), Germany (DE), the Netherlands (NL) and Switzerland (CH).

state string (35) no

Full name of the state or province

stateCode string (9) no

State code

street string (50) depends

Streetname
Depends on: Required for Invoice payments (201)
Required for Direct Debit UK (705), except when a token has been included in the request that includes this value.

zip string (10) depends

Zip code
Depends on: Required for Direct Debit UK (705), except when a token has been included in the request that includes this value.

vatNumber string (17) no

Local VAT number of the consumer

array no
Deprecated: Use ShoppingCart.items instead
Shopping cart data
object no SDK object type: LineItem
object depends SDK object type: AmountOfMoney
Object containing amount and ISO currency code attributes
Note: make sure you submit the amount and currency code for each line item
Depends on: Required in hosted checkout if hostedCheckoutSpecificInput.validateShoppingCart is true or not provided.
Note: hostedCheckoutSpecificInput.validateShoppingCart is only supported by the Ogone Payment Platform.
amount integer (12) yes

Amount in cents and always having 2 decimals

currencyCode string (3) yes

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

object depends SDK object type: LineItemInvoiceData
Object containing the line items of the invoice or shopping cart
Depends on: Required in hosted checkout if hostedCheckoutSpecificInput.validateShoppingCart is true or not provided.
Note: hostedCheckoutSpecificInput.validateShoppingCart is only supported by the Ogone Payment Platform.
description string (116) depends

Shopping cart item description
Depends on: When you want your shopping cart to be displayed on our hostedCheckout pages this field is required for the cart to display correctly.

merchantLinenumber string (5) no

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

merchantPagenumber string (3) no

Page number for printed invoice
Should be a numeric string

nrOfItems string (4) depends

Quantity of the item
Depends on: When you want your shopping cart to be displayed on our hostedCheckout pages this field is required for the cart to display correctly.

pricePerItem integer (12) depends

Price per item
Depends on: When you want your shopping cart to be displayed on our hostedCheckout pages this field is required for the cart to display correctly.

object no
Deprecated: Use orderLineDetails instead
SDK object type: LineItemLevel3InterchangeInformation
Object containing additional information that when supplied can have a beneficial effect on the discountrates
discountAmount integer (12) no

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

lineAmountTotal integer (12) no

Total amount for the line item

productCode string (12) no

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

productPrice integer (12) no

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

productType string (12) no

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

quantity integer (4) no

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

taxAmount integer (12) no

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

unit string (12) no

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

object depends SDK object type: OrderLineDetails
Object containing additional information that when supplied can have a beneficial effect on the discountrates
Depends on: This object is required for payments and hosted checkouts with products 9000 and 9001.
discountAmount integer (12) no

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

googleProductCategoryId integer (10) no

The Google product category ID for the item.

lineAmountTotal integer (12) no

Total amount for the line item

productCategory string (50) no

This field indicates the category of the product (i.e. home appliance), used for fraud screening on the Ogone Payment Platform.

productCode string (12) depends

Product or UPC Code, left justified
Note: Must not be all spaces or all zeros
Depends on: This field is required for payments and hosted checkouts with products 9000 and 9001.

productName string (120) depends

The name of the product.
Depends on: This field is required for payments and hosted checkouts with products 9000 and 9001.

productPrice integer (12) depends

The price of one unit of the product, the value should be zero or greater
Depends on: This field is required for payments and hosted checkouts with products 9000 and 9001.

productType string (12) depends

Code used to classify items that are purchased
Note: Must not be all spaces or all zeros
Depends on: This field is required for payments and hosted checkouts with products 9000 and 9001.

quantity integer (4) depends

Quantity of the units being purchased, should be greater than zero
Note: Must not be all spaces or all zeros
Depends on: This field is required for payments and hosted checkouts with products 9000 and 9001.

taxAmount integer (12) no

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

unit string (12) no

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

object depends SDK object type: OrderReferences
Object that holds all reference fields that are linked to this transaction
Depends on: This object is required for payments and hosted checkouts with products 9000 and 9001.
descriptor string (256) no

Descriptive text that is used towards to consumer, either during an online checkout at a third party and/or on the statement of the consumer. 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 eCard Poland - 30 characters
  • 404 INICIS - 80 characters
  • 802 Nordea ePayment Finland - 234 characters
  • 809 iDeal - 32 characters
  • 819 Aktia - 210 characters
  • 836 SOFORT - 42 characters
  • 840 PayPal - 127 characters
  • 841 WebMoney - 175 characters
  • 849 Yandex - 64 characters
  • 861 Alipay - 256 characters
  • 880 BOKU - 20 characters
  • 8580 Qiwi - 255 characters
  • 1504 Konbini - 80 characters
All other payment products don't support a descriptor.

object no SDK object type: OrderInvoiceData
Object containing additional invoice data
additionalData string (500) no

Additional data for printed invoices

invoiceDate string (14) no

Date and time on invoice
Format: YYYYMMDDHH24MISS

invoiceNumber string (20) no

Your invoice number (on printed invoice) that is also returned in our report files

textQualifiers array of string no
Array of 3 text qualifiers, each with a max length of 10 characters
merchantOrderId integer (10) no

Your order identifier
Note: This does not need to have a unique value for each transaction. This allows your to link multiple transactions to the same logical order in your system.

merchantReference string (30) depends

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.
Depends on: This field is required for payments and hosted checkouts with products 9000 and 9001.

object no SDK object type: Seller
Object containing seller details
object no SDK object type: Address
Object containing the seller address details
additionalInfo string (50) no

Additional address information

city string (40) depends

City
Depends on: Required for Invoice payments (201)
Required for Direct Debit UK (705), except when a token has been included in the request that includes this value.
Required for the creation of a Payout.
Required for payments with product 9000 or 9001.
Required when address is included in Seller.

countryCode string (2) depends

ISO 3166-1 alpha-2 country code
Depends on: Required, except when a token has been included in the request that includes this value.
Required when address is included in Seller.

houseNumber string (15) depends

House number
Depends on: Required when address is included in Seller.

state string (35) no

Full name of the state or province

stateCode string (9) no

State code

street string (50) depends

Streetname
Depends on: Required for Invoice payments (201)
Required for Direct Debit UK (705), except when a token has been included in the request that includes this value.
Required for the creation of a Payout.
Required for payments with product 9000 or 9001.
Required when address is included in Seller.

zip string (10) depends

Zip code
Depends on: Required for Direct Debit UK (705), except when a token has been included in the request that includes this value.
Required for payments with product 9000 or 9001.

channelCode string (3) no

Channel code, refer to

description string (32) no

Description of the seller

geocode string (5) no

The sellers geocode

id string (40) yes

The sellers identifier

invoiceNumber string (12) no

Invoice number of the payment

mcc string (5) no

Merchant category code

name string (128) yes

Name of the seller

type string yes

Seller type. Possible values:
  • passport
  • dni
  • arg-identity-card
  • civic-notebook
  • enrollment-book
  • cuil
  • cuit
  • general-register
  • election-title
  • cpf
  • cnpj
  • ssn
  • citizen-ship
  • col-identity-card
  • alien-registration

object depends SDK object type: ShoppingCart
Shopping cart data, including items and specific amounts.
Depends on: This object is required for payments and hosted checkouts with products 9000 and 9001.
array no
Determines the type of the amount.
object no SDK object type: AmountBreakdown
amount integer yes

Amount in cents and always having 2 decimals

type enum yes

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.
  • SHIPPING - Shipping cost 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.

array depends
Shopping cart data
Depends on: This field is required for payments and hosted checkouts with products 9000 and 9001.
object no SDK object type: LineItem
object depends SDK object type: AmountOfMoney
Object containing amount and ISO currency code attributes
Note: make sure you submit the amount and currency code for each line item
Depends on: Required in hosted checkout if hostedCheckoutSpecificInput.validateShoppingCart is true or not provided.
Note: hostedCheckoutSpecificInput.validateShoppingCart is only supported by the Ogone Payment Platform.
amount integer (12) yes

Amount in cents and always having 2 decimals

currencyCode string (3) yes

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

object depends SDK object type: LineItemInvoiceData
Object containing the line items of the invoice or shopping cart
Depends on: Required in hosted checkout if hostedCheckoutSpecificInput.validateShoppingCart is true or not provided.
Note: hostedCheckoutSpecificInput.validateShoppingCart is only supported by the Ogone Payment Platform.
description string (116) depends

Shopping cart item description
Depends on: When you want your shopping cart to be displayed on our hostedCheckout pages this field is required for the cart to display correctly.

merchantLinenumber string (5) no

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

merchantPagenumber string (3) no

Page number for printed invoice
Should be a numeric string

nrOfItems string (4) depends

Quantity of the item
Depends on: When you want your shopping cart to be displayed on our hostedCheckout pages this field is required for the cart to display correctly.

pricePerItem integer (12) depends

Price per item
Depends on: When you want your shopping cart to be displayed on our hostedCheckout pages this field is required for the cart to display correctly.

object no
Deprecated: Use orderLineDetails instead
SDK object type: LineItemLevel3InterchangeInformation
Object containing additional information that when supplied can have a beneficial effect on the discountrates
discountAmount integer (12) no

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

lineAmountTotal integer (12) no

Total amount for the line item

productCode string (12) no

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

productPrice integer (12) no

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

productType string (12) no

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

quantity integer (4) no

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

taxAmount integer (12) no

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

unit string (12) no

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

object depends SDK object type: OrderLineDetails
Object containing additional information that when supplied can have a beneficial effect on the discountrates
Depends on: This object is required for payments and hosted checkouts with products 9000 and 9001.
discountAmount integer (12) no

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

googleProductCategoryId integer (10) no

The Google product category ID for the item.

lineAmountTotal integer (12) no

Total amount for the line item

productCategory string (50) no

This field indicates the category of the product (i.e. home appliance), used for fraud screening on the Ogone Payment Platform.

productCode string (12) depends

Product or UPC Code, left justified
Note: Must not be all spaces or all zeros
Depends on: This field is required for payments and hosted checkouts with products 9000 and 9001.

productName string (120) depends

The name of the product.
Depends on: This field is required for payments and hosted checkouts with products 9000 and 9001.

productPrice integer (12) depends

The price of one unit of the product, the value should be zero or greater
Depends on: This field is required for payments and hosted checkouts with products 9000 and 9001.

productType string (12) depends

Code used to classify items that are purchased
Note: Must not be all spaces or all zeros
Depends on: This field is required for payments and hosted checkouts with products 9000 and 9001.

quantity integer (4) depends

Quantity of the units being purchased, should be greater than zero
Note: Must not be all spaces or all zeros
Depends on: This field is required for payments and hosted checkouts with products 9000 and 9001.

taxAmount integer (12) no

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

unit string (12) no

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

Request example

SDK: Java

This scenario you will probably use the most

  • Card card = new Card();
    card.setCardNumber("4567350000427977");
    card.setCardholderName("Wile E. Coyote");
    card.setCvv("123");
    card.setExpiryDate("1220");
    
    CardPaymentMethodSpecificInput cardPaymentMethodSpecificInput = new CardPaymentMethodSpecificInput();
    cardPaymentMethodSpecificInput.setCard(card);
    cardPaymentMethodSpecificInput.setPaymentProductId(1);
    cardPaymentMethodSpecificInput.setSkipAuthentication(false);
    
    AmountOfMoney amountOfMoney = new AmountOfMoney();
    amountOfMoney.setAmount(2980L);
    amountOfMoney.setCurrencyCode("EUR");
    
    Address billingAddress = new Address();
    billingAddress.setAdditionalInfo("b");
    billingAddress.setCity("Monument Valley");
    billingAddress.setCountryCode("US");
    billingAddress.setHouseNumber("13");
    billingAddress.setState("Utah");
    billingAddress.setStreet("Desertroad");
    billingAddress.setZip("84536");
    
    CompanyInformation companyInformation = new CompanyInformation();
    companyInformation.setName("Acme Labs");
    
    ContactDetails contactDetails = new ContactDetails();
    contactDetails.setEmailAddress("wile.e.coyote@acmelabs.com");
    contactDetails.setEmailMessageType("html");
    contactDetails.setFaxNumber("+1234567891");
    contactDetails.setPhoneNumber("+1234567890");
    
    PersonalName name = new PersonalName();
    name.setFirstName("Wile");
    name.setSurname("Coyote");
    name.setSurnamePrefix("E.");
    name.setTitle("Mr.");
    
    PersonalInformation personalInformation = new PersonalInformation();
    personalInformation.setDateOfBirth("19490917");
    personalInformation.setGender("M");
    personalInformation.setName(name);
    
    PersonalName shippingName = new PersonalName();
    shippingName.setFirstName("Road");
    shippingName.setSurname("Runner");
    shippingName.setTitle("Miss");
    
    AddressPersonal shippingAddress = new AddressPersonal();
    shippingAddress.setAdditionalInfo("Suite II");
    shippingAddress.setCity("Monument Valley");
    shippingAddress.setCountryCode("US");
    shippingAddress.setHouseNumber("1");
    shippingAddress.setName(shippingName);
    shippingAddress.setState("Utah");
    shippingAddress.setStreet("Desertroad");
    shippingAddress.setZip("84536");
    
    Customer customer = new Customer();
    customer.setBillingAddress(billingAddress);
    customer.setCompanyInformation(companyInformation);
    customer.setContactDetails(contactDetails);
    customer.setLocale("en_US");
    customer.setMerchantCustomerId("1234");
    customer.setPersonalInformation(personalInformation);
    customer.setShippingAddress(shippingAddress);
    customer.setVatNumber("1234AB5678CD");
    
    OrderInvoiceData invoiceData = new OrderInvoiceData();
    invoiceData.setInvoiceDate("20140306191500");
    invoiceData.setInvoiceNumber("000000123");
    
    OrderReferences references = new OrderReferences();
    references.setDescriptor("Fast and Furry-ous");
    references.setInvoiceData(invoiceData);
    references.setMerchantOrderId(123456L);
    references.setMerchantReference("AcmeOrder0001");
    
    List<LineItem> items = new ArrayList<LineItem>();
    
    AmountOfMoney item1AmountOfMoney = new AmountOfMoney();
    item1AmountOfMoney.setAmount(2500L);
    item1AmountOfMoney.setCurrencyCode("EUR");
    
    LineItemInvoiceData item1InvoiceData = new LineItemInvoiceData();
    item1InvoiceData.setDescription("ACME Super Outfit");
    item1InvoiceData.setNrOfItems("1");
    item1InvoiceData.setPricePerItem(2500L);
    
    LineItem item1 = new LineItem();
    item1.setAmountOfMoney(item1AmountOfMoney);
    item1.setInvoiceData(item1InvoiceData);
    
    items.add(item1);
    
    AmountOfMoney item2AmountOfMoney = new AmountOfMoney();
    item2AmountOfMoney.setAmount(480L);
    item2AmountOfMoney.setCurrencyCode("EUR");
    
    LineItemInvoiceData item2InvoiceData = new LineItemInvoiceData();
    item2InvoiceData.setDescription("Aspirin");
    item2InvoiceData.setNrOfItems("12");
    item2InvoiceData.setPricePerItem(40L);
    
    LineItem item2 = new LineItem();
    item2.setAmountOfMoney(item2AmountOfMoney);
    item2.setInvoiceData(item2InvoiceData);
    
    items.add(item2);
    
    ShoppingCart shoppingCart = new ShoppingCart();
    shoppingCart.setItems(items);
    
    Order order = new Order();
    order.setAmountOfMoney(amountOfMoney);
    order.setCustomer(customer);
    order.setReferences(references);
    order.setShoppingCart(shoppingCart);
    
    CreatePaymentRequest body = new CreatePaymentRequest();
    body.setCardPaymentMethodSpecificInput(cardPaymentMethodSpecificInput);
    body.setOrder(order);
    
    try {
    	CreatePaymentResponse response = client.merchant("merchantId").payments().create(body);
    } catch (DeclinedPaymentException e) {
    	handleDeclinedPayment(e.getCreatePaymentResult());
    } catch (ApiException e) {
    	handleApiErrors(e.getErrors());
    }
    
  • Card card = new Card();
    card.setCardNumber("****************");
    card.setCvv("***");
    card.setExpiryDate("****");
    
    CardPaymentMethodSpecificInput cardPaymentMethodSpecificInput = new CardPaymentMethodSpecificInput();
    cardPaymentMethodSpecificInput.setCard(card);
    cardPaymentMethodSpecificInput.setPaymentProductId(1);
    cardPaymentMethodSpecificInput.setSkipAuthentication(false);
    
    AmountOfMoney amountOfMoney = new AmountOfMoney();
    amountOfMoney.setAmount(4005L);
    amountOfMoney.setCurrencyCode("USD");
    
    Address billingAddress = new Address();
    billingAddress.setCountryCode("US");
    
    Customer customer = new Customer();
    customer.setBillingAddress(billingAddress);
    customer.setMerchantCustomerId("1234");
    
    Order order = new Order();
    order.setAmountOfMoney(amountOfMoney);
    order.setCustomer(customer);
    
    CreatePaymentRequest body = new CreatePaymentRequest();
    body.setCardPaymentMethodSpecificInput(cardPaymentMethodSpecificInput);
    body.setOrder(order);
    
    try {
    	CreatePaymentResponse response = client.merchant("merchantId").payments().create(body);
    } catch (DeclinedPaymentException e) {
    	handleDeclinedPayment(e.getCreatePaymentResult());
    } catch (ApiException e) {
    	handleApiErrors(e.getErrors());
    }
    
  • AmountOfMoney amountOfMoney = new AmountOfMoney();
    amountOfMoney.setAmount(4005L);
    amountOfMoney.setCurrencyCode("EUR");
    
    Address billingAddress = new Address();
    billingAddress.setCountryCode("US");
    
    Customer customer = new Customer();
    customer.setBillingAddress(billingAddress);
    customer.setMerchantCustomerId("1234");
    
    Order order = new Order();
    order.setAmountOfMoney(amountOfMoney);
    order.setCustomer(customer);
    
    RedirectPaymentMethodSpecificInput redirectPaymentMethodSpecificInput = new RedirectPaymentMethodSpecificInput();
    redirectPaymentMethodSpecificInput.setPaymentProductId(840);
    redirectPaymentMethodSpecificInput.setReturnUrl("https://www.google.com");
    
    CreatePaymentRequest body = new CreatePaymentRequest();
    body.setOrder(order);
    body.setRedirectPaymentMethodSpecificInput(redirectPaymentMethodSpecificInput);
    
    try {
    	CreatePaymentResponse response = client.merchant("merchantId").payments().create(body);
    } catch (DeclinedPaymentException e) {
    	handleDeclinedPayment(e.getCreatePaymentResult());
    } catch (ApiException e) {
    	handleApiErrors(e.getErrors());
    }
    
  • Card card = new Card();
    card.setCardNumber("****************");
    card.setCardholderName("Wile E. Coyote");
    card.setCvv("***");
    card.setExpiryDate("****");
    
    CardPaymentMethodSpecificInput cardPaymentMethodSpecificInput = new CardPaymentMethodSpecificInput();
    cardPaymentMethodSpecificInput.setCard(card);
    cardPaymentMethodSpecificInput.setPaymentProductId(1);
    cardPaymentMethodSpecificInput.setSkipAuthentication(false);
    
    AmountOfMoney amountOfMoney = new AmountOfMoney();
    amountOfMoney.setAmount(4005L);
    amountOfMoney.setCurrencyCode("USD");
    
    Address billingAddress = new Address();
    billingAddress.setAdditionalInfo("b");
    billingAddress.setCity("Monument Valley");
    billingAddress.setCountryCode("US");
    billingAddress.setHouseNumber("13");
    billingAddress.setState("Utah");
    billingAddress.setStreet("Desertroad");
    billingAddress.setZip("84536");
    
    CompanyInformation companyInformation = new CompanyInformation();
    companyInformation.setName("Acme Labs");
    
    ContactDetails contactDetails = new ContactDetails();
    contactDetails.setEmailAddress("wile.e.coyote@acmelabs.com");
    contactDetails.setEmailMessageType("html");
    contactDetails.setFaxNumber("+1234567891");
    contactDetails.setPhoneNumber("+1234567890");
    
    PersonalName name = new PersonalName();
    name.setFirstName("Wile");
    name.setSurname("Coyote");
    name.setSurnamePrefix("E.");
    name.setTitle("Mr.");
    
    PersonalInformation personalInformation = new PersonalInformation();
    personalInformation.setDateOfBirth("19490917");
    personalInformation.setGender("male");
    personalInformation.setName(name);
    
    PersonalName shippingName = new PersonalName();
    shippingName.setFirstName("Road");
    shippingName.setSurname("Runner");
    shippingName.setTitle("Miss");
    
    AddressPersonal shippingAddress = new AddressPersonal();
    shippingAddress.setAdditionalInfo("Suite II");
    shippingAddress.setCity("Monument Valley");
    shippingAddress.setCountryCode("US");
    shippingAddress.setHouseNumber("1");
    shippingAddress.setName(shippingName);
    shippingAddress.setState("Utah");
    shippingAddress.setStreet("Desertroad");
    shippingAddress.setZip("84536");
    
    Customer customer = new Customer();
    customer.setBillingAddress(billingAddress);
    customer.setCompanyInformation(companyInformation);
    customer.setContactDetails(contactDetails);
    customer.setLocale("en");
    customer.setMerchantCustomerId("YOUR_CUST_ID");
    customer.setPersonalInformation(personalInformation);
    customer.setShippingAddress(shippingAddress);
    customer.setVatNumber("1234AB5678CD");
    
    OrderInvoiceData invoiceData = new OrderInvoiceData();
    invoiceData.setInvoiceDate("20140306191500");
    invoiceData.setInvoiceNumber("000000123");
    
    OrderReferences references = new OrderReferences();
    references.setDescriptor("Fast and Furry-ous");
    references.setInvoiceData(invoiceData);
    references.setMerchantOrderId(123456L);
    references.setMerchantReference("AcmeOrder0001");
    
    List<LineItem> items = new ArrayList<LineItem>();
    
    AmountOfMoney item1AmountOfMoney = new AmountOfMoney();
    item1AmountOfMoney.setAmount(2005L);
    item1AmountOfMoney.setCurrencyCode("USD");
    
    LineItemInvoiceData item1InvoiceData = new LineItemInvoiceData();
    item1InvoiceData.setDescription("ACME Super Outfit");
    item1InvoiceData.setNrOfItems("1");
    item1InvoiceData.setPricePerItem(2005L);
    
    LineItem item1 = new LineItem();
    item1.setAmountOfMoney(item1AmountOfMoney);
    item1.setInvoiceData(item1InvoiceData);
    
    items.add(item1);
    
    AmountOfMoney item2AmountOfMoney = new AmountOfMoney();
    item2AmountOfMoney.setAmount(20L);
    item2AmountOfMoney.setCurrencyCode("USD");
    
    LineItemInvoiceData item2InvoiceData = new LineItemInvoiceData();
    item2InvoiceData.setDescription("Asperin");
    item2InvoiceData.setNrOfItems("10");
    item2InvoiceData.setPricePerItem(20L);
    
    LineItem item2 = new LineItem();
    item2.setAmountOfMoney(item2AmountOfMoney);
    item2.setInvoiceData(item2InvoiceData);
    
    items.add(item2);
    
    ShoppingCart shoppingCart = new ShoppingCart();
    shoppingCart.setItems(items);
    
    Order order = new Order();
    order.setAmountOfMoney(amountOfMoney);
    order.setCustomer(customer);
    order.setReferences(references);
    order.setShoppingCart(shoppingCart);
    
    CreatePaymentRequest body = new CreatePaymentRequest();
    body.setCardPaymentMethodSpecificInput(cardPaymentMethodSpecificInput);
    body.setOrder(order);
    
    try {
    	CreatePaymentResponse response = client.merchant("merchantId").payments().create(body);
    } catch (DeclinedPaymentException e) {
    	handleDeclinedPayment(e.getCreatePaymentResult());
    } catch (ApiException e) {
    	handleApiErrors(e.getErrors());
    }
    

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.

            Property Type Required Description
object no SDK object type: PaymentCreationOutput
Object containing the details of the created payment
additionalReference string no

The additional reference identifier for this transaction. Data in this field will also be returned in our report files, allowing you to reconcile them.

externalReference string no

The external reference identifier for this transaction. Data in this field will also be returned in our report files, allowing you to reconcile them.

isNewToken boolean no

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.

token string no

ID of the token

object no SDK object type: MerchantAction
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
actionType enum no

Action merchants needs to take in the online payment process. Possible values are:
  • REDIRECT - The consumer needs to be redirected using the details found in redirectData
  • SHOW_FORM - The consumer 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.
  • SHOW_INSTRUCTIONS - The consumer 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 consumer needs to be shown the transaction results using the details found in showData. Alternatively the instructions can be rendered by us using the instructionsRenderingData

array no
Populated only when the actionType of the merchantAction is SHOW_FORM. In this case, this field contains the list of fields to render, in the format that is also used in the response of Get payment product.
object no SDK object type: PaymentProductField
object no SDK object type: PaymentProductFieldDataRestrictions
Object containing data restrictions that apply to this field, like minimum and/or maximum length
isRequired boolean no

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

object no SDK object type: PaymentProductFieldValidators
Object containing the details of the validations on the field
object no SDK object type: BoletoBancarioRequirednessValidator
Indicates the requiredness of the field based on the fiscalnumber for Boleto Bancario
fiscalNumberLength integer no

When performing a payment with Boleto Bancario, some values are only required when the fiscalnumber has a specific length. The length the fiscalnumber has to have to make the field required is defined here. For example the CompanyName is required when the fiscalnumber is a CNPJ. The firstname and surname are required when the fiscalnumber is a CPF.

emailAddress object no SDK object type: EmptyValidator
Indicates that the content should be validated against the rules for an email address
expirationDate object no SDK object type: EmptyValidator
Indicates that the content should be validated against the rules for an expiration date (it should be in the future)
object no SDK object type: FixedListValidator
Indicates that content should be one of the, in this object, listed items
allowedValues array of string no
List of the allowed values that the field will be validated against
iban object no SDK object type: EmptyValidator
Indicates that the content of this (iban) field needs to validated against format checks and modulo check (as described in ISO 7064)
object no SDK object type: LengthValidator
Indicates that the content needs to be validated against length criteria defined in this object
maxLength integer no

The maximum allowed length

minLength integer no

The minimum allowed length

luhn object no SDK object type: EmptyValidator
Indicates that the content needs to be validated using a LUHN check
object no SDK object type: RangeValidator
Indicates that the content needs to be validated against a, in this object, defined range
maxValue integer no

Upper value of the range that is still valid

minValue integer no

Lower value of the range that is still valid

object no SDK object type: RegularExpressionValidator
A string representing the regular expression to check
regularExpression string no

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

termsAndConditions object no SDK object type: EmptyValidator
Indicates that the content should be validated as such that the consumer has accepted the field as if they were terms and conditions of a service
object no SDK object type: PaymentProductFieldDisplayHints
Object containing display hints for this field, like the order, mask, preferred keyboard
alwaysShow boolean no

  • 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 consumer.
  • false - Indicates that this field is not to be shown unless it is a required field.

displayOrder integer no

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

object no SDK object type: PaymentProductFieldFormElement
Object detailing the type of form element that should be used to present the field
type string no

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 consumer 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 consumer a choice, like accepting the terms and conditions of a product.
  • date - let the consumer pick a date.

array no
An array of values and displayNames that should be used to populate the list object in the GUI
object no SDK object type: ValueMappingElement
array no
List of extra data of the value.
object no SDK object type: PaymentProductFieldDisplayElement
id string no

The ID of the display element.

type enum no

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

value string no

the value of the display element.

displayName string no

Deprecated: use displayElement with ID 'displayName' instead.
Key name

value string no

Value corresponding to the key

label string no

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

link string no

Link that should be used to replace the '{link}' variable in the label.

mask string no

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.

obfuscate boolean no

  • 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

placeholderLabel string no

A placeholder value for the form element

preferredInputType string no

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

object no SDK object type: PaymentProductFieldTooltip
Object that contains an optional tooltip to assist the consumer
image string no

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.

label string no

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

id string no

The ID of the field

type enum no

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

usedForLookup boolean no

Indicates that the product can be used in a get customer details call and that when that call is done the field should be supplied as (one of the) key(s) with a valid value.

object no SDK object type: RedirectData
Object containing all data needed to redirect the consumer
RETURNMAC string no

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

redirectURL string no

The URL that the consumer should be redirected to

renderingData string no

This field 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 field)
  • 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 consumer 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.

array no
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 consumer.
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 is 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.
object no SDK object type: KeyValuePair
key string no

Name of the key or field

value string no

Value of the key or field

object no SDK object type: Payment
Object that holds the payment related fields
object no SDK object type: HostedCheckoutSpecificOutput
Hosted Checkout specific information. Populated if the payment was created on the GlobalCollect platform through a Hosted Checkout.
hostedCheckoutId string no

The ID of the Hosted Checkout Session in which the payment was made.

variant string no

Using the Configuration Center it is possible to create multiple variations of your MyCheckout payment pages. By specifying a specific variant you can force the use of another variant then the default. This allows you to test out the effect of certain changes to your hosted mandate pages in a controlled manner. Please note that you need to specify the ID of the variant.

id string no

Our unique payment transaction identifier.

object no SDK object type: PaymentOutput
Object containing payment details
object no SDK object type: AmountOfMoney
Object containing amount and ISO currency code attributes
amount integer (12) yes

Amount in cents and always having 2 decimals

currencyCode string (3) yes

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

amountPaid integer no

Amount that has been paid

object yes,

one of group

SDK object type: BankTransferPaymentMethodSpecificOutput
Object containing the bank transfer payment method details
paymentProductId integer no

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

object yes,

one of group

SDK object type: CardPaymentMethodSpecificOutput
Object containing the card payment method details
authorisationCode string no

Card Authorization code as returned by the acquirer

object no SDK object type: CardEssentials
Object containing card details
cardNumber string (19) no

The complete credit/debit card number

expiryDate string (4) no

Expiry date of the card
Format: MMYY

object no SDK object type: CardFraudResults
Fraud results contained in the CardFraudResults object
avsResult string no

Result of the Address Verification Service checks. Possible values are:
  • A - Address (Street) matches, Zip does not
  • B - Street address match for international transactions—Postal code not verified due to incompatible formats
  • C - Street address and postal code not verified for international transaction due to incompatible formats
  • D - Street address and postal code match for international transaction, cardholder name is incorrect
  • E - AVS error
  • F - Address does match and five digit ZIP code does match (UK only)
  • G - Address information is unavailable; international transaction; non-AVS participant
  • H - Billing address and postal code match, cardholder name is incorrect (Amex)
  • I - Address information not verified for international transaction
  • K - Cardholder name matches (Amex)
  • L - Cardholder name and postal code match (Amex)
  • M - Cardholder name, street address, and postal code match for international transaction
  • N - No Match on Address (Street) or Zip
  • O - Cardholder name and address match (Amex)
  • P - Postal codes match for international transaction—Street address not verified due to incompatible formats
  • Q - Billing address matches, cardholder is incorrect (Amex)
  • R - Retry, System unavailable or Timed out
  • S - Service not supported by issuer
  • U - Address information is unavailable
  • W - 9 digit Zip matches, Address (Street) does not
  • X - Exact AVS Match
  • Y - Address (Street) and 5 digit Zip match
  • Z - 5 digit Zip matches, Address (Street) does not
  • 0 - No service available

cvvResult string no

Result of the Card Verification Value checks. Possible values are:
  • M - CVV check performed and valid value
  • N - CVV checked and no match
  • P - CVV check not performed, not requested
  • S - Cardholder claims no CVV code on card, issuer states CVV-code should be on card
  • U - Issuer not certified for CVV2
  • Y - Server provider did not respond
  • 0 - No service available

fraudServiceResult string no

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.

object no SDK object type: FraudResultsRetailDecisions
Additional response data returned by RetailDecisions
fraudCode string no

Result of the fraud service. Provides additional information about the fraud result

fraudNeural string no

Returns the raw score of the neural

fraudRCF string no

Result of the fraud service Represent sets of fraud rules returned during the evaluation of the transaction

paymentProductId integer no

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

object no SDK object type: ThreeDSecureResults
3D Secure results object
cavv string no

CAVV or AVV result indicating authentication validation value

eci string no

Indicates Authentication validation results returned after AuthenticationValidation

xid string no

Transaction ID for the Authentication

object yes,

one of group

SDK object type: CashPaymentMethodSpecificOutput
Object containing the cash payment method details
paymentProductId integer no

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

object yes,

one of group

SDK object type: NonSepaDirectDebitPaymentMethodSpecificOutput
Object containing the non SEPA direct debit payment method details
object no SDK object type: FraudResults
Object containing the results of the fraud screening
fraudServiceResult string no

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

paymentProductId integer no

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

object yes,

one of group

SDK object type: EInvoicePaymentMethodSpecificOutput
Object containing the e-invoice payment method details
object no SDK object type: EInvoicePaymentProduct9000SpecificOutput
AfterPay Installments (payment product 9000) specific details
installmentId string yes

The ID of the installment plan used for the payment.

paymentProductId integer no

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

object yes,

one of group

SDK object type: InvoicePaymentMethodSpecificOutput
Object containing the invoice payment method details
paymentProductId integer no

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

object yes,

one of group

SDK object type: MobilePaymentMethodSpecificOutput
Object containing the mobile payment method details
authorisationCode string no

Card Authorization code as returned by the acquirer

object no SDK object type: CardFraudResults
Fraud results contained in the CardFraudResults object
avsResult string no

Result of the Address Verification Service checks. Possible values are:
  • A - Address (Street) matches, Zip does not
  • B - Street address match for international transactions—Postal code not verified due to incompatible formats
  • C - Street address and postal code not verified for international transaction due to incompatible formats
  • D - Street address and postal code match for international transaction, cardholder name is incorrect
  • E - AVS error
  • F - Address does match and five digit ZIP code does match (UK only)
  • G - Address information is unavailable; international transaction; non-AVS participant
  • H - Billing address and postal code match, cardholder name is incorrect (Amex)
  • I - Address information not verified for international transaction
  • K - Cardholder name matches (Amex)
  • L - Cardholder name and postal code match (Amex)
  • M - Cardholder name, street address, and postal code match for international transaction
  • N - No Match on Address (Street) or Zip
  • O - Cardholder name and address match (Amex)
  • P - Postal codes match for international transaction—Street address not verified due to incompatible formats
  • Q - Billing address matches, cardholder is incorrect (Amex)
  • R - Retry, System unavailable or Timed out
  • S - Service not supported by issuer
  • U - Address information is unavailable
  • W - 9 digit Zip matches, Address (Street) does not
  • X - Exact AVS Match
  • Y - Address (Street) and 5 digit Zip match
  • Z - 5 digit Zip matches, Address (Street) does not
  • 0 - No service available

cvvResult string no

Result of the Card Verification Value checks. Possible values are:
  • M - CVV check performed and valid value
  • N - CVV checked and no match
  • P - CVV check not performed, not requested
  • S - Cardholder claims no CVV code on card, issuer states CVV-code should be on card
  • U - Issuer not certified for CVV2
  • Y - Server provider did not respond
  • 0 - No service available

fraudServiceResult string no

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.

object no SDK object type: FraudResultsRetailDecisions
Additional response data returned by RetailDecisions
fraudCode string no

Result of the fraud service. Provides additional information about the fraud result

fraudNeural string no

Returns the raw score of the neural

fraudRCF string no

Result of the fraud service Represent sets of fraud rules returned during the evaluation of the transaction

network string no

The network that was used for the refund

object no SDK object type: MobilePaymentData
Object containing payment details
dpan string (19) yes

The obfuscated DPAN. Only the last four digits are visible.

expiryDate string (4) yes

Expiry date of the tokenized card
Format: MMYY

paymentProductId integer no

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

object no SDK object type: ThreeDSecureResults
3D Secure results object
cavv string no

CAVV or AVV result indicating authentication validation value

eci string no

Indicates Authentication validation results returned after AuthenticationValidation

xid string no

Transaction ID for the Authentication

object yes,

one of group

SDK object type: RedirectPaymentMethodSpecificOutput
Object containing the redirect payment product details
object no SDK object type: BankAccountIban
Object containing account holder name and IBAN information
accountHolderName string (30) depends

Name in which the account is held.
Depends on: Required for the creation of a Payout
Required for Create and Update token calls.

iban string (50) depends

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.
Depends on: Required for the creation of a Payout
Required for Create and Update token.
Required for payments with product 9000 in Austria (AT) and Germany (DE).
Required for Create mandate and Create payment with mandate calls

object no SDK object type: FraudResults
Object containing the results of the fraud screening
fraudServiceResult string no

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

object no,

one of group

SDK object type: PaymentProduct836SpecificOutput
Sofort (payment product 836) specific details
securityIndicator string no

Indicates if SofortBank could estabilish if the transaction could successfully be processed.
  • 0 - You should wait for the transaction to be reported as paid before shipping any goods.
  • 1 - You can ship the goods. In case the transaction is not reported as paid you can initiate a claims process with SofortBank.

object no,

one of group

SDK object type: PaymentProduct840SpecificOutput
PayPal (payment product 840) specific details
object no SDK object type: PaymentProduct840CustomerAccount
Object containing the details of the PayPal account
accountId string no

Username with which the PayPal account holder has registered at PayPal

billingAgreementId string no

Identification of the PayPal recurring billing agreement

companyName string no

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

countryCode string no

Country where the PayPal account is located

customerAccountStatus string no

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

customerAddressStatus string no

Status of the consumer'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

firstName string no

First name of the PayPal account holder

payerId string no

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

surname string no

Surname of the PayPal account holder

object no SDK object type: Address
Object containing the address details of the consumer
additionalInfo string (50) no

Additional address information

city string (40) depends

City
Depends on: Required for Invoice payments (201)
Required for Direct Debit UK (705), except when a token has been included in the request that includes this value.
Required for the creation of a Payout.
Required for payments with product 9000 or 9001.
Required when address is included in Seller.

countryCode string (2) depends

ISO 3166-1 alpha-2 country code
Depends on: Required, except when a token has been included in the request that includes this value.
Required when address is included in Seller.

houseNumber string (15) depends

House number
Depends on: Required when address is included in Seller.

state string (35) no

Full name of the state or province

stateCode string (9) no

State code

street string (50) depends

Streetname
Depends on: Required for Invoice payments (201)
Required for Direct Debit UK (705), except when a token has been included in the request that includes this value.
Required for the creation of a Payout.
Required for payments with product 9000 or 9001.
Required when address is included in Seller.

zip string (10) depends

Zip code
Depends on: Required for Direct Debit UK (705), except when a token has been included in the request that includes this value.
Required for payments with product 9000 or 9001.

object no SDK object type: ProtectionEligibility
Protection Eligibility data of the PayPal customer
eligibility string no

Possible values:
  • Eligible
  • PartiallyEligible
  • Ineligible

type string no

Possible values:
  • ItemNotReceivedEligible
  • UnauthorizedPaymentEligible
  • Ineligible

paymentProductId integer no

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

object yes,

one of group

SDK object type: SepaDirectDebitPaymentMethodSpecificOutput
Object containing the SEPA direct debit details
object no SDK object type: FraudResults
Object containing the results of the fraud screening
fraudServiceResult string no

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

object no SDK object type: PaymentProduct771SpecificOutput
Output that is SEPA Direct Debit specific (i.e. the used mandate)
mandateReference string no

Unique reference to a Mandate

paymentProductId integer no

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

paymentMethod string no

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

object no SDK object type: PaymentReferences
Object that holds all reference fields that are linked to this transaction
merchantOrderId integer no

Your order ID for this transaction that is also returned in our report files

merchantReference string no

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.

paymentReference string no

Payment Reference generated by WebCollect

providerId string no

Provides an additional means of reconciliation for Gateway merchants

providerReference string no

Provides an additional means of reconciliation for Gateway merchants

referenceOrigPayment string no

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

status enum no

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 consumer 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.

object no SDK object type: PaymentStatusOutput
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.
array no
Custom object contains the set of errors
object no SDK object type: APIError
category string no

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 Connect 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 Connect platform or between Connect and any of the payment platforms or third party systems.

code string yes

Error code

httpStatusCode integer no

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

id string no

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

message string no

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

propertyName string no

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'.

requestId string no

ID of the request that can be used for debugging purposes

isAuthorized boolean no

Indicates if the transaction has been authorized
  • true
  • false

isCancellable boolean no

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

isRefundable boolean no

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

statusCategory enum no

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 consumer 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.

statusCode integer no

Numeric status code that is returned by either Ingenico's Global Collect Payment Platform or Ingenico's Ogone Payment Platform. It is returned to ease the migration from the local APIs to Ingenico Connect. You should not write new business logic based on this field as it will be deprecated in a future version of the API. The value can also be found in the Global Collect Payment Console, in the Global Collect report files and the Ogone BackOffice and report files.

statusCodeChangeDateTime string no

Date and time of payment
Format: YYYYMMDDHH24MISS

Response example

SDK: Java

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" : "1220"
                    },
                    "fraudResults" : {
                        "avsResult" : "0",
                        "cvvResult" : "0",
                        "fraudServiceResult" : "no-advice"
                    }
                }
            },
            "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 field was missing the error message will point out which field caused the error.

             Property Type Required Description
errorId string yes

Unique reference, for debugging purposes, of this error response

array yes
List of one or more errors
object no SDK object type: APIError
category string no

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 Connect 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 Connect platform or between Connect and any of the payment platforms or third party systems.

code string yes

Error code

httpStatusCode integer no

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

id string no

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

message string no

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

propertyName string no

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'.

requestId string no

ID of the request that can be used for debugging purposes

object no SDK object type: CreatePaymentResult
Object that contains details on the created payment in case one has been created
object no SDK object type: PaymentCreationOutput
Object containing the details of the created payment
additionalReference string no

The additional reference identifier for this transaction. Data in this field will also be returned in our report files, allowing you to reconcile them.

externalReference string no

The external reference identifier for this transaction. Data in this field will also be returned in our report files, allowing you to reconcile them.

isNewToken boolean no

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.

token string no

ID of the token

object no SDK object type: MerchantAction
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
actionType enum no

Action merchants needs to take in the online payment process. Possible values are:
  • REDIRECT - The consumer needs to be redirected using the details found in redirectData
  • SHOW_FORM - The consumer 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.
  • SHOW_INSTRUCTIONS - The consumer 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 consumer needs to be shown the transaction results using the details found in showData. Alternatively the instructions can be rendered by us using the instructionsRenderingData

array no
Populated only when the actionType of the merchantAction is SHOW_FORM. In this case, this field contains the list of fields to render, in the format that is also used in the response of Get payment product.
object no SDK object type: PaymentProductField
object no SDK object type: PaymentProductFieldDataRestrictions
Object containing data restrictions that apply to this field, like minimum and/or maximum length
isRequired boolean no

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

object no SDK object type: PaymentProductFieldValidators
Object containing the details of the validations on the field
object no SDK object type: BoletoBancarioRequirednessValidator
Indicates the requiredness of the field based on the fiscalnumber for Boleto Bancario
fiscalNumberLength integer no

When performing a payment with Boleto Bancario, some values are only required when the fiscalnumber has a specific length. The length the fiscalnumber has to have to make the field required is defined here. For example the CompanyName is required when the fiscalnumber is a CNPJ. The firstname and surname are required when the fiscalnumber is a CPF.

emailAddress object no SDK object type: EmptyValidator
Indicates that the content should be validated against the rules for an email address
expirationDate object no SDK object type: EmptyValidator
Indicates that the content should be validated against the rules for an expiration date (it should be in the future)
object no SDK object type: FixedListValidator
Indicates that content should be one of the, in this object, listed items
allowedValues array of string no
List of the allowed values that the field will be validated against
iban object no SDK object type: EmptyValidator
Indicates that the content of this (iban) field needs to validated against format checks and modulo check (as described in ISO 7064)
object no SDK object type: LengthValidator
Indicates that the content needs to be validated against length criteria defined in this object
maxLength integer no

The maximum allowed length

minLength integer no

The minimum allowed length

luhn object no SDK object type: EmptyValidator
Indicates that the content needs to be validated using a LUHN check
object no SDK object type: RangeValidator
Indicates that the content needs to be validated against a, in this object, defined range
maxValue integer no

Upper value of the range that is still valid