# Create payout transaction

Creates payout transaction for the given request

Endpoint: POST /public/payout
Version: 2.0.0
Security: bearerAuth

## Request fields (application/json):

  - `orderId` (string, required)
    Unique identifier for checkout session
    Example: "944732c4608c441aa91379478b91f76e"

  - `value` (number, required)
    Payout transaction amount
    Example: 100

  - `currency` (string, required)
    Payout transaction currency. If processor psp doesn't allow this currency but if this currency is enabled it will be automatically converted to PSP currency and final transaction currency will be set respectively.
    Example: "USD"

  - `kycVerified` (boolean, required)
    Whether or not this customer is KYC verified in your system. This flag is required to determine right PSP to process this payout.

  - `customer` (object, required)
    Customer information

  - `customer.externalUserId` (string, required)
    Your defined unique identifier for this customer.
    Example: "123456789"

  - `customer.firstName` (string, required)
    Customer first name
    Example: "John"

  - `customer.lastName` (string, required)
    Customer last name
    Example: "Doe"

  - `customer.email` (string, required)
    Customer email
    Example: "john.doe@example.com"

  - `customer.phoneNumber` (string, required)
    Customer phone number
    Example: "1 1234567890"

  - `customer.dateOfBirth` (string, required)
    Customer date of birth
    Example: "1990-12-01"

  - `customer.billing` (object, required)
    Customer billing information

  - `customer.billing.address` (string, required)
    Customer billing address
    Example: "123 Main St"

  - `customer.billing.city` (string, required)
    Customer billing city
    Example: "Atlanta"

  - `customer.billing.state` (string, required)
    Customer billing state
    Example: "GA"

  - `customer.billing.countryCode` (string, required)
    Customer billing country code (ISO 3166-1 alpha-2)
    Example: "US"

  - `customer.billing.postalCode` (string, required)
    Customer billing postal code
    Example: "30308"

  - `customer.kyc` (object)
    Customer KYC information

  - `customer.kyc.idType` (string)

  - `customer.kyc.idNumber` (string)

  - `customer.kyc.idCountry` (string)

  - `customer.kyc.idExpirationDate` (string)

  - `customer.kyc.nationality` (string)

  - `customer.kyc.countryOfBirth` (string)

  - `routerId` (string)
    Specific router ID to process transaction with.
    Example: "944732c4608c441aa91379478b91f76e"

  - `directRouteId` (string)
    Direct link route ID to process transaction with.
    Example: "944732c4608c441aa91379478b91f76e"

  - `merchantAdditionalData` (object)
    Additional data for the transaction

## Response 200 fields (application/json):

  - `payoutId` (string, required)
    Payout ID
    Example: "944732c4608c441aa91379478b91f76e"

  - `status` (string, required)
    Payout status
    Enum: "CREATED", "WAITING_FOR_CONFIRMATION", "PENDING", "PROCESSED", "REJECTED", "FAILED", "TIMEOUT"

  - `iframeUrls` (object, required)
    Payment Iframe URLs

  - `iframeUrls.card` (string, required)
    Card IFrame URL
    Example: "https://checkout.omno.com/payments/<transactionType>/<paymentId>/card"

  - `iframeUrls.apm` (string, required)
    Alternate Payment Method IFrame URL
    Example: "https://checkout.omno.com/payments/<transactionType>/<paymentId>/apm"

## Response 400 fields (application/json):

  - `errorKey` (string)

  - `errorMessage` (string)

  - `errorCode` (integer)

## Response 401 fields (application/json):

  - `errorKey` (string)

  - `errorMessage` (string)

  - `errorCode` (integer)

## Response 403 fields (application/json):

  - `errorKey` (string)

  - `errorMessage` (string)

  - `errorCode` (integer)

## Response 404 fields (application/json):

  - `errorKey` (string)

  - `errorMessage` (string)

  - `errorCode` (integer)

## Response 409 fields (application/json):

  - `errorKey` (string)

  - `errorMessage` (string)

  - `errorCode` (integer)

## Response 500 fields (application/json):

  - `errorKey` (string)

  - `errorMessage` (string)

  - `errorCode` (integer)


