Server API version 1.0
Java

Results for

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

Create payout

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

Payouts

Our payout service allows you to easily transfer money directly into a bank account of your choice.

Before we can process your payout request you will need to pre-fund the total amount of money you want to payout.
For more information about payouts please click here.

Request

This REST service creates a new payout. A payoutID is returned in the response along with payout details.

Create payout supports idempotent requests

PayloadCreatePayoutRequest

      Property Type Required Description
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 no,

one of group

Deprecated: Use bankTransferPayoutMethodSpecificInput.bankAccountBban instead
SDK object type: BankAccountBban
Object containing account holder name and bank account information. This field can only be used for payouts in the UK. Either a BBAN account or an IBAN account should be provided, but not both
accountHolderName string (30) depends

Name of the account holder
Depends on: Required for Create and Update token calls for ACH (730).

accountNumber string (30) depends

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

bankCode string (15) depends

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

bankName string (40) no

Name of the bank

branchCode string (15) no

Branch code

checkDigit string (2) no

Bank check digit

countryCode string (2) no

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

object no,

one of group

Deprecated: Use bankTransferPayoutMethodSpecificInput.bankAccountIban instead
SDK object type: BankAccountIban
Object containing account holder and IBAN information. Either a BBAN account or an IBAN account should be provided, but not both
accountHolderName string (30) depends

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

iban string (50) depends

The IBAN is the International Bank Account Number. It is an internationally agreed format for the BBAN and includes the ISO country code and two check digits.
Depends on: Required for the creation of a Payout
Required for Create and Update token.
Required for payments with product 9000 in Austria (AT) and Germany (DE).
Required for Create mandate and Create payment with mandate calls

object no,

one of group

SDK object type: BankTransferPayoutMethodSpecificInput
Object containing the specific input details for bank transfer payouts.
object depends,

one of group

SDK object type: BankAccountBban
Object containing account holder name and bank account information.
If option chosen, depends on: Either a BBAN account or an IBAN account should be provided, but not both. This field can only be used for payouts in the UK.
accountHolderName string (30) depends

Name of the account holder
Depends on: Required for Create and Update token calls for ACH (730).

accountNumber string (30) depends

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

bankCode string (15) depends

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

bankName string (40) no

Name of the bank

branchCode string (15) no

Branch code

checkDigit string (2) no

Bank check digit

countryCode string (2) no

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

object depends,

one of group

SDK object type: BankAccountIban
Object containing account holder and IBAN information.
If option chosen, depends on: Either a BBAN account or an IBAN account should be provided, but not both.
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 yes SDK object type: PayoutCustomer
Object containing the details of the consumer.
object yes SDK object type: Address
Object containing address details
additionalInfo string (50) no

Additional address information

city string (40) depends

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

countryCode string (2) depends

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

houseNumber string (15) depends

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

state string (35) no

Full name of the state or province

stateCode string (9) no

State code

street string (50) depends

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

zip string (10) depends

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

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

Name of company, as a consumer

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

Email address of the consumer

emailMessageType string no

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

merchantCustomerId string (15) no

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.

object yes SDK object type: PersonalName
Object containing PersonalName object
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).

payoutDate string (8) no

Date of the payout sent to the bank by us.
Format: YYYYMMDD

payoutText string (50) yes

Text to be printed on the bank account statement of the beneficiary. The maximum allowed length might differ per country. The data will be automatically truncated to the maximum allowed length.

swiftCode string (11) no

The BIC is the Business Identifier Code, also known as SWIFT or Bank Identifier code. It is a code with an internationally agreed format to Identify a specific bank. The BIC contains 8 or 11 positions: the first 4 contain the bank code, followed by the country code and location code.

object no,

one of group

SDK object type: CardPayoutMethodSpecificInput
Object containing the specific input details for card payouts.
object yes SDK object type: Card
Object containing the card details.
cardNumber string (19) depends

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

cardholderName string (51) no

Card holder's name on the card

cvv string (4) depends

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

expiryDate string (4) depends

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

issueNumber string (2) no

Issue number on the card (if applicable)

paymentProductId integer (5) yes

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

object no
Deprecated: Use bankTransferPayoutMethodSpecificInput.customer instead
SDK object type: PayoutCustomer
Object containing the details of the consumer.
object yes SDK object type: Address
Object containing address details
additionalInfo string (50) no

Additional address information

city string (40) depends

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

countryCode string (2) depends

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

houseNumber string (15) depends

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

state string (35) no

Full name of the state or province

stateCode string (9) no

State code

street string (50) depends

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

zip string (10) depends

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

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

Name of company, as a consumer

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

Email address of the consumer

emailMessageType string no

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

merchantCustomerId string (15) no

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.

object yes SDK object type: PersonalName
Object containing PersonalName object
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).

payoutDate string (8) no

