CyberSource Payouts API

A payout enables an originator to send funds on behalf of itself, merchants, or customers to credit card accounts using an Original Credit Transaction (OCT). An originator is a merchant, government entity, or corporation with a merchant account from an acquiring bank.

Operations 1

POST /pts/v2/payouts Process a Payout #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/cybersource-payouts-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

cybersource-payouts-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: All CyberSource API specs merged together. These are available at https://developer.cybersource.com/api/reference/api-reference.html
  version: 0.0.1
  title: CyberSource Merged Spec bankAccountValidation Payouts API
servers:
- url: https://apitest.cybersource.com/
tags:
- name: Payouts
  description: 'A payout enables an originator to send funds on behalf of itself, merchants, or customers to credit card

    accounts using an Original Credit Transaction (OCT). An originator is a merchant, government entity, or

    corporation with a merchant account from an acquiring bank.

    '
paths:
  /pts/v2/payouts:
    post:
      summary: Process a Payout
      description: 'Send funds from a selected funding source to a designated credit/debit card account or a prepaid card using an Original Credit Transaction (OCT).

        The availability of API features for a merchant can depend on the portfolio configuration and may need to be enabled at the portfolio level before they can be added to merchant accounts.

        '
      tags:
      - Payouts
      operationId: octCreatePayment
      x-devcenter-metaData:
        categoryTag: Payouts
        isMLEsupported: true
        mleForRequest: optional
      responses:
        '201':
          description: Successful response.
          content:
            application/hal+json;charset=utf-8:
              schema:
                title: ptsV2PayoutsPost201Response
                example:
                  _links:
                    self:
                      href: /pts/v2/payouts/5287556536256000401540
                      method: GET
                  clientReferenceInformation:
                    code: '1528755653559'
                  id: '5287556536256000401540'
                  orderInformation:
                    amountDetails:
                      totalAmount: '100.00'
                      currency: USD
                  processorInformation:
                    systemTraceAuditNumber: '897596'
                    approvalCode: '831000'
                    transactionId: 016153570198200
                    responseCode: '00'
                    responseCodeSource: '5'
                  issuerInformation:
                    serviceProcessingType: '00'
                    octDomesticParticipantIndicator: true
                    octCrossBorderParticipantIndicator: true
                    octMoneyTransferDomesticIndicator: true
                    octMoneyTransferCrossBorderIndicator: true
                    octMoneyTransferFastFundsDomesticIndicator: true
                    octMoneyTransferFastFundsCrossBorderIndicator: false
                    octNonMoneyTransferDomesticIndicator: true
                    octNonMoneyTransferCrossBorderIndicator: false
                    octNonMoneyTransferFastFundsDomesticIndicator: true
                    octNonMoneyTransferFastFundsCrossBorderIndicator: false
                    octOnlineGamblingDomesticIndicator: false
                    octOnlineGamblingCrossBorderIndicator: false
                    octOnlineGamblingFastFundsDomesticIndicator: false
                    octOnlineGamblingFastFundsCrossBorderIndicator: false
                    octMoneyTransferMerchantCountryRestricted: false
                  reconciliationId: 1087488702VIAQNSPQ
                  status: ACCEPTED
                  submitTimeUtc: 2018-06-11T222054Z
                type: object
                properties:
                  _links:
                    type: object
                    properties:
                      self:
                        type: object
                        properties:
                          href:
                            type: string
                            description: This is the endpoint of the resource that was created by the successful request.
                          method:
                            type: string
                            description: '`method` refers to the HTTP method that you can send to the `self` endpoint to retrieve details of the resource.'
                  id:
                    type: string
                    maxLength: 26
                    description: 'An unique identification number generated by Cybersource to identify the submitted request. Returned by all services.

                      It is also appended to the endpoint of the resource.

                      On incremental authorizations, this value with be the same as the identification number returned in the original authorization response.

                      '
                  submitTimeUtc:
                    type: string
                    description: 'Time of request in UTC. `Format: YYYY-MM-DDThh:mm:ssZ`


                      Example 2016-08-11T22:47:57Z equals August 11, 2016, at 22:47:57 (10:47:57 p.m.). The T separates the date and the

                      time. The Z indicates UTC.

                      '
                  status:
                    type: string
                    description: "The status of the submitted transaction.\n\nPossible values:\n - ACCEPTED\n - DECLINED\n - INVALID_REQUEST\n"
                  reconciliationId:
                    type: string
                    maxLength: 25
                    description: 'Cybersource or merchant generated transaction reference number. This is sent to the processor and is echoed back in the response to the merchant. This is

                      This value is used for reconciliation purposes.

                      '
                  errorInformation:
                    type: object
                    properties:
                      reason:
                        type: string
                        description: "The reason of the status.\n\nPossible values:\n - EXPIRED_CARD\n - PROCESSOR_DECLINED\n - STOLEN_LOST_CARD\n - UNAUTHORIZED_CARD\n - CVN_NOT_MATCH\n - INVALID_CVN\n - BLOCKED_BY_CARDHOLDER\n - BLACKLISTED_CUSTOMER\n - INVALID_ACCOUNT\n - GENERAL_DECLINE\n - RISK_CONTROL_DECLINE\n - PROCESSOR_RISK_CONTROL_DECLINE\n - ALLOWABLE_PIN_RETRIES_EXCEEDED\n - PROCESSOR_ERROR\n"
                      message:
                        type: string
                        description: The detail message related to the status and reason listed above.
                      details:
                        type: array
                        items:
                          type: object
                          properties:
                            field:
                              type: string
                              description: This is the flattened JSON object field name/path that is either missing or invalid.
                            reason:
                              type: string
                              description: "Possible reasons for the error.\n\nPossible values:\n - MISSING_FIELD\n - INVALID_DATA\n"
                  clientReferenceInformation:
                    type: object
                    properties:
                      code:
                        type: string
                        maxLength: 59
                        description: 'Merchant-generated order reference or tracking number. It is recommended that you send a unique value for each

                          transaction so that you can perform meaningful searches for the transaction.


                          #### Used by

                          **Authorization**

                          Required field.


                          #### PIN Debit

                          Requests for PIN debit reversals need to use the same merchant reference number that was used in the transaction that is being

                          reversed.


                          Required field for all PIN Debit requests (purchase, credit, and reversal).


                          #### FDC Nashville Global

                          Certain circumstances can cause the processor to truncate this value to 15 or 17 characters for Level II and Level III processing, which can cause a discrepancy between the value you submit and the value included in some processor reports.

                          '
                      submitLocalDateTime:
                        type: string
                        maxLength: 14
                        description: 'Date and time at your physical location.


                          Format: `YYYYMMDDhhmmss`, where YYYY = year, MM = month, DD = day, hh = hour, mm = minutes ss = seconds


                          #### PIN Debit

                          Optional field for PIN Debit purchase and credit requests.

                          '
                      ownerMerchantId:
                        type: string
                        description: 'Merchant ID that was used to create the subscription or customer profile for which the service was requested.


                          If your CyberSource account is enabled for Recurring Billing, this field is returned only if you are using

                          subscription sharing and if your merchant ID is in the same merchant ID pool as the owner merchant ID.


                          If your CyberSource account is enabled for Payment Tokenization, this field is returned only if you are using

                          profile sharing and if your merchant ID is in the same merchant ID pool as the owner merchant ID.

                          '
                  merchantInformation:
                    type: object
                    properties:
                      merchantDescriptor:
                        properties:
                          name:
                            type: string
                            description: 'Your merchant name.


                              **Note** For Paymentech processor using Cybersource Payouts, the maximum data length is 22.


                              #### PIN debit

                              Your business name. This name is displayed on the cardholder''s statement. When you

                              include more than one consecutive space, extra spaces are removed.


                              When you do not include this value in your PIN debit request, the merchant name from your account is used.

                              **Important** This value must consist of English characters.


                              Optional field for PIN debit credit or PIN debit purchase requests.


                              #### Airline processing

                              Your merchant name. This name is displayed on the cardholder''s statement. When you include more than one consecutive space, extra spaces are removed.


                              **Note** Some airline fee programs may require the original ticket number (ticket identifier) or the ancillary service description in positions 13 through 23 of this field.


                              **Important** This value must consist of English characters.


                              Required for captures and credits.

                              '
                          locality:
                            type: string
                            maxLength: 30
                            description: 'Merchant''s City.


                              #### PIN debit

                              City for your business location. This value might be displayed on the cardholder''s statement.


                              When you do not include this value in your PIN debit request, the merchant name from your account is used.

                              **Important** This value must consist of English characters.


                              Optional field for PIN debit credit or PIN debit purchase requests.

                              '
                          country:
                            type: string
                            maxLength: 3
                            description: 'Merchant''s country.


                              #### PIN debit

                              Country code for your business location. Use the [ISO Standard Country Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)

                              This value might be displayed on the cardholder''s statement.


                              When you do not include this value in your PIN debit request, the merchant name from your account is used.

                              **Important** This value must consist of English characters.

                              **Note** If your business is located in the U.S. or Canada and you include this field in a

                              request, you must also include `merchantInformation.merchantDescriptor.administrativeArea`.


                              Optional field for PIN debit credit or PIN debit purchase.

                              '
                  orderInformation:
                    type: object
                    properties:
                      amountDetails:
                        type: object
                        properties:
                          totalAmount:
                            type: string
                            maxLength: 19
                            description: "Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters.\nCyberSource truncates the amount to the correct number of decimal places.\n\n**Note** For CTV, FDCCompass, Paymentech processors, the maximum length for this field is 12.\n\n**Important** Some processors have specific requirements and limitations, such as maximum amounts and maximum field lengths.\n\nIf your processor supports zero amount authorizations, you can set this field to 0 for the authorization to check if the card is lost or stolen. \n\n#### Card Present\nRequired to include either this field or `orderInformation.lineItems[].unitPrice` for the order.\n\n#### Invoicing / Pay By Link\nRequired for creating a new invoice or payment link.\n\n#### PIN Debit\nAmount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount.\n\nRequired field for PIN Debit purchase and PIN Debit credit requests.\nOptional field for PIN Debit reversal requests.\n\n#### GPX\nThis field is optional for reversing an authorization or credit; however, for all other processors, these fields are required.\n\n#### DCC with a Third-Party Provider\nSet this field to the converted amount that was returned by the DCC provider. You must include either this field or the 1st line item in the order and the specific line-order amount in your request. \n\n#### DCC for First Data\nNot used.\n"
                          currency:
                            type: string
                            maxLength: 3
                            description: 'Currency used for the order. Use the three-character [ISO Standard Currency Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf)


                              #### Used by

                              **Authorization**

                              Required field.


                              **Authorization Reversal**

                              For an authorization reversal (`reversalInformation`) or a capture (`processingOptions.capture` is set to `true`), you must use the same currency that you used in your payment authorization request.


                              #### PIN Debit

                              Currency for the amount you requested for the PIN debit purchase. This value is returned for partial authorizations. The issuing bank can approve a partial amount if the balance on the debit card is less than the requested transaction amount. For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).

                              Returned by PIN debit purchase.


                              For PIN debit reversal requests, you must use the same currency that was used for the PIN debit purchase or PIN debit credit that you are reversing.

                              For the possible values, see the [ISO Standard Currency Codes](https://developer.cybersource.com/library/documentation/sbc/quickref/currencies.pdf).


                              Required field for PIN Debit purchase and PIN Debit credit requests.

                              Optional field for PIN Debit reversal requests.


                              #### GPX

                              This field is optional for reversing an authorization or credit.


                              #### DCC for First Data

                              Your local currency.


                              #### Tax Calculation

                              Required for international tax and value added tax only.

                              Optional for U.S. and Canadian taxes.

                              Your local currency.

                              '
                          settlementAmount:
                            type: string
                            maxLength: 12
                            description: 'This is a multicurrency field. It contains the transaction amount (field 4), converted to the Currency used to bill the cardholder''s account.

                              This field is returned for OCT transactions.

                              '
                          settlementCurrency:
                            type: string
                            maxLength: 3
                            description: 'This is a multicurrency-only field. It contains a 3-digit numeric code that identifies the currency used by the issuer to bill the cardholder''s account.

                              This field is returned for OCT transactions.

                              '
                  processorInformation:
                    type: object
                    properties:
                      approvalCode:
                        type: string
                        maxLength: 6
                        description: Issuer-generated approval code for the transaction.
                      responseCode:
                        type: string
                        maxLength: 10
                        description: Transaction status from the processor.
                      transactionId:
                        type: string
                        maxLength: 40
                        description: 'Network transaction identifier (TID). This value can be used to identify a specific transaction when

                          you are discussing the transaction with your processor.

                          '
                      systemTraceAuditNumber:
                        type: string
                        maxLength: 6
                        description: 'This field is returned only for **American Express Direct** and **CyberSource through VisaNet**.

                          Returned by authorization and incremental authorization services.


                          #### American Express Direct


                          System trace audit number (STAN). This value identifies the transaction and is useful when investigating a

                          chargeback dispute.


                          #### CyberSource through VisaNet


                          System trace number that must be printed on the customer''s receipt.

                          '
                      responseCodeSource:
                        type: string
                        maxLength: 1
                        description: 'Used by Visa only and contains the response source/reason code that identifies the source of the response decision.

                          '
                      merchantAdvice:
                        type: object
                        properties:
                          code:
                            type: string
                            maxLength: 2
                            description: "- Merchant should update their retry logic to ensure retry is not attempted for the cards for which Issuer won't approve the transactions and where the retry is allowed.\n- Card Processing Associations provides this data which is being passed through in the following data element irrespective of the Card Associations.   Usage of this data must be always associated with the Card Associations card types for merchant processing retry logic.\n- In additions to the Merchant Advice code, Associations also provides the decline response codes which provides the reason for decline.  Association response code will be a pass-through value.\n\n#### Processors supported:\n  - HSBC\n  - Barclays\n  - FDC Nash\n  - FDI Global\n  - Elavon America\n  - VPC\n  - Rede\n  - Payment tech Salem\n\n\n#### Possible values:\n| Card Type   | Advice Code   |  Description                                |\n| ----------- | ------------- | ------------------------------------------- |\n| VISA        | 1             | Issuer never approves                       |\n| VISA        | 2             | Issuer cannot approve at this time          |\n| VISA        | 3             | Data quality/revalidate payment information |\n| MasterCard  | 01            | New account information available           |\n| MasterCard  | 02            | Try Again Later                             |\n| MasterCard  | 03            | Do Not Try Again                            |\n| MasterCard  | 04            | Token not supported                         |\n| MasterCard  | 21            | Do not honor                                |\n| MasterCard  | 22            | Merchant does not qualify for product code  |\n| MasterCard  | 24            | Retry after 1 hour                          |\n| MasterCard  | 25            | Retry after 24 hours                        |\n| MasterCard  | 26            | Retry after 2 days                          |\n| MasterCard  | 27            | Retry after 4 days                          |\n| MasterCard  | 28            | Retry after 6 days                          |\n| MasterCard  | 29            | Retry after 8 days                          |\n| MasterCard  | 30            | Retry after 10 days                         |\n| MasterCard  | 40            | Consumer non-reloadable prepaid card        |\n| MasterCard  | 41            | Consumer single-use virtual card number     |\n| MasterCard  | 42            | Sanctions score exceeds threshold value     |\n| MasterCard  | 99            | Do Not Try Again                            |\n\n#### Possbile values for Barclays processor:\n- 00: No information, or response not provided.\n- 01: New account information available\n- 02: Try again later\n- 03: Do not try again\n- 05: Payment blocked by the payment card company\n"
                          codeRaw:
                            type: string
                            maxLength: 4
                            description: 'Raw merchant advice code sent directly from the processor. This field is used only for Mastercard.


                              #### CyberSource through VisaNet

                              The value for this field corresponds to the following data in the TC 33 capture file1:

                              - Record: CP01 TCR7

                              - Position: 96-99

                              - Field: Response Data-Merchant Advice Code


                              #### Possbile values for Barclays processor:

                              - 01: Updated/additional information needed

                              - 02: Cannot approve at this time; try again later

                              - 04: Do not try again

                              - 08: Payment blocked by card scheme

                              '
                      avs:
                        type: object
                        properties:
                          code:
                            type: string
                            maxLength: 1
                            description: "AVS result code.\n\nCode\tDescription\n- 'Y' Full Match\n- 'A' Partial Match (street address only)\n- 'Z' Partial Match (postal/zip only)\n- 'N' Non-Match\n- 'U' Unable to Verify\n- 'R' Indeterminate Outcome (Retry)\n"
                      customer:
                        type: object
                        properties:
                          personalIdResult:
                            type: string
                            maxLength: 1
                            description: 'Personal identifier validation result.


                              Valid values:

                              - ''1'': Verified

                              - ''2'': Failed

                              - ''3'': Not performed

                              - ''4'': Issuer does not support id verification

                              '
                      electronicVerificationResults:
                        type: object
                        properties:
                          emailRaw:
                            type: string
                            maxLength: 1
                            description: 'Raw Electronic Verification response code from the processor for the customer''s email address.


                              Valid values:

                              - ''1'': Verified

                              - ''2'': Failed

                              - ''3'': Not performed

                              '
                          firstNameRaw:
                            type: string
                            maxLength: 2
                            description: 'Raw electronic verification response code from the processor for the customer''s first name.


                              Valid values:

                              - ''01'': Match

                              - ''50'': Partial Match

                              - ''99'': No Match

                              '
                          lastNameRaw:
                            type: string
                            maxLength: 2
                            description: 'Raw electronic verification response code from the processor for the customer''s last name.


                              Valid values:

                              - ''01'': Match

                              - ''50'': Partial Match

                              - ''99'': No Match

                              '
                          middleNameRaw:
                            type: string
                            maxLength: 2
                            description: 'Raw electronic verification response code from the processor for the customer''s middle name.


                              Valid values:

                              - ''01'': Match

                              - ''50'': Partial Match

                              - ''99'': No Match

                              '
                          nameRaw:
                            type: string
                            maxLength: 2
                            description: 'Raw Electronic Verification response code from the processor for the customer''s name.


                              Valid values:

                              - ''01'': Match

                              - ''50'': Partial Match

                              - ''99'': No Match

                              '
                          phoneNumberRaw:
                            type: string
                            maxLength: 1
                            description: 'Raw Electronic Verification response code from the processor for the customer''s phone number.


                              Valid values:

                              - ''1'': Verified

                              - ''2'': Failed

                              - ''3'': Not performed

                              '
                      cardVerification:
                        type: object
                        properties:
                          resultCode:
                            type: string
                            maxLength: 1
                            description: 'CVN result code.

                              '
                          resultCodeRaw:
                            type: string
                            maxLength: 10
                            description: 'CVN result code sent directly from the processor. Returned only when the processor returns this value.


                              **Important** Do not use this field to evaluate the result of card verification. Use for debugging purposes only.

                              '
                  recipientInformation:
                    type: object
                    properties:
                      card:
                        type: object
                        properties:
                          balance:
                            type: string
                            maxLength: 12
                            description: 'This field shows the available balance in the prepaid account.

                              Acquirers always receive the available balance in the transaction currency.

                              '
                          currency:
                            type: string
                            maxLength: 3
                            description: 'This field indicates the 3-letter [ISO Standard Currency Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/currencies.pdf) for the card currency.

                              '
                  issuerInformation:
                    type: object
                    properties:
                      octDomesticParticipantIndicator:
                        type: boolean
                        description: "Domestic indicator for Push funds (OCT). If no Funds Transfer Attributes Inquiry data is available\nfor this card account, the field is omitted. \n\nSupported for Visa Direct.\n"
                      octCrossBorderParticipantIndicator:
                        type: boolean
                        description: "Cross-border indicator for push funds (OCT). If no Funds Transfer Attributes Inquiry data is available\nfor this card account, the field is omitted. \n\nSupported for Visa Direct.\n"
                      octMoneyTransferDomesticIndicator:
                        type: boolean
                        description: "Indicates whether domestic money transfer OCTs (push funds) are allowed. If no Funds Transfer Attributes\nInquiry data is available for this card account, the field is omitted.\n      \nSupported for Visa Direct.\n"
                      octMoneyTransferCrossBorderIndicator:
                        type: boolean
                        description: "Indicates whether cross-border money transfer OCTs (push funds) are allowed. If no Funds Transfer Attributes\nInquiry data is available for this card account, the field is omitted. \n\nSupported for Visa Direct.\n"
                      octMoneyTransferFastFundsDomesticIndicator:
                        type: boolean
                        description: "Indicates whether domestic money transfer OCTs (fast push funds) are allowed. If no Funds Transfer Attributes\nInquiry data is available for this card account, the field is omitted. \n\nSupported for Visa Direct.\n"
                      octMoneyTransferFastFundsCrossBorderIndicator:
                        type: boolean
                        description: "Indicates whether cross-border money transfer OCTs (fast push funds) are allowed. If no Funds Transfer Attributes\nInquiry data is available for this card account, the field is omitted. \n\nSupported for Visa Direct.\n"
                      octMoneyTransferMerchantCountryRestricted:
                        type: boolean
                        description: "This field indicates if the recipient issuer can accept push funds (OCT) transactions from the merchant country. \nIf no Funds Transfer Attributes Inquiry data is available for this card account, the field is omitted. \n\nSupported for Visa Direct.\n"
                      octNonMoneyTransferDomesticIndicator:
                        type: boolean
                        description: "Indicates whether domestic non-money transfer OCTs (push funds) are allowed. If no Funds Transfer Attributes\nInquiry data is a

# --- truncated at 32 KB (154 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/cybersource/refs/heads/main/openapi/cybersource-payouts-api-openapi.yml