Server API version 1.0
Node.js

icon-search-large

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

Properties
Property Type Required Details
amountOfMoney object yes read close
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
Deprecated

Description

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

Description

The 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

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

Name of company, as a customer
close

Description

Email address of the customer
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
Group 2 cardPayoutMethodSpecificInput object yes read close
close

Description

Object containing the specific input details for card payouts.
  • SDK Object type
    CardPayoutMethodSpecificInput
  • 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 card details.
  • SDK Object type
    Card
  • 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 complete credit/debit card number (also know as the PAN). The minimum input length is 12 digits.
The card number is always obfuscated in any of our responses
close

Description

The card holder's name on the card.
close

Description

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

Description

Expiry date of the card
Format: MMYY
close

Description

ID of the token that holds previously stored card data.
  • 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

Payment product identifier
Please see payment products for a full overview of possible values.
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
Deprecated

Description

Name of company, as a customer
close
Deprecated

Description

Email address of the customer
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
references object yes read close
close

Description

Object that holds all reference properties that are linked to this transaction
  • SDK Object type
    PayoutReferences
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.

Request example

SDK: Node.js

This scenario you will probably use the most

  • var body = {
        "bankTransferPayoutMethodSpecificInput" : {
            "payoutText" : "Payout Acme",
            "payoutDate" : "20150102",
            "swiftCode" : "swift",
            "bankAccountIban" : {
                "iban" : "IT60X0542811101000000123456",
                "accountHolderName" : "Wile E. Coyote"
            },
            "customer" : {
                "contactDetails" : {
                    "emailAddress" : "wile.e.coyote@acmelabs.com"
                },
                "companyInformation" : {
                    "name" : "Acme Labs"
                },
                "address" : {
                    "countryCode" : "US",
                    "street" : "N Hollywood Way",
                    "houseNumber" : "411",
                    "zip" : "91505",
                    "city" : "Burbank",
                    "state" : "California"
                },
                "name" : {
                    "title" : "Mr.",
                    "firstName" : "Wile",
                    "surnamePrefix" : "E.",
                    "surname" : "Coyote"
                }
            }
        },
        "amountOfMoney" : {
            "currencyCode" : "EUR",
            "amount" : 2345
        },
        "references" : {
            "merchantReference" : "AcmeOrder001"
        }
    };
    connectSdk.payouts.create("merchantId", body, null, function (error, sdkResponse) {
      // if sdkResponse is not null, it has the following properties:
      // - status: the HTTP status code
      // - body: the response body
      // - isSuccess: true if the call was successful,
      //              or false if the Ingenico ePayments platform returned an error response
    });
    
  • var body = {
        "amountOfMoney" : {
            "currencyCode" : "EUR",
            "amount" : 2345
        },
        "bankTransferPayoutMethodSpecificInput" : {
            "payoutText" : "Payout Acme",
            "bankAccountIban" : {
                "iban" : "***************************",
                "accountHolderName" : "Wile E. Coyote"
            },
            "customer" : {
                "address" : {
                    "countryCode" : "US",
                    "street" : "N Hollywood Way",
                    "city" : "Burbank"
                },
                "name" : {
                    "surname" : "Coyote"
                }
            }
        },
        "references" : {
            "merchantReference" : "AcmeOrder001"
        }
    };
    connectSdk.payouts.create("merchantId", body, null, function (error, sdkResponse) {
      // if sdkResponse is not null, it has the following properties:
      // - status: the HTTP status code
      // - body: the response body
      // - isSuccess: true if the call was successful,
      //              or false if the Ingenico ePayments platform returned an error response
    });
    

Responses

Please find below an overview of the possible responses.

Response 201 - CreatedPayoutResponse

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

Properties
Property Type Required Details
id string no read close
close

Description

Our unique payout transaction identifier.
payoutOutput object no read close
close

Description

Object containing payout details
  • SDK Object type
    OrderOutput
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

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
status enum no read close
close

Description

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 customer
  • ACCOUNT_CREDITED - We have successfully credited the customer
  • REJECTED_CREDIT - The credit to the account of the customer 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.
statusOutput object no read close
close

Description

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.
  • SDK Object type
    OrderStatusOutput
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

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

Description

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

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

Description

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

Response example

SDK: Node.js

This scenario you will probably use the most

  • {
        "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 properties, you will get a 400 response.

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'.
payoutResult object no read close
close

Description

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

Description

Our unique payout transaction identifier
close

Description

Object containing payout details
  • SDK Object type
    OrderOutput
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

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 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 customer
  • ACCOUNT_CREDITED - We have successfully credited the customer
  • REJECTED_CREDIT - The credit to the account of the customer 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.
close

Description

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.
  • SDK Object type
    OrderStatusOutput
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

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

Description

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

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

Description

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

Response example

SDK: Node.js

This scenario you will probably use the most

  • {
        "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