CyberSource Push Funds 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/v1/push-funds-transfer Process a Push Funds Transfer #

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-push-funds-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-push-funds-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 Push Funds API
servers:
- url: https://apitest.cybersource.com/
tags:
- name: Push Funds
  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/v1/push-funds-transfer:
    post:
      summary: Process a Push Funds Transfer
      description: 'Receive funds using an Original Credit Transaction (OCT).

        '
      tags:
      - Push Funds
      operationId: createPushFundsTransfer
      x-devcenter-metaData:
        categoryTag: Payouts
        firstLevelApiLifeCycle: hidden
        secondLevelApiLifeCycle: hidden
        apiLifeCycle: hidden
        developerGuides: https://developer.cybersource.com/api/developer-guides/dita-payouts/Introduction.html
        isMLEsupported: true
        mleForRequest: optional
      parameters:
      - name: Content-Type
        in: header
        required: true
        schema:
          type: string
      - name: x-requestid
        in: header
        required: true
        schema:
          type: string
      - name: v-c-merchant-id
        in: header
        required: true
        schema:
          type: string
      - name: v-c-permissions
        in: header
        required: true
        schema:
          type: string
      - name: v-c-correlation-id
        in: header
        required: true
        schema:
          type: string
      - name: v-c-organization-id
        in: header
        required: true
        schema:
          type: string
      responses:
        '201':
          description: Successful response.
          content:
            application/hal+json;charset=utf-8:
              schema:
                title: pushFunds201Response
                type: object
                properties:
                  id:
                    type: string
                    maxLength: 26
                    description: 'A unique identification number to identify the submitted request. It is also appended to the endpoint of the resource.

                      '
                  submitTimeUtc:
                    type: string
                    maxLength: 20
                    minLength: 20
                    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
                    maxLength: 18
                    description: 'The status of the submitted transaction.


                      Possible values:

                      - AUTHORIZED

                      - DECLINED

                      - SERVER_ERROR

                      - INVALID_REQUEST

                      - PARTIAL_AUTHORIZED

                      '
                  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.

                      '
                  clientReferenceInformation:
                    type: object
                    properties:
                      code:
                        type: string
                        maxLength: 50
                        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.

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


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

                          '
                  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 is a multicurrency-only field. It contains a 3-digit numeric code that identifies the currency used by the issuer.

                              '
                      email:
                        type: string
                        maxLength: 255
                        description: 'Customer''s email address, including the full domain name.

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


                              Note For Chase Paymentech, the maximum data length is 22.

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

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

                              Country code for your business location.


                              ISO Standard Alpha Country Code.


                              https://developer.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf

                              '
                  errorInformation:
                    type: object
                    properties:
                      reason:
                        type: string
                        maxLength: 31
                        description: 'The reason of the status.


                          Possible values:


                          - CONTACT_PROCESSOR

                          - INVALID_MERCHANT_CONFIGURATION

                          - STOLEN_LOST_CARD

                          - PROCESSOR_DECLINED

                          - PARTIAL_APPROVAL

                          - PAYMENT_REFUSED

                          - INVALID_ACCOUNT

                          - ISSUER_UNAVAILABLE

                          - INSUFFICIENT_FUND

                          - EXPIRED_CARD

                          - INVALID_PIN

                          - UNAUTHORIZED_CARD

                          - EXCEEDS_CREDIT_LIMIT

                          - DEBIT_CARD_USAGE_LIMIT_EXCEEDED

                          - CVN_NOT_MATCH

                          - DUPLICATE_REQUEST

                          - GENERAL_DECLINE

                          - BLACKLISTED_CUSTOMER

                          - GATEWAY_TIMEOUT

                          - INVALID_DATA

                          - SYSTEM_ERROR

                          - SERVICE_UNAVAILABLE

                          - GATEWAY_TIMEOUT

                          - DAGGREJECTED

                          - DAGGDENIED

                          - DSYSREJECTED

                          '
                      message:
                        type: string
                        maxLength: 256
                        description: 'The detail message related to the status and reason listed above.

                          '
                      details:
                        type: array
                        items:
                          type: object
                          properties:
                            field:
                              type: string
                              maxLength: 256
                              description: 'This is the flattened JSON object field name/path that is either missing or invalid.

                                '
                            reason:
                              type: string
                              maxLength: 31
                              description: 'Possible reasons for the status


                                Possible values:


                                - MISSING_FIELD

                                - INVALID_DATA

                                '
                  processorInformation:
                    type: object
                    properties:
                      transactionId:
                        type: integer
                        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.

                          '
                      responseCode:
                        type: string
                        maxLength: 1
                        description: 'Transaction status from the processor.

                          '
                      systemTraceAuditNumber:
                        type: string
                        maxLength: 6
                        description: 'This field is returned by authorization and incremental authorization services.

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

                          '
                      retrievalReferenceNumber:
                        type: string
                        maxLength: 12
                        description: 'This field contains a number that is used with other data elements as a key to identify and track all messages related to a given cardholder transaction; that is, to a given transaction set.


                          Recommended format: ydddhhnnnnnn


                          Positions 1-4: The yddd equivalent of the date, where y = 0-9 and ddd = 001 – 366. Positions 5-12: A unique identification number generated by the merchant or assigned by Cybersource.

                          '
                      actionCode:
                        type: string
                        maxLength: 2
                        description: 'The results of the transaction request


                          Note: The VisaNet Response Code for the transaction

                          '
                      approvalCode:
                        type:
                        - string
                        - 'null'
                        maxLength: 6
                        description: 'Issuer-generated approval code for the transaction.

                          '
                      feeProgramIndicator:
                        type: string
                        maxLength: 3
                        description: 'This field identifies the interchange fee program applicable to each financial transaction. Fee program indicator (FPI) values correspond to the fee descriptor and rate for each existing fee program.

                          '
                      name:
                        type: string
                        maxLength: 30
                        description: 'Name of the processor.

                          '
                      routing:
                        type: object
                        properties:
                          network:
                            type: string
                            maxLength: 4
                            description: 'Contains the ID of the debit network to which the transaction was routed.


                              Code: Network


                              0000 : Priority Routing or Generic File Update


                              0002: Visa programs, Private Label and non-Visa Authorization Gateway Services


                              0003: Interlink


                              0004: Plus


                              0008: Star


                              0009: Pulse


                              0010: Star


                              0011: Star


                              0012: Star (primary network ID)


                              0013: AFFN


                              0015: Star


                              0016: Maestro


                              0017: Pulse (primary network ID)


                              0018: NYCE (primary network ID)


                              0019: Pulse


                              0020: Accel


                              0023: NETS


                              0024: CU24


                              0025: Alaska Option


                              0027: NYCE


                              0028: Shazam


                              0029: EBT POS

                              '
                      settlement:
                        type: object
                        properties:
                          responsibilityFlag:
                            type: boolean
                            description: 'Settlement Responsibility Flag: VisaNet sets this flag.


                              This flag is set to true to indicate that VisaNet has settlement responsibility for this transaction. This flag does not indicate the transaction will be settled.

                              '
                          serviceFlag:
                            type: string
                            maxLength: 24
                            description: "Settlement Service for the transaction.\n\nValues:\n\nVIP: V.I.P. to decide; or not applicable\n\nINTERNATIONAL_SETTLEMENT: International \n\nNATIONAL_NET_SETTLEMENT: National Net Settlement\n"
                      merchantAdvice:
                        type: object
                        properties:
                          code:
                            type: string
                            maxLength: 2
                            description: "Reason why transaction was declined. \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"
                          codeRaw:
                            type: string
                            maxLength: 4
                            description: Raw merchant advice code from processor.
                      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.

                              '
                  orderInformation:
                    type: object
                    properties:
                      amountDetails:
                        type: object
                        required:
                        - currency
                        properties:
                          totalAmount:
                            type: string
                            minLength: 1
                            maxLength: 19
                            description: 'Grand total for the order. This value cannot be negative. You can include a decimal point (.), but no other special characters. CyberSource truncates the amount to the correct number of decimal places.

                              '
                          currency:
                            type: string
                            maxLength: 3
                            description: 'Currency used for the order. Use the three-character ISO Standard Currency Codes

                              '
                          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.

                              '
                  paymentInformation:
                    type: object
                    properties:
                      tokenizedCard:
                        type: object
                        properties:
                          assuranceMethod:
                            type: string
                            pattern: ^(\s{0,2}|.{2})$
                            description: 'Confidence level of the tokenization. This value is assigned by the token service provider.


                              Valid Values:


                              Spaces (No value set)


                              00 = No issuer ID&V


                              10 = Card issuer account verification


                              11 = Card issuer interactive cardholder authentication - 1 factor


                              12 = Card issuer interactive cardholder authentication - 2 factor


                              13 = Card issuer risk oriented non-interactive cardholder authentication


                              14 = Card issuer asserted authentication

                              '
                  processingInformation:
                    type: object
                    properties:
                      domesticNationalNet:
                        type: object
                        description: 'Settlement Service Data object for additional transaction requirements when the transaction indicates domestic national settlement.

                          '
                        properties:
                          reimbursementFeeBaseAmount:
                            type: string
                            maxLength: 12
                            description: 'National Net Interchange Reimbursement Fee (IRF) calculation base amount. This must be less than the transaction amount.


                              Format:


                              Minimum Value: 0


                              Maximum value: 999999999.99


                              Allowed fractional digits: 3.


                              Note: If a currency has three decimal places, the last digit of this field must be zero.


                              Required for Columbia National Net Settlement Service (NNSS) transactions.

                              '
                  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 available for this card account, the field is omitted. \n\nSupported for Visa Direct.\n"
                      octNonMoneyTransferCrossBorderIndicator:
                        type: boolean
                        description: "Indicates whether cross-border non-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"
                      octNonMoneyTransferFastFundsDomesticIndicator:
                        type: boolean
                        description: "Indicates whether domestic non-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"
                      octNonMoneyTransferFastFundsCrossBorderIndicator:
                        type: boolean
                        description: "Indicates whether cross-border non-money transfer OCTs (fast push funds) are allowed. If no Funds Transfer\nAttributes Inquiry data is available for this card account, the field is omitted. \n\nSupported for Visa Direct.\n"
                      octOnlineGamblingDomesticIndicator:
                        type: boolean
                        description: "Indicates whether domestic gambling OCTs (push funds) are allowed. If no Funds Transfer Attributes Inquiry\ndata is available for this card account, the field is omitted. \n\nSupported for Visa Direct.\n"
                      octOnlineGamblingCrossBorderIndicator:
                        type: boolean
                        description: "Indicates whether cross-border gambling OCTs (push funds) are allowed. If no Funds Transfer Attributes Inquiry\ndata is available for this card account, the field is omitted. \n\nSupported for Visa Direct.\n"
                      octOnlineGamblingFastFundsDomesticIndicator:
                        type: boolean
                        description: "Indicates whether domestic gambling OCTs (fast push funds) are allowed. If no Funds Transfer Attributes Inquiry\ndata is available for this card account, the field is omitted. \n\nSupported for Visa Direct.\n"
                      octOnlineGamblingFastFundsCrossBorderIndicator:
                        type: boolean
                        description: "Indicates whether cross-border gambling 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"
                  _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.'
                        description: A GET link to the OCT
                      customer:
                        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.'
                        description: A GET link to the customer supplied in the OCT
       

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