CyberSource credit API

A credit is a stand-alone transaction that is not linked to any previous transactions. It takes money from your merchant bank account and returns it to the customer.

OpenAPI Specification

cybersource-credit-api-openapi.yml Raw ↑
swagger: '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 credit API
host: apitest.cybersource.com
basePath: /
schemes:
- https
consumes:
- application/json;charset=utf-8
produces:
- application/hal+json;charset=utf-8
tags:
- name: credit
  description: 'A credit is a stand-alone transaction that is not linked to any previous transactions. It takes money from

    your merchant bank account and returns it to the customer.

    '
paths:
  /pts/v2/credits:
    post:
      summary: Process a Credit
      description: POST to the credit resource to credit funds to a specified credit card.
      tags:
      - credit
      operationId: createCredit
      x-devcenter-metaData:
        categoryTag: Payments
        developerGuides: https://developer.cybersource.com/docs/cybs/en-us/payments/developer/ctv/rest/payments/payments-intro.html
        isMLEsupported: true
        mleForRequest: optional
      parameters:
      - name: createCreditRequest
        in: body
        required: true
        schema:
          type: object
          properties:
            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.

                    '
                reconciliationId:
                  type: string
                  maxLength: 60
                  description: 'Reference number for the transaction.

                    Depending on how your Cybersource account is configured, this value could either be provided in the API request or generated by CyberSource.

                    The actual value used in the request to the processor is provided back to you by Cybersource in the response.

                    '
                pausedRequestId:
                  type: string
                  maxLength: 26
                  description: 'Used to resume a transaction that was paused for an order modification rule to allow for payer authentication to complete. To resume and continue with the authorization/decision service flow, call the services and include the request id from the prior decision call.

                    '
                transactionId:
                  type: string
                  maxLength: 30
                  description: 'Identifier that you assign to the transaction. Normally generated by a client server to identify a unique API request.


                    **Note** Use this field only if you want to support merchant-initiated reversal and void operations.


                    #### Used by

                    **Authorization, Authorization Reversal, Capture, Credit, and Void**

                    Optional field.


                    #### PIN Debit

                    For a PIN debit reversal, your request must include a request ID or a merchant transaction identifier.

                    Optional field for PIN debit purchase or credit requests.

                    '
                comments:
                  type: string
                  description: Brief description of the order or any comment you wish to add to the order.
                partner:
                  type: object
                  properties:
                    originalTransactionId:
                      type: string
                      maxLength: 32
                      description: 'Value that links the previous transaction to the current follow-on request. This value is assigned by the client

                        software that is installed on the POS terminal, which makes it available to the terminal''s software and to

                        CyberSource. Therefore, you can use this value to reconcile transactions between CyberSource and the terminal''s

                        software.


                        CyberSource does not forward this value to the processor. Instead, the value is forwarded to the CyberSource

                        reporting functionality.


                        This field is supported only on these processors:

                        - American Express Direct

                        - Credit Mutuel-CIC

                        - FDC Nashville Global

                        - OmniPay Direct

                        - SIX


                        Optional field.

                        '
                    developerId:
                      type: string
                      maxLength: 8
                      description: 'Identifier for the developer that helped integrate a partner solution to CyberSource.


                        Send this value in all requests that are sent through the partner solutions built by that developer.

                        CyberSource assigns the ID to the developer.


                        **Note** When you see a developer ID of 999 in reports, the developer ID that was submitted is incorrect.

                        '
                    solutionId:
                      type: string
                      maxLength: 8
                      description: 'Identifier for the partner that is integrated to CyberSource.


                        Send this value in all requests that are sent through the partner solution. CyberSource assigns the ID to the partner.


                        **Note** When you see a solutionId of 999 in reports, the solutionId that was submitted is incorrect.

                        '
                    thirdPartyCertificationNumber:
                      type: string
                      maxLength: 12
                      description: 'Value that identifies the application vendor and application version for a third party gateway.

                        CyberSource provides you with this value during testing and validation.

                        This field is supported only on CyberSource through VisaNet.


                        #### Used by

                        **Authorization, Authorization Reversal, Capture, Credit, Incremental Authorization, and Void**

                        Optional field.


                        #### PIN debit

                        Required field for PIN debit credit, PIN debit purchase, or PIN debit reversal request.

                        '
                applicationName:
                  type: string
                  description: 'The name of the Connection Method client (such as Virtual Terminal or SOAP Toolkit API) that the merchant uses to send a transaction request to CyberSource.

                    '
                applicationVersion:
                  type: string
                  description: 'Version of the CyberSource application or integration used for a transaction.

                    '
                applicationUser:
                  type: string
                  description: 'The entity that is responsible for running the transaction and submitting the processing request to CyberSource. This could be a person, a system, or a connection method.

                    '
            processingInformation:
              type: object
              properties:
                actionList:
                  type: array
                  description: "Array of actions (one or more) to be included in the payment to invoke bundled services along with Standalone Credit.\n\nPossible values are one or more of follows:\n\n - `DECISION_SKIP`: Use this when you want to skip Decision Manager service(s).\n"
                  items:
                    type: string
                actionTokenTypes:
                  type: array
                  description: 'CyberSource tokens types you are performing a create on.

                    If not supplied the default token type for the merchants token vault will be used.


                    Valid values:

                    - customer

                    - paymentInstrument

                    - instrumentIdentifier

                    - shippingAddress

                    '
                  items:
                    type: string
                commerceIndicator:
                  type: string
                  maxLength: 20
                  description: "Type of transaction. Some payment card companies use this information when determining discount rates.\n\n#### Used by\n**Authorization**\nRequired payer authentication transactions; otherwise, optional.\n**Credit**\nRequired for standalone credits on Chase Paymentech solutions; otherwise, optional.\n\nThe list of valid values in this field depends on your processor.\n\n#### Ingenico ePayments\nWhen you omit this field for Ingenico ePayments, the processor uses the default transaction type they have on file for you instead of the default value \n\n#### Card Present\nYou must set this field to `retail`. This field is required for a card-present transaction. Note that this should ONLY be\nused when the cardholder and card are present at the time of the transaction.\nFor all keyed transactions originated from a POS terminal where the cardholder and card are not present, commerceIndicator\nshould be submitted as \"moto\"\n"
                processorId:
                  type: string
                  maxLength: 3
                  description: 'Value that identifies the processor/acquirer to use for the transaction. This value is supported only for

                    **CyberSource through VisaNet**.


                    Contact CyberSource Customer Support to get the value for this field.

                    '
                paymentSolution:
                  type: string
                  maxLength: 12
                  description: "Type of digital payment solution for the transaction. Possible Values:\n\n - `visacheckout`: Visa Checkout. This value is required for Visa Checkout transactions. For details, see `payment_solution` field description in [Visa Checkout Using the REST API.](https://developer.cybersource.com/content/dam/docs/cybs/en-us/apifields/reference/all/rest/api-fields.pdf)\n - `001`: Apple Pay.\n - `004`: Cybersource In-App Solution.\n - `005`: Masterpass. This value is required for Masterpass transactions on OmniPay Direct. \n - `006`: Android Pay.\n - `007`: Chase Pay.\n - `008`: Samsung Pay.\n - `012`: Google Pay.\n - `013`: Cybersource P2PE Decryption\n - `014`: Mastercard credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `015`: Visa credential on file (COF) payment network token. Returned in authorizations that use a payment network token associated with a TMS token.\n - `027`: Click to Pay.\n"
                reconciliationId:
                  type: string
                  maxLength: 60
                  description: 'Please check with Cybersource customer support to see if your merchant account is configured correctly so you

                    can include this field in your request.

                    * For Payouts: max length for FDCCompass is String (22).

                    '
                linkId:
                  type: string
                  maxLength: 26
                  description: 'Value that links the current authorization request to the original authorization request. Set this value

                    to the ID that was returned in the reply message from the original authorization request.


                    This value is used for:


                    - Partial authorizations

                    - Split shipments

                    '
                reportGroup:
                  type: string
                  maxLength: 25
                  description: 'Attribute that lets you define custom grouping for your processor reports. This field is supported only for **Worldpay VAP**.

                    '
                visaCheckoutId:
                  type: string
                  maxLength: 48
                  description: 'Identifier for the **Visa Checkout** order. Visa Checkout provides a unique order ID for every transaction in

                    the Visa Checkout **callID** field.

                    '
                purchaseLevel:
                  type: string
                  maxLength: 1
                  description: Set this field to 3 to indicate that the request includes Level III data.
                industryDataType:
                  type: string
                  maxLength: 20
                  description: 'Indicates that the transaction includes industry-specific data.


                    Possible Values:

                    - `airline`

                    - `restaurant`

                    - `lodging`

                    - `auto_rental`

                    - `transit`

                    - `healthcare_medical`

                    - `healthcare_transit`

                    - `transit`


                    #### Card Present, Airlines and Auto Rental

                    You must set this field to `airline` in order for airline data to be sent to the processor. For example, if this

                    field is not set to `airline` or is not included in the request, no airline data is sent to the processor.


                    You must set this field to `restaurant` in order for restaurant data to be sent to the processor. When this field

                    is not set to `restaurant` or is not included in the request, no restaurant data is sent to the processor.


                    You must set this field to `auto_rental` in order for auto rental data to be sent to the processor. For example, if this

                    field is not set to `auto_rental` or is not included in the request, no auto rental data is sent to the processor.


                    Restaurant data is supported only on CyberSource through VisaNet.

                    '
                walletType:
                  type: string
                  maxLength: 5
                  description: 'This field carries the wallet type in authorization requests and credit requests. Possible value are:

                    - `101`: Masterpass remote payment. The customer created the wallet by manually interacting with a customer-controlled device such as a computer, tablet, or phone. This value is supported only for Masterpass transactions on Chase Paymentech Solutions and CyberSource through VisaNet.

                    - `102`: Masterpass remote near field communication (NFC) payment. The customer created the wallet by tapping a PayPass card or customer-controlled device at a contactless card reader. This value is supported only for card-present Masterpass transactions on CyberSource through VisaNet.

                    - `103`: Masterpass Apple Pay payment. The payment was made with a combination of Masterpass and Apple Pay. This value is supported only for Masterpass Apple Pay transactions on CyberSource through VisaNet.

                    - `216`: Masterpass Google Pay payment. The payment was made with a combination of Masterpass and Google Pay. This value is supported only for Masterpass Google Pay transactions on CyberSource through VisaNet.

                    - `217`: Masterpass Samsung Pay payment. The payment was made with a combination of Masterpass and Samsung Pay. This value is supported only for Masterpass Samsung Pay transactions on CyberSource through VisaNet.

                    - `SDW`: Staged digital wallet. An issuer or operator created the wallet. This value is supported only for Masterpass transactions on Chase Paymentech Solutions.

                    - `VCIND`: Visa Checkout payment. This value is supported only on CyberSource through VisaNet, FDC Compass, FDC Nashville Global, FDI Australia, and TSYS Acquiring Solutions. See Getting Started with Visa Checkout. For Visa Checkout transactions, the way CyberSource processes the value for this field depends on the processor. See the Visa Checkout section below.

                    For all other values, this field is a passthrough; therefore, CyberSource does not verify the value or modify it in any way before sending it to the processor.

                    Masterpass (101, 102, 103, 216, and 217): The Masterpass platform generates the wallet type value and passes it to you along with the customer''s checkout information.


                    Visa Checkout:

                    This field is optional for Visa Checkout authorizations on FDI Australia. For all other processors, this field is required for Visa Checkout authorizations.

                    For Visa Checkout transactions on the following processors, CyberSource sends the value that the processor expects for this field:FDC Compass,FDC Nashville Global,FDI Australia,TSYS Acquiring

                    Solutions For all other processors, this field is a passthrough; therefore, CyberSource does not verify the value or modify it in any way before sending it to the processor.

                    For incremental authorizations, this field is supported only for Mastercard and the supported values are 101 and 102.

                    Payment card companies can introduce new values without notice. Your order management system should be able to process new values without problems.


                    CyberSource through VisaNet

                    When the value for this field is 101, 102, 103, 216, or 217, it corresponds to the following data in the TC 33 capture file5: Record: CP01 TCR6, Position: 88-90,  Field: Mastercard Wallet Identifier.

                    When the value for this field is VCIND, it corresponds to the following data in the TC 33 capture file5: Record: CP01 TCR8, Position: 72-76, Field: Agent Unique ID.

                    '
                nationalNetDomesticData:
                  type: string
                  maxLength: 123
                  description: 'Supplementary domestic transaction information provided by the acquirer for National Net Settlement Service (NNSS) transactions. NNSS is a settlement service that Visa provides.

                    For transactions on CyberSource through VisaNet in countries that subscribe to NNSS:

                    VisaNet clears transactions; VisaNet transfers funds to the acquirer after deducting processing fees and interchange fees.

                    VisaNet settles transactions in the local pricing currency through a local financial institution.

                    This field is supported only on CyberSource through VisaNet for domestic data in Colombia

                    '
                networkRoutingOrder:
                  type: string
                  maxLength: 30
                  description: 'On PIN Debit Gateways: This U.S.-only field is optionally used by  participants (merchants and acquirers) to specify the network access priority.

                    VisaNet checks to determine if there are issuer routing preferences for any of the networks specified by the sharing group code.

                    If an issuer preference exists for one of the specified debit networks, VisaNet makes a routing selection based on the issuer''s preference.

                    If an issuer preference exists for more than one of the specified debit networks, or if no issuer preference exists,

                    VisaNet makes a selection based on the acquirer''s routing priorities.


                    #### PIN debit

                    Priority order of the networks through which he transaction will be routed. Set this value to a series of one-character network codes in your preferred order. This is a list of the network codes:


                    | Network | Code |

                    | --- | --- |

                    | Accel | E |

                    | AFFN | U |

                    | Alaska Option | 3 |

                    | CU24 | C |

                    | Interlink | G |

                    | Maestro | 8 |

                    | NETS | P |

                    | NYCE | F |

                    | Pulse | H |

                    | Shazam | 7 |

                    | Star | M |

                    | Visa | V |


                    For example, if the Star network is your first preference and Pulse is your second preference, set this field to a value of `MH`.


                    When you do not include this value in your PIN debit request, the list of network codes from your account is used.

                    **Note** This field is supported only for businesses located in the U.S.


                    Optional field for PIN debit credit or PIN debit purchase.

                    '
                recurringOptions:
                  type: object
                  properties:
                    loanPayment:
                      type: boolean
                      description: 'Flag that indicates whether this is a payment towards an existing contractual loan.


                        Possible values:

                        - `true`: Loan payment

                        - `false`: (default) Not a loan payment

                        '
                      default: false
                bankTransferOptions:
                  type: object
                  properties:
                    customerMemo:
                      type: string
                      maxLength: 80
                      description: 'Payment related information.


                        This information is included on the customer''s statement.

                        '
                    secCode:
                      type: string
                      maxLength: 3
                      description: 'Specifies the authorization method for the transaction.


                        #### TeleCheck

                        Accepts only the following values:

                        - `ARC`: account receivable conversion

                        - `CCD`: corporate cash disbursement

                        - `POP`: point of purchase conversion

                        - `PPD`: prearranged payment and deposit entry

                        - `TEL`: telephone-initiated entry

                        - `WEB`: internet-initiated entry

                        '
                    terminalCity:
                      type: string
                      maxLength: 4
                      description: 'City in which the terminal is located. If more than four alphanumeric characters are submitted, the transaction

                        will be declined.


                        You cannot include any special characters.

                        '
                    terminalState:
                      type: string
                      maxLength: 2
                      description: 'State in which the terminal is located. If more than two alphanumeric characters are submitted, the transaction

                        will be declined.


                        You cannot include any special characters.

                        '
                    effectiveDate:
                      type: string
                      maxLength: 8
                      description: 'Effective date for the transaction. The effective date must be within 45 days of the current day. If you do not

                        include this value, CyberSource sets the effective date to the next business day.


                        Format: `MMDDYYYY`


                        Supported only for the CyberSource ACH Service.

                        '
                    partialPaymentId:
                      type: string
                      maxLength: 25
                      description: 'Identifier for a partial payment or partial credit.


                        The value for each debit request or credit request must be unique within the scope of the order.

                        '
                    settlementMethod:
                      type: string
                      maxLength: 1
                      description: 'Method used for settlement.


                        Possible values:

                        - `A`: Automated Clearing House (default for credits and for transactions using Canadian dollars)

                        - `F`: Facsimile draft (U.S. dollars only)

                        - `B`: Best possible (U.S. dollars only) (default if the field has not already been configured for your

                        merchant ID)

                        '
                purchaseOptions:
                  type: object
                  properties:
                    isElectronicBenefitsTransfer:
                      type: boolean
                      description: 'Flag that indicates whether this transaction is an EBT transaction. Possible values:

                        - `true`

                        - `false`


                        #### PIN debit

                        Required field for EBT and EBT voucher transactions that use PIN debit credit or PIN debit purchase; otherwise, not used.

                        '
                electronicBenefitsTransfer:
                  type: object
                  properties:
                    category:
                      type: string
                      maxLength: 4
                      description: 'Flag that specifies the category for the EBT transaction.


                        Possible values:

                        - `CASH`: Cash benefits, which can be used to purchase any item at a participating retailer, as well as to obtain cash-back or make a cash withdrawal from a participating ATM.

                        - `FOOD`: Food stamp benefits, which can be used only to purchase food items authorized by the USDA SNAP program.


                        #### PIN debit

                        Required field for EBT transactions that use PIN debit credit or PIN debit purchase; otherwise, not used.

                        '
                loanOptions:
                  type: object
                  properties:
                    type:
                      type: string
                      maxLength: 20
                      description: 'Type of loan based on an agreement between you and the issuer.

                        Examples: AGROCUSTEIO, AGRO-INVEST, BNDES-Type1, CBN, FINAME.

                        This field is supported only for these kinds of payments:

                        - BNDES transactions on CyberSource through VisaNet.

                        - Installment payments with Mastercard on CyberSource through VisaNet in Brazil.


                        For BNDES transactions, the value for this field corresponds to the following data in the TC 33 capture file:

                        - Record: CP07 TCR2, Position: 27-46, Field: Loan Type


                        For installment payments with Mastercard in Brazil, the value for this field corresponds to the following data in the TC 33 capture file:

                        - Record: CP07 TCR4, Position: 5-24,Field: Financing Type

                        '
                    assetType:
                      type: string
                      maxLength: 1
                      description: "Indicates whether a loan is for a recoverable item or a non-recoverable item.\nPossible values:\n- `N`: non-recoverable item\n- `R`: recoverable item\nThis field is supported only for BNDES transactions on CyberSource through VisaNet.\nThe value for this field corresponds to the following data in the TC 33 capture file5:\n Record: CP07 TCR2, Position: 26, Field: Asset Indicator\n"
                japanPaymentOptions:
                  type: object
                  properties:
                    paymentMethod:
                      type: string
                      maxLength: 2
                      description: 'This value is a 2-digit code indicating the payment method.

                        Use Payment Method Code value that applies to the tranasction.

                        - 10 (One-time payment)

                        - 21, 22, 23, 24  (Bonus(one-time)payment)

                        - 61 (Installment payment)

                        - 31, 32, 33, 34  (Integrated (Bonus + Installment)payment)

                        - 80 (Revolving payment)

                        '
                    installments:
                      type: string
                      maximum: 99
                      description: 'Number of Installments.

                        '
                refundOptions:
                  type: object
                  properties:
                    reason:
                      type: string
                      description: Must be set to `pow` for Mastercard Gaming Payment of Winnings tranactions.
                merchantVerificationValue:
                  type: string
                  maxLength: 25
                  description: 'The override value of the Merchant Verification Value (MVV) received by various card brands. MVV refers to the value assigned by the card brand/network to identify participation in select merchant programs.


                    Sample value for Visa: `101010`

                    '
                transactionTypeIndicator:
                  type: string
                  maxLength: 3
                  description: 'This field is used identify the type of payment transaction taking place. This field is applicable for MasterCard transactions only.

                    Possible values:

                    - 201- Mastercard Rebate

                    - 202- rePower Load Value

                    - 203- Gaming Re-pay

                    - 204- General Person-to-Person

                    - 205- General Transfer to Own Account

                    - 206- Agent Cash Out

                    - 207- Payment of Own Credit Card Bill

                    - 208- Business Disbursement

                    - 209- Government/Non-Profit Disbursement

                    - 210- Rapid Merchant Settlement

                    - 211- Cash in at ATM (Usage limited to specific countries)

                    - 212- Cash in at Point of Sale (Usage limited to specific countries)

                    - 213- General Business to Business Transfer

                    - 214- Mastercard Merchant Presented QR

                    - 215- Mastercard Merchant Presented QR Refund Payment

                    - 216- Utility Payments (for Brazil domestic use only)

                    - 217- Government Services (for Brazil domestic use only)

                    - 218- Mobile phone top-ups (for Brazil domestic use only)

                    - 219- Coupon booklet payments (for Brazil domestic use only)

                    - 220- General Person-to-Person Transfer

                    - 221- Person-to-Person Transfer to Card Account

                    - 222- General Transfer to Own Account

                    - 223- Agent Cash Out

                    - 224- Payment of Own Credit Card Bill

                    - 225- Business Disbursement

                    - 226- Transfer to Own Staged Digital Wallet Account

                    - 227- Transfer to Own Debit or Prepaid Account

                    - 228- General Business-to-Business Transfer

                    - 229- Installment-based repayment

                    - 230- Mastercard ATM Cash Pick-Up Transaction

                    - 231- Cryptocurrency

                    - 232- High-risk Securities

                    '
            paymentInformation:
              type: object
              properties:
                card:
                  type: object
                  properties:
                    number:
                      type: string
      

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