Deprecated: Use bankTransferPayoutMethodSpecificInput.payoutDate instead
Date of the payout sent to the bank by us
Format: YYYYMMDD

payoutText string (50) no

Deprecated: Use bankTransferPayoutMethodSpecificInput.payoutText instead
Text to be printed on the bank account statement of the beneficiary. The maximum allowed length might differ per country. The data will be automatically truncated to the maximum allowed length.

object yes SDK object type: PayoutReferences
Object that holds all reference fields that are linked to this transaction
invoiceNumber string (20) no

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

merchantOrderId integer (10) no

Order Identifier generated by the merchant
Note: This does not need to have a unique value for each transaction

merchantReference string (30) yes

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.

swiftCode string (11) no

Deprecated: Use bankTransferPayoutMethodSpecificInput.swiftCode instead
The BIC is the Business Identifier Code, also known as SWIFT or Bank Identifier code. It is a code with an internationally agreed format to Identify a specific bank. The BIC contains 8 or 11 positions: the first 4 contain the bank code, followed by the country code and location code.

Request example

SDK: Java

This scenario you will probably use the most

  • AmountOfMoney amountOfMoney = new AmountOfMoney();
    amountOfMoney.setAmount(2345L);
    amountOfMoney.setCurrencyCode("EUR");
    
    BankAccountIban bankAccountIban = new BankAccountIban();
    bankAccountIban.setAccountHolderName("Wile E. Coyote");
    bankAccountIban.setIban("IT60X0542811101000000123456");
    
    Address address = new Address();
    address.setCity("Burbank");
    address.setCountryCode("US");
    address.setHouseNumber("411");
    address.setState("California");
    address.setStreet("N Hollywood Way");
    address.setZip("91505");
    
    CompanyInformation companyInformation = new CompanyInformation();
    companyInformation.setName("Acme Labs");
    
    ContactDetailsBase contactDetails = new ContactDetailsBase();
    contactDetails.setEmailAddress("wile.e.coyote@acmelabs.com");
    
    PersonalName name = new PersonalName();
    name.setFirstName("Wile");
    name.setSurname("Coyote");
    name.setSurnamePrefix("E.");
    name.setTitle("Mr.");
    
    PayoutCustomer customer = new PayoutCustomer();
    customer.setAddress(address);
    customer.setCompanyInformation(companyInformation);
    customer.setContactDetails(contactDetails);
    customer.setName(name);
    
    BankTransferPayoutMethodSpecificInput bankTransferPayoutMethodSpecificInput = new BankTransferPayoutMethodSpecificInput();
    bankTransferPayoutMethodSpecificInput.setBankAccountIban(bankAccountIban);
    bankTransferPayoutMethodSpecificInput.setCustomer(customer);
    bankTransferPayoutMethodSpecificInput.setPayoutDate("20150102");
    bankTransferPayoutMethodSpecificInput.setPayoutText("Payout Acme");
    bankTransferPayoutMethodSpecificInput.setSwiftCode("swift");
    
    PayoutReferences references = new PayoutReferences();
    references.setMerchantReference("AcmeOrder001");
    
    CreatePayoutRequest body = new CreatePayoutRequest();
    body.setAmountOfMoney(amountOfMoney);
    body.setBankTransferPayoutMethodSpecificInput(bankTransferPayoutMethodSpecificInput);
    body.setReferences(references);
    
    try {
    	PayoutResponse response = client.merchant("merchantId").payouts().create(body);
    } catch (DeclinedPayoutException e) {
    	handleDeclinedPayout(e.getPayoutResult());
    } catch (ApiException e) {
    	handleApiErrors(e.getErrors());
    }
    
  • AmountOfMoney amountOfMoney = new AmountOfMoney();
    amountOfMoney.setAmount(2345L);
    amountOfMoney.setCurrencyCode("EUR");
    
    BankAccountIban bankAccountIban = new BankAccountIban();
    bankAccountIban.setAccountHolderName("Wile E. Coyote");
    bankAccountIban.setIban("***************************");
    
    Address address = new Address();
    address.setCity("Burbank");
    address.setCountryCode("US");
    address.setStreet("N Hollywood Way");
    
    PersonalName name = new PersonalName();
    name.setSurname("Coyote");
    
    PayoutCustomer customer = new PayoutCustomer();
    customer.setAddress(address);
    customer.setName(name);
    
    BankTransferPayoutMethodSpecificInput bankTransferPayoutMethodSpecificInput = new BankTransferPayoutMethodSpecificInput();
    bankTransferPayoutMethodSpecificInput.setBankAccountIban(bankAccountIban);
    bankTransferPayoutMethodSpecificInput.setCustomer(customer);
    bankTransferPayoutMethodSpecificInput.setPayoutText("Payout Acme");
    
    PayoutReferences references = new PayoutReferences();
    references.setMerchantReference("AcmeOrder001");
    
    CreatePayoutRequest body = new CreatePayoutRequest();
    body.setAmountOfMoney(amountOfMoney);
    body.setBankTransferPayoutMethodSpecificInput(bankTransferPayoutMethodSpecificInput);
    body.setReferences(references);
    
    try {
    	PayoutResponse response = client.merchant("merchantId").payouts().create(body);
    } catch (DeclinedPayoutException e) {
    	handleDeclinedPayout(e.getPayoutResult());
    } catch (ApiException e) {
    	handleApiErrors(e.getErrors());
    }
    

