Server API version 1.0
Java

icon-search-large

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 properties will be required depending on the payment product.

Currently, only payment products Bancontact (3012), PayPal (840) and card payments that make use of 2-step 3D Secure 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.

If 2-Step 3D Secure is used for a card payment, the automatic authorization of funds will be disabled. Instead, the payment status will be PENDING_COMPLETION after the 3D Secure step. During this status you can call complete payment to authorize the payment. Once you have asked us to complete the payment, the authorization of the card will take place using the authentication data that was captured.

PayloadCompletePaymentRequest

Properties
Property Type Required Details
cardPaymentMethodSpecificInput object depends read close
close

Description

Object containing the specific input details for card payments
  • SDK Object type
    CompletePaymentCardPaymentMethodSpecificInput
close

Description

Object containing card details
  • SDK Object type
    CardWithoutCvv
close

Description

The complete credit/debit card number (also know as the PAN). The minimum input length is 12 digits.
close

Description

Card holder's name on the card
close

Description

Expiry date of the card
Format: MMYY
close

Description

Additional address information
close

Description

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

Description

ISO 3166-1 alpha-2 country code
close

Description

House number
close

Description

Full name of the state or province
close

Description

Streetname
close

Description

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

Description

Order object containing order related data
  • SDK Object type
    Order
close

Description

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

Description

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

Description

Numeric code identifying the agent
close

Description

Airline numeric code
close

Description

Date of the Flight
Format: YYYYMMDD
close

Description

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

Description

Reservation Booking Designator
close

Description

Arrival airport/city code
close

Description

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

Description

IATA carrier code
close

Description

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

Description

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

Description

Date of the leg
Format: YYYYMMDD
close

Description

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

Description

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

Description

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

Description

Fare of this leg
close

Description

Fare Basis/Ticket Designator
close

Description

Fee for this leg of the trip
close

Description

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

Description

Sequence number of the flight leg
close

Description

Origin airport/city code
close

Description

PassengerClass if this leg
close

Description

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

Description

Taxes for this leg of the trip
close

Description

Airline tracing number
close

Description

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

Description

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

Description

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

Description

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

Description

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

Description

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

Description

Name of the airline
close

Description

Name of passenger
close

Description

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

Description

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

Description

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

Description

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

Description

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

Description

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

Description

Passenger name record
close

Description

IATA point of sale name
close

Description

city code of the point of sale
close

Description

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

Description

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

Description

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

Description

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

Description

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

Description

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

Description

Amount in cents and always having 2 decimals
close

Description

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

Description

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

Description

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

Description

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

Description

Amount in cents and always having 2 decimals
close

Description

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

Description

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

Description

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

Description

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

Description

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

Description

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

Description

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

Description

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

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

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

close

Description

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

Description

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

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

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

close

Description

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

Description

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

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

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

close

Description

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

Description

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

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

close

Description

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

Description

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

Description

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

Description

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

Description

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

Description

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

Description

Object containing billing address details
  • SDK Object type
    Address
close

Description

Additional address information
close

Description

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

Description

ISO 3166-1 alpha-2 country code
close

Description

House number
close

Description

Full name of the state or province
close

Description

Streetname
close

Description

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

Description

Object containing company information
  • SDK Object type
    CompanyInformation
close

Description

Name of company, as a customer
close

Description

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

Description

Email address of the customer
close

Description

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

Description

Phone number of the customer
close

Description

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

Description

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

Description

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

Description

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

Description

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

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

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

close

Description

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

Description

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

Description

true =Java is enabled in the browser

false = Java is not enabled in the browser

Value is returned from the navigator.javaEnabled property.

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

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

close

Description

true = JavaScript is enabled in the browser

false = JavaScript is not enabled in the browser

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

close

Description

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

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

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

close

Description

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

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

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

close

Description

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

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

close

Description

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

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

close

Description

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

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

close

Description

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

Description

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

Description

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

Description

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

Description

