Server API version 1.0
Java

Results for

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

Complete payment

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

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

Certain payment products use a two-step process to collect the required information to perform a payment. In these cases, the first step is to create a payment, the second is to complete it by calling this API. This API accepts a full payment object, but only specific fields will be required depending on the payment product.

Currently, only payment products Bancontact (3012) and PayPal (840) use this flow.

For Bancontact the enhanced flow needs to be enabled, which allows consumers to pay via the Bancontact app. In this flow, you call Complete payment if the consumer does not use the app but enters the card details on your payment page.

For PayPal this API is used in the Express Checkout Shortcut flow that allows consumers to pre-select PayPal earlier in the checkout flow. This makes it possible for you to use billing and shipping details that are stored at PayPal. It separates the authentication of the user at PayPal from the transaction processing, which can then be done in the background. You call Complete payment when the redirect to PayPal was finished successful and you have all the right data (amounts) and are ready to capture the transaction.

PayloadCompletePaymentRequest

        Property Type Required Description
object yes SDK object type: CompletePaymentCardPaymentMethodSpecificInput
Object containing the specific input details for card payments
object yes SDK object type: CardWithoutCvv
Object containing card details
cardNumber string (19) depends

The complete credit/debit card number (also know as the PAN)
Depends on: Required for Create and Update token.

cardholderName string (51) no

Card holder's name on the card

expiryDate string (4) depends

Expiry date of the card
Format: MMYY
Depends on: Required for Create and Update token.

issueNumber string (2) no

Issue number on the card (if applicable)

object no SDK object type: Order
Order object containing order related data
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
Note: For payments with product 1503 the maximum length is not 40 but 20.
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
Note: For payments with product 1503 the maximum length is not 9 but 2.

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
Note: For payments with product 1503 the maximum length is not 10 but 8.
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 (6) 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 e-Przelewy - 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
Note: For payments with product 1503 the maximum length is not 40 but 20.
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
Note: For payments with product 1503 the maximum length is not 9 but 2.

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
Note: For payments with product 1503 the maximum length is not 10 but 8.
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.
  • HANDLING - Handling cost on the entire transaction, with the last 2 digits implied as decimal places.
  • SHIPPING - Shipping cost on the entire transaction, with the last 2 digits implied as decimal places.
  • TAX - Total tax paid on the entire transaction, with the last 2 digits implied as decimal places.
  • VAT - Total amount of VAT paid on the transaction, with the last 2 digits implied as decimal places.
  • BASE_AMOUNT - Order amount excluding all taxes, discount & shipping costs, with the last 2 digits implied as decimal places. Note: BASE_AMOUNT is only supported by the Ogone Payment Platform.

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

  • CardWithoutCvv card = new CardWithoutCvv();
    card.setCardNumber("67030000000000003");
    card.setCardholderName("Wile E. Coyote");
    card.setExpiryDate("1220");
    
    CompletePaymentCardPaymentMethodSpecificInput cardPaymentMethodSpecificInput = new CompletePaymentCardPaymentMethodSpecificInput();
    cardPaymentMethodSpecificInput.setCard(card);
    
    CompletePaymentRequest body = new CompletePaymentRequest();
    body.setCardPaymentMethodSpecificInput(cardPaymentMethodSpecificInput);
    
    CompletePaymentResponse response = client.merchant("merchantId").payments().complete("paymentId", body);
    

Responses

Please find below an overview of the possible responses.

Response 200 - OKCompletePaymentResponse

The complete request was processed successfully. The status of the payment can be found in the response.

            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

tokenizationSucceeded boolean no

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

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

token string no

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

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
Note: For payments with product 1503 the maximum length is not 40 but 20.
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
Note: For payments with product 1503 the maximum length is not 9 but 2.

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
Note: For payments with product 1503 the maximum length is not 10 but 8.
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.

token string no

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

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" : {
            "isNewToken" : true,
            "token" : "36ccec55-ecf5-42a3-b384-f08bdb05d952",
            "tokenizationSucceeded" : true
        },
        "merchantAction" : {
            "actionType" : "REDIRECT",
            "redirectData" : {
                "RETURNMAC" : "ac8fa7e3-c1d2-4154-90bc-7ca2a8fc50e2",
                "redirectURL" : "https://pay1.secured-by-ingenico.com/redirector/8342e656-2d00-40bd-bdf7-20cf2848decc"
            }
        },
        "payment" : {
            "id" : "2712689_0",
            "paymentOutput" : {
                "amountOfMoney" : {
                    "amount" : 290081,
                    "currencyCode" : "EUR"
                },
                "references" : {
                    "merchantReference" : "2254b457-b8e3-4fb7-96d0-dbb28c7921c1"
                },
                "paymentMethod" : "card",
                "cardPaymentMethodSpecificOutput" : {
                    "paymentProductId" : 3012,
                    "card" : {
                        "cardNumber" : "670300-XXXXXXXX-03",
                        "expiryDate" : "1220"
                    }
                }
            },
            "status" : "REDIRECTED",
            "statusOutput" : {
                "isCancellable" : false,
                "statusCategory" : "PENDING_PAYMENT",
                "statusCode" : 0,
                "isAuthorized" : false,
                "isRefundable" : false
            }
        }
    }
    

Response 400 - Bad requestErrorResponse

The given payment was not completable.

     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

Response example

SDK: Java

This scenario you will probably use the most

  • {
        "errorId" : "15eabcd5-30b3-479b-ae03-67bb351c07e6-00000092",
        "errors" : [
            {
                "code" : "20000000",
                "propertyName" : "bankAccountBban.accountNumber",
                "message" : "PARAMETER_NOT_FOUND_IN_REQUEST"
            }
        ]
    }
    
icon_top_1