Responses

Please find below an overview of the possible responses.

Response 201 - CreatedPayoutResponse

For every successfully created payout a HTTP 201 response is returned.

      Property Type Required Description
id string no

Our unique payout transaction identifier.

object no SDK object type: OrderOutput
Object containing payout 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

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 payouts in a human-readable form. Possible values are :
  • CREATED - The transaction has been created. This is the initial state once a new payout is created.
  • PENDING_APPROVAL - The transaction is awaiting approval from you to proceed with the paying out of the funds
  • REJECTED - The transaction has been rejected
  • PAYOUT_REQUESTED - The transaction is in the queue to be payed out to the consumer
  • ACCOUNT_CREDITED - We have successfully credited the consumer
  • REJECTED_CREDIT - The credit to the account of the consumer was rejected by the bank
  • CANCELLED - You have cancelled the transaction
  • REVERSED - The payout has been reversed and the money is returned to your balance

Please see Statuses for a full overview of possible values.

object no SDK object type: OrderStatusOutput
This object has the numeric representation of the current payout status, timestamp of last status change and performable action on the current payout resource.
In case of a rejected payout, 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

isCancellable boolean no

Flag indicating if the payment can be cancelled
  • 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

  • {
        "id" : "00000088970012412217000-100001",
        "payoutOutput" : {
            "amountOfMoney" : {
                "amount" : 2345,
                "currencyCode" : "EUR"
            },
            "references" : {
                "paymentReference" : "0",
                "merchantReference" : "2006101135"
            }
        },
        "status" : "PENDING_APPROVAL",
        "statusOutput" : {
            "isCancellable" : false,
            "statusCode" : 600,
            "statusCodeChangeDateTime" : "20130605110207"
        }
    }
    

Response 400 - Bad requestPayoutErrorResponse

In case your request was not correct, like when you did not provide all the required fields, you will get a 400 response.

       Property Type Required Description
errorId string yes

Unique reference, for debugging purposes, of this error response

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

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

code string yes

Error code

httpStatusCode integer no

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

id string no

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

message string no

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

propertyName string no

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

requestId string no

ID of the request that can be used for debugging purposes

object no SDK object type: PayoutResult
Object that contains details on the created payout in case one has been created
id string no

Our unique payout transaction identifier

object no SDK object type: OrderOutput
Object containing payout 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

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 payouts in a human-readable form. Possible values are :
  • CREATED - The transaction has been created. This is the initial state once a new payout is created.
  • PENDING_APPROVAL - The transaction is awaiting approval from you to proceed with the paying out of the funds
  • REJECTED - The transaction has been rejected
  • PAYOUT_REQUESTED - The transaction is in the queue to be payed out to the consumer
  • ACCOUNT_CREDITED - We have successfully credited the consumer
  • REJECTED_CREDIT - The credit to the account of the consumer was rejected by the bank
  • CANCELLED - You have cancelled the transaction
  • REVERSED - The payout has been reversed and the money is returned to your balance

Please see Statuses for a full overview of possible values.

object no SDK object type: OrderStatusOutput
This object has the numeric representation of the current payout status, timestamp of last status change and performable action on the current payout resource.
In case of a rejected payout, 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

isCancellable boolean no

Flag indicating if the payment can be cancelled
  • 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

  • {
        "errorId" : "15eabcd5-30b3-479b-ae03-67bb351c07e6-00000092",
        "errors" : [
            {
                "code" : "20000000",
                "propertyName" : "bankAccountIban.accountHolderName",
                "message" : "PARAMETER_NOT_FOUND_IN_REQUEST"
            }
        ],
        "payoutResult" : {
            "id" : "00000088970012412217000-100001",
            "payoutOutput" : {
                "amountOfMoney" : {
                    "amount" : 2345,
                    "currencyCode" : "EUR"
                },
                "references" : {
                    "paymentReference" : "0",
                    "merchantReference" : "AcmeOrder0001"
                }
            },
            "status" : "REJECTED",
            "statusOutput" : {
                "errors" : [
                    {
                        "code" : "20000000",
                        "message" : "PARAMETER_NOT_FOUND_IN_REQUEST"
                    }
                ],
                "isCancellable" : false,
                "statusCode" : 600,
                "statusCodeChangeDateTime" : "20130605110207"
            }
        }
    }
    
icon_top_1