The date of birth of the customer
Format: YYYYMMDD
close

Description

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

Description

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

Description

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

Description

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

Description

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

Description

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

Description

Additional address information
close
Deprecated

Description

City
close
Deprecated

Description

ISO 3166-1 alpha-2 country code
close
Deprecated

Description

House number
close
Deprecated

Description

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

Description

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

Description

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

Description

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

Description

Title of customer
close
Deprecated

Description

Full name of the state or province
close
Deprecated

Description

Streetname
close
Deprecated

Description

Zip code
close
Deprecated
  • SDK Object type
    LineItem
close
Deprecated

Description

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

Description

Amount in cents and always having 2 decimals
close
Deprecated

Description

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

Description

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

Description

Shopping cart item description
close
Deprecated

Description

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

Description

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

Description

Quantity of the item
close
Deprecated

Description

Price per item
close
Deprecated

Description

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

Description

Total amount for the line item
close
Deprecated

Description

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

Description

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

Description

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

Description

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

Description

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

Description

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

Description

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

Description

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

Description

Total amount for the line item
close
Deprecated

Description

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

Description

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

Description

The name of the product.
close
Deprecated

Description

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

Description

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

Description

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

Description

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

Description

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

Description

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

Description

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

Description

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

Description

Additional address information
close
Deprecated

Description

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

Description

ISO 3166-1 alpha-2 country code
close
Deprecated

Description

House number
close
Deprecated

Description

Full name of the state or province
close
Deprecated

Description

Streetname
close
Deprecated

Description

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

Description

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

Description

Object containing address information
  • SDK Object type
    AddressPersonal
close

Description

Additional address information
close

Description

City
close

Description

ISO 3166-1 alpha-2 country code
close

Description

House number
close

Description

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

Description

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

Description

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

Description

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

Description

Title of customer
close

Description

Full name of the state or province
close

Description

Streetname
close

Description

Zip code
close

Description

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

Description

Email address linked to the shipping
close

Description

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

Description

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

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

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

close

Description

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

Description

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

Description

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

Description

Amount in cents and always having 2 decimals
close

Description

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

Description

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

Description

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

Description

Amount in cents and always having 2 decimals
close

Description

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

Description

Number of gift cards that are purchased through this transaction
close

Description

Shopping cart data
close
  • SDK Object type
    LineItem
close

Description

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

Description

Amount in cents and always having 2 decimals
close

Description

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

Description

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

Description

Shopping cart item description
close

Description

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

Description

Page number for printed invoice
Should be a numeric string
close

Description

Quantity of the item
close

Description

Price per item
close
Deprecated

Description

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

Description

Total amount for the line item
close
Deprecated

Description

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

Description

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

Description

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

Description

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

Description

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

Description

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

Description

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

Description

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

Description

Total amount for the line item
close

Description

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

Description

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

Description

The name of the product.
close

Description

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

Description

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

Description

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

Description

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

Description

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

Request example

SDK: Java

This scenario you will probably use the most

  • CardWithoutCvv card = new CardWithoutCvv();
    card.setCardNumber("67030000000000003");
    card.setCardholderName("Wile E. Coyote");
    card.setExpiryDate("1299");
    
    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.

Properties
Property Type Required Details
creationOutput object no read close
close

Description

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

Description

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

Description

ID of the token
close

Description

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

Description

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

Description

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

Description

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

Description

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

Description

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

Description

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

Description

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

Description

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

Description

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

Description

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

Description

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

Description

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

Description

The maximum allowed length
close

Description

The minimum allowed length
close

Description

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

Description

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

Description

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

Description

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

Description

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

Description

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

Description

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

Description

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

Description

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

Description

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

Description

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

Description

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

Description

The ID of the display element.
close

Description

The label of the display element.
close

Description

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

Description

the value of the display element.
close

Description

Value corresponding to the key
close

Description

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

Description

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

Description

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

Description

A placeholder value for the form element
close

Description

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

Description

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

Description

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

