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-payments-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: 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 Payments API
servers:
- url: https://apitest.cybersource.com/
tags:
- name: payments
description: 'A payment authorizes the amount for the transaction. There are a number of supported payment
instruments, such as Credit Card, Debit Card, e-Wallet, and Alternative Payments. A payment
response includes the status of the request. It also includes processor-specific information
when the request is successful and errors if unsuccessful.
'
paths:
/pts/v2/payments:
post:
summary: Process a Payment
description: 'A payment authorizes the amount for the transaction. There are a number of supported payment features, such as E-commerce and Card Present - Credit Card/Debit Card, Echeck, e-Wallets, Level II/III Data, etc..
A payment response includes the status of the request. It also includes processor-specific information when the request is successful and errors if unsuccessful. See the [Payments Developer Guides Page](https://developer.cybersource.com/docs/cybs/en-us/payments/developer/ctv/rest/payments/payments-intro.html).
Authorization can be requested with Capture, Decision Manager, Payer Authentication(3ds), and Token Creation.
'
tags:
- payments
operationId: createPayment
x-devcenter-metaData:
categoryTag: Payments
testingTriggers: https://developer.cybersource.com/hello-world/testing-guide.html
responseCodes: https://developer.cybersource.com/api/reference/response-codes.html
developerGuides: https://developer.cybersource.com/docs/cybs/en-us/payments/developer/ctv/rest/payments/payments-intro.html
isMLEsupported: true
mleForRequest: optional
responses:
'201':
description: Successful response.
content:
application/hal+json;charset=utf-8:
schema:
title: ptsV2PaymentsPost201Response
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.'
reversal:
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.'
capture:
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.'
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.'
paymentInstrument:
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.'
shippingAddress:
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.'
instrumentIdentifier:
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.
'
message:
type: string
description: 'More information about the transaction 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.
Returned by Cybersource for all services.
'
status:
type: string
description: "The status of the submitted transaction.\n\nPossible values:\n - AUTHORIZED\n - PARTIAL_AUTHORIZED\n - AUTHORIZED_PENDING_REVIEW\n - AUTHORIZED_RISK_DECLINED\n - PENDING_AUTHENTICATION\n - PENDING_REVIEW\n - DECLINED\n - INVALID_REQUEST\n"
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.
'
errorInformation:
type: object
properties:
reason:
type: string
description: "The reason of the status.\n\nPossible values:\n - AVS_FAILED\n - CONTACT_PROCESSOR\n - EXPIRED_CARD\n - PROCESSOR_DECLINED\n - INSUFFICIENT_FUND\n - STOLEN_LOST_CARD\n - ISSUER_UNAVAILABLE\n - UNAUTHORIZED_CARD\n - CVN_NOT_MATCH\n - EXCEEDS_CREDIT_LIMIT\n - INVALID_CVN\n - BLOCKED_BY_CARDHOLDER\n - DECLINED_CHECK\n - BLACKLISTED_CUSTOMER\n - SUSPENDED_ACCOUNT\n - PAYMENT_REFUSED\n - CV_FAILED\n - INVALID_ACCOUNT\n - GENERAL_DECLINE\n - INVALID_MERCHANT_CONFIGURATION\n - DECISION_PROFILE_REJECT\n - SCORE_EXCEEDS_THRESHOLD\n - PENDING_AUTHENTICATION\n - ACH_VERIFICATION_FAILED\n - DECISION_PROFILE_REVIEW\n - CONSUMER_AUTHENTICATION_REQUIRED\n - CONSUMER_AUTHENTICATION_FAILED\n - ALLOWABLE_PIN_RETRIES_EXCEEDED\n - PROCESSOR_ERROR\n - CUSTOMER_WATCHLIST_MATCH\n - ADDRESS_COUNTRY_WATCHLIST_MATCH\n - EMAIL_COUNTRY_WATCHLIST_MATCH\n - IP_COUNTRY_WATCHLIST_MATCH\n - INVALID_MERCHANT_CONFIGURATION\n - DAGGREJECTED\n - DAGGDENIED\n - DSYSREJECTED\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.
'
processingInformation:
type: object
properties:
bankTransferOptions:
type: object
properties:
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)
'
fraudScreeningLevel:
type: string
maxLength: 1
description: 'Level of fraud screening.
Possible values:
- `1`: Validation — default if the field has not already been configured for your merchant ID
- `2`: Verification
'
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"
enhancedDataEnabled:
type: boolean
description: 'The possible values for the reply field are:
- `true` : the airline data was included in the request to the processor.
- `false` : the airline data was not included in the request to the processor.
Returned by authorization, capture, or credit services.
'
digitalServiceIndicator:
type: string
maxLength: 104
description: "Mastercard Digital Enablement Service (MDES) digital service indicators received in the authorization response message for MDES transactions. \n\nThis data is provided in the 0110 response in the Field 34—Acceptance Environment Data (TLV Format), Dataset ID 04—Additional Service Result Data, Tag DF1F—Mastercard Digital Enablement Service Indicator for Acquirer to acquirers.\n\nThis field is in ANS, EBCDIC format and flows in Field 34, DSID 04 Tag DF1F, mapped to Mastercard Data Element DE119, Sub-element 004.\n\nThis field is supported for all flavors of Authorization response only.\n\n#### Used by\n**Authorization Response**\nResponse field only.\n"
captureOptions:
type: object
properties:
finalCapture:
type: string
maxLength: 5
description: 'Indicates whether you can make additional captures against the authorized payment.
Set to true if you do not intend to capture additional payments against the authorization.
Set to false if you intend to capture additional payments
Possible Values:
- `true`
- `false`
'
authorizationOptions:
type: object
properties:
serviceType:
type: string
maxLength: 10
description: "Field is used for back-to-back funding transaction and can be defined as a payment flow that automatically transfers funds through a real-time \nfunding or a live-load. This type of transaction can also be connected to a purchase. \nIn back-to-back funding of general purpose card that is used to make a purchase, two separate accounts are involved: \n- account one is used to make the purchase\n- account two is used to automatically fund or reimburse account one\n\nPossible values:\n- 0B = back to back funding transaction\n- 00 = normal transaction\n- 01 = originator hold\n- 02 = Visa deferred OCT hold, default interval\n- 03 = Visa deferred OCT hold, user-defined interval\n- 09 = Cancel pending deferred OCT request\n- 0I = Visa Direct custom program 1\n- 0Q = uery the status of the deferred OCT\n- A0 = Alias Directory 2\n"
purchaseOptions:
type: object
properties:
eligibilityIndicator:
type: string
maxLength: 20
description: "This field contains installment data defined by MasterCard.\nPossible values:\n - Y = eligible\n - N = not eligile\n"
type:
type: string
maxLength: 20
description: 'Data mapped received in response from MasterCard.
Possible values:
- 01 = Meal Voucher - Employee Nutrition Program
- 02 = Food Voucher - Employee Nutrition Program
- 03 = Culture Voucher - Worker''s Culture Program
- 04 = Meal Voucher - Consolidation of Labor Laws
- 05 = Food Voucher - Consolidation of Labor Laws
'
benefitAmount:
type: string
maxLength: 20
description: Workplace benefit amount.
benefitType:
type: string
maxLength: 100
description: 'Workplace benefit type.
Possible values:
- 70 = employee benefit
- 4T = transportation / transit
- 52 = general benefit
- 53 = meal voucher
- 54 = fuel
- 55 = ecological / sustainability
- 58 = philanthropy / patronage / consumption
- 59 = gift
- 5S = sport / culture
- 5T = book / education
'
processorInformation:
type: object
properties:
authIndicator:
type: string
maxLength: 1
description: "Flag that specifies the purpose of the authorization.\n\nPossible values:\n - `0`: Preauthorization\n - `1`: Final authorization\n"
approvalCode:
type: string
maxLength: 6
description: 'Authorization code. Returned only when the processor returns this value.
The length of this value depends on your processor.
Returned by authorization service.
#### PIN debit
Authorization code that is returned by the processor.
Returned by PIN debit credit.
#### Elavon Encrypted Account Number Program
The returned value is OFFLINE.
#### TSYS Acquiring Solutions
The returned value for a successful zero amount authorization is 000000.
'
cardReferenceData:
type: string
maxLength: 56
description: 'The Scheme reference data is a variable length data element up to a maximum of 56 characters. It may be sent by the acquirer in the
authorisation response message, and by the terminal (unchanged) in subsequent authorisation request messages associated with the same
transaction.
This field is used by Streamline and HSBC UK only, at present.
'
transactionId:
type: string
maxLength: 255
description: 'Network transaction identifier (TID). You can use this value to identify a specific transaction when you are
discussing the transaction with your processor. Not all processors provide this value.
Returned by the authorization service.
#### PIN debit
Transaction identifier generated by the processor.
Returned by PIN debit credit.
#### GPX
Processor transaction ID.
#### Cielo
For Cielo, this value is the non-sequential unit (NSU) and is supported for all transactions. The value is generated by Cielo or the issuing bank.
#### Comercio Latino
For Comercio Latino, this value is the proof of sale or non-sequential unit (NSU) number generated by the acquirers Cielo and Rede, or the issuing bank.
#### CyberSource through VisaNet and GPN
For details about this value for CyberSource through VisaNet and GPN, see "processorInformation.networkTransactionId" in [REST API Fields](https://developer.cybersource.com/content/dam/docs/cybs/en-us/apifields/reference/all/rest/api-fields.pdf)
#### Moneris
This value identifies the transaction on a host system. It contains the following information:
- Terminal used to process the transaction
- Shift during which the transaction took place
- Batch number
- Transaction number within the batch
You must store this value. If you give the customer a receipt, display this value on the receipt.
**Example** For the value
66012345001069003:
- Terminal ID = 66012345
- Shift number = 001
- Batch number = 069
- Transaction number = 003
'
networkTransactionId:
type: string
description: Same value as `processorInformation.transactionId`
responseCode:
type: string
maxLength: 10
description: 'For most processors, this is the error message sent directly from the bank. Returned only when the processor
returns this value.
**Important** Do not use this field to evaluate the result of the authorization.
#### PIN debit
Response value that is returned by the processor or bank.
**Important** Do not use this field to evaluate the results of the transaction request.
Returned by PIN debit credit, PIN debit purchase, and PIN debit reversal.
#### AIBMS
If this value is `08`, you can accept the transaction if the customer provides you with identification.
#### Atos
This value is the response code sent from Atos and it might also include the response code from the bank.
Format: `aa,bb` with the two values separated by a comma and where:
- `aa` is the two-digit error message from Atos.
- `bb` is the optional two-digit error message from the bank.
#### Comercio Latino
This value is the status code and the error or response code received from the processor separated by a colon.
Format: [status code]:E[error code] or [status code]:R[response code]
Example `2:R06`
#### JCN Gateway
Processor-defined detail error code. The associated response category code is in the `processorInformation.responseCategoryCode` field.
String (3)
#### paypalgateway
Processor generated ID for the itemized detail.
'
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.
'
responseDetails:
type: string
maxLength: 255
description: 'This field might contain information about a decline.
'
responseCategoryCode:
type: string
maxLength: 36
description: "Processor-defined response category code. The associated detail error code is in the `processorInformation.responseCode` or `issuerInformation.responseCode`\nfield of the service you requested.\n\nThis field is supported only for:\n\n - Japanese issuers\n - Domestic transactions in Japan\n - Comercio Latino—processor transaction ID required for troubleshooting\n\n#### Maximum length for processors\n\n - Comercio Latino: 36\n - All other processors: 3\n"
responseSourceCode:
type: string
maxLength: 1
description: 'This field is used by Visa only and contains the response source/reason code that identifies the source of the response decision.
Use this field only for clearing with your acquirer.
'
forwardedAcquirerCode:
type: string
maxLength: 32
description: 'Name of the Japanese acquirer that processed the transaction. Returned only for JCN Gateway.
Please contact the CyberSource Japan Support Group for more information.
'
settlementDate:
type: string
maxLength: 4
description: 'Field contains a settlement date. The date is in mmdd format, where: mm = month and dd = day.
'
sequenceNumber:
type: string
maxLength: 50
description: 'This field serves as a unique identifier for initial and subsequent recurring transactions, specific to the payment brand, and is crucial for transaction tracking and recurrence management. Not all processors provide this value.
Returned by the authorization service.
'
avs:
type: object
properties:
code:
type: string
maxLength: 1
description: 'AVS result code.
Returned by authorization service.
'
codeRaw:
type: string
maxLength: 10
description: 'AVS 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 AVS. Use for debugging purposes only.
Returned by authorization service.
'
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.
'
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 no
# --- truncated at 32 KB (1630 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/cybersource/refs/heads/main/openapi/cybersource-payments-api-openapi.yml