Description

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

Description

The ID of the field
close

Description

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

Description

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

Description

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

Description

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

Description

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

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

This instructions page rendering service accepts the following parameters:

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

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

close

Description

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

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

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

Description

Name of the key or property
close

Description

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

Description

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

Description

Our unique payment transaction identifier.
close

Description

Object containing payment details
  • SDK Object type
    PaymentOutput
close

Description

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

Description

Amount in cents and always having 2 decimals
close

Description

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

Description

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

Description

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

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

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

close

Description

Card Authorization code as returned by the acquirer
close

Description

Object containing card details
  • SDK Object type
    CardEssentials
close

Description

The complete credit/debit card number
close

Description

Expiry date of the card
Format: MMYY
close

Description

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

Description

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

Description

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

Description

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

Description

3D Secure results object
  • SDK Object type
    ThreeDSecureResults
close

Description

Identifier of the authenticated transaction at the ACS/Issuer
close

Description

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

Description

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

Description

Amount in cents and always having 2 decimals
close

Description

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

Description

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

Description

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

Description

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

Description

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

Description

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

Description

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

Description

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

Description

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

Description

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

Description

Identifier of the authenticated transaction at the ACS/Issuer
close

Description

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

Description

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

Description

Amount in cents and always having 2 decimals
close

Description

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

Description

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

Description

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

Description

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

Description

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

Description

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

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

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

close

Description

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

Description

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

Description

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

Description

Object containing card details
  • SDK Object type
    CardEssentials
close

Description

The complete credit/debit card number
close

Description

Expiry date of the card
Format: MMYY
close

Description

Additional address information
close

Description

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

Description

ISO 3166-1 alpha-2 country code
close

Description

House number
close

Description

Full name of the state or province
close

Description

Streetname
close

Description

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

Description

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

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

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

close

Description

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

Description

Additional address information
close

Description

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

Description

ISO 3166-1 alpha-2 country code
close

Description

House number
close

Description

Full name of the state or province
close

Description

Streetname
close

Description

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

Description

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

Description

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

Description

Identification of the PayPal recurring billing agreement
close

Description

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

Description

The phone number of the PayPal account holder
close

Description

Country where the PayPal account is located
close

Description

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

Description

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

Description

First name of the PayPal account holder
close

Description

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

Description

Surname of the PayPal account holder
close

Description

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

Description

Additional address information
close

Description

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

Description

ISO 3166-1 alpha-2 country code
close

Description

House number
close

Description

Full name of the state or province
close

Description

Streetname
close

Description

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

Description

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

Description

Possible values:
  • Eligible
  • PartiallyEligible
  • Ineligible
close

Description

Possible values:
  • ItemNotReceivedEligible
  • UnauthorizedPaymentEligible
  • Ineligible
close

Description

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

Description

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

Description

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

Description

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

Description

Unique reference to a Mandate
close

Description

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

Description

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

Description

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

Description

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

Description

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

Description

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

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

Description

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

Description

Custom object contains the set of errors
close

Description

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

Description

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

Description

Error code
close

Description

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

Description

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

Description

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

Description

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

Description

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

Description

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

Description

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

Description

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

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

Description

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

Response example

SDK: 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" : "1299"
                    },
                    "threeDSecureResults" : {
                        "authenticationAmount" : {
                            "currencyCode" : "EUR",
                            "amount" : 290081
                        }
                    }
                }
            },
            "status" : "REDIRECTED",
            "statusOutput" : {
                "isCancellable" : false,
                "statusCategory" : "PENDING_PAYMENT",
                "statusCode" : 0,
                "isAuthorized" : false,
                "isRefundable" : false
            }
        }
    }
    

Response 400 - Bad requestErrorResponse

The given payment was not completable.

Properties
Property Type Required Details
errorId string yes read close
close

Description

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

Description

List of one or more errors
close

Description

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

Description

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

Description

Error code
close

Description

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

Description

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

Description

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

Description

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

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