CyberSource Verification API
The Verification API from CyberSource — 2 operation(s) for verification.
The Verification API from CyberSource — 2 operation(s) for verification.
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 Verification API
host: apitest.cybersource.com
basePath: /
schemes:
- https
consumes:
- application/json;charset=utf-8
produces:
- application/hal+json;charset=utf-8
tags:
- name: Verification
paths:
/risk/v1/address-verifications:
post:
summary: Verify customer address
description: This call verifies that the customer address submitted is valid.
operationId: verifyCustomerAddress
tags:
- Verification
x-devcenter-metaData:
categoryTag: Risk_Management
parameters:
- name: verifyCustomerAddressRequest
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.
'
comments:
type: string
maxLength: 255
description: 'Brief description of the order or any comment you wish to add to the order.
'
partner:
type: object
properties:
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.
'
orderInformation:
type: object
properties:
billTo:
type: object
required:
- address1
- locality
- country
- postalCode
properties:
address1:
type: string
maxLength: 60
description: 'Payment card billing street address as it appears on the credit card issuer''s records.
#### SEPA
Required for Create Mandate and Import Mandate
#### Atos
This field must not contain colons (:).
#### CyberSource through VisaNet
**Important** When you populate orderInformation.billTo.address1 and orderInformation.billTo.address2,
CyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,
CyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.
Truncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.
Credit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet
accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations
of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the
credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless
ASCII characters for transmission to the credit card networks.
#### FDMS Nashville
When the street name is numeric, it must be sent in numeric format. For example, if the address is _One First Street_,
it must be sent as _1 1st Street_.
Required if keyed; not used if swiped.
String (20)
#### TSYS Acquiring Solutions
Required when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.
#### All other processors:
Optional.
String (60)
#### For Payouts
This field may be sent only for FDC Compass.
**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.
'
address2:
type: string
maxLength: 60
description: 'Used for additional address information. For example: _Attention: Accounts Payable_
Optional field.
For Payouts: This field may be sent only for FDC Compass.
#### Atos
This field must not contain colons (:).
#### CyberSource through VisaNet
**Important** When you populate `orderInformation.billTo.address1` and `orderInformation.billTo.address2`,
CyberSource through VisaNet concatenates the two values. If the concatenated value exceeds 40 characters,
CyberSource through VisaNet truncates the value at 40 characters before sending it to Visa and the issuing bank.
Truncating this value affects AVS results and therefore might also affect risk decisions and chargebacks.
Credit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet
accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations
of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the
credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless
ASCII characters for transmission to the credit card networks.
#### Chase Paymentech Solutions, FDC Compass, and TSYS Acquiring Solutions
This value is used for AVS.
#### FDMS Nashville
`orderInformation.billTo.address1` and `orderInformation.billTo.address2` together cannot exceed 20 characters.
String (20)
#### All Other Processors
String (60)
'
address3:
type: string
maxLength: 60
description: 'Additional address information (third line of the billing address)
'
address4:
type: string
maxLength: 60
description: 'Additional address information (fourth line of the billing address)
'
administrativeArea:
type: string
maxLength: 50
description: 'State or province of the billing address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf).
For Payouts: This field may be sent only for FDC Compass.
##### CyberSource through VisaNet
Credit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet
accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations
of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the
credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless
ASCII characters for transmission to the credit card networks.
**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.
#### Chase Paymentech Solutions
Optional field.
#### Credit Mutuel-CIC
Optional field.
#### OmniPay Direct
Optional field.
#### SIX
Optional field.
#### TSYS Acquiring Solutions
Required when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.
#### Worldpay VAP
Optional field.
#### All other processors
Not used.
'
country:
type: string
maxLength: 3
description: 'Payment card billing country. Use the two-character [ISO Standard Country Codes](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf).
#### SEPA/BACS
Required for Create Mandate and Import Mandate
#### CyberSource through VisaNet
Credit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet
accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations
of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the
credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII
characters for transmission to the credit card networks.
**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.
#### Chase Paymentech Solutions
Optional field.
#### Credit Mutuel-CIC
Optional field.
#### OmniPay Direct
Optional field.
#### SIX
Optional field.
#### TSYS Acquiring Solutions
Required when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.
#### Worldpay VAP
Optional field.
#### All other processors
Not used.
'
locality:
type: string
maxLength: 50
description: 'Payment card billing city.
#### SEPA
Required for Create Mandate and Import Mandate
#### Atos
This field must not contain colons (:).
#### CyberSource through VisaNet
Credit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet accepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations of the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the credit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII characters for transmission to the credit card networks.
#### For Payouts:
This field may be sent only for FDC Compass.
#### Chase Paymentech Solutions
Optional field.
#### Credit Mutuel-CIC
Optional field.
#### OmniPay Direct
Optional field.
#### SIX
Optional field.
#### TSYS Acquiring Solutions
Required when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.
#### Worldpay VAP
Optional field.
#### All other processors
Not used.
'
postalCode:
type: string
maxLength: 10
description: "Postal code for the billing address. The postal code must consist of 5 to 9 digits.\n\nWhen the billing country is the U.S., the 9-digit postal code must follow this format:\n[5 digits][dash][4 digits]\n\n**Example** `12345-6789`\n\nWhen the billing country is Canada, the 6-digit postal code must follow this format:\n[alpha][numeric][alpha][space][numeric][alpha][numeric]\n\n**Example** `A1B 2C3`\n\n**Important** It is your responsibility to determine whether a field is required for the transaction you are requesting.\n\n#### SEPA\nRequired for Create Mandate and Import Mandate\n\n#### For Payouts:\n This field may be sent only for FDC Compass.\n\n#### American Express Direct\nBefore sending the postal code to the processor, CyberSource removes all nonalphanumeric characters and, if the remaining value is longer than nine characters, truncates the value starting from the right side.\n\n#### Atos\nThis field must not contain colons (:).\n\n#### CyberSource through VisaNet\nCredit card networks cannot process transactions that contain non-ASCII characters. CyberSource through VisaNet\naccepts and stores non-ASCII characters correctly and displays them correctly in reports. However, the limitations\nof the credit card networks prevent CyberSource through VisaNet from transmitting non-ASCII characters to the\ncredit card networks. Therefore, CyberSource through VisaNet replaces non-ASCII characters with meaningless ASCII\ncharacters for transmission to the credit card networks.\n\n#### FDMS Nashville\nRequired if `pointOfSaleInformation.entryMode=keyed` and the address is in the U.S. or Canada.\nOptional if `pointOfSaleInformation.entryMode=keyed` and the address is **not** in the U.S. or Canada.\nNot used if swiped.\n\n#### RBS WorldPay Atlanta:\nFor best card-present keyed rates, send the postal code if `pointOfSaleInformation.entryMode=keyed`.\n\n#### TSYS Acquiring Solutions\nRequired when `processingInformation.billPaymentOptions.billPayment=true` and `pointOfSaleInformation.entryMode=keyed`.\n\n#### All other processors:\nOptional field.\n"
shipTo:
type: object
required:
- address1
- country
properties:
address1:
type: string
maxLength: 60
description: 'First line of the shipping address.
Required field for authorization if any shipping address information is included in the request; otherwise, optional.
#### Tax Calculation
Optional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.
Billing address objects will be used to determine the cardholder''s location when shipTo objects are not present.
'
address2:
type: string
maxLength: 60
description: 'Second line of the shipping address.
Optional field.
#### Tax Calculation
Optional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.
Billing address objects will be used to determine the cardholder''s location when shipTo objects are not present.
'
address3:
type: string
maxLength: 60
description: 'Third line of the shipping address.
#### Tax Calculation
Optional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.
Billing address objects will be used to determine the cardholder''s location when shipTo objects are not present.
'
address4:
type: string
maxLength: 60
description: Fourth line of the shipping address.
administrativeArea:
type: string
maxLength: 50
description: "State or province of the shipping address. Use the [State, Province, and Territory Codes for the United States and Canada](https://developer.cybersource.com/library/documentation/sbc/quickref/states_and_provinces.pdf) (maximum length: 2) \n\nRequired field for authorization if any shipping address information is included in the request and shipping to the U.S.\nor Canada; otherwise, optional.\n\n#### Tax Calculation\nOptional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.\nBilling address objects will be used to determine the cardholder's location when shipTo objects are not present.\n"
country:
type: string
description: 'Country of the shipping address. Use the two-character [ISO Standard Country Codes.](http://apps.cybersource.com/library/documentation/sbc/quickref/countries_alpha_list.pdf)
Required field for authorization if any shipping address information is included in the request; otherwise, optional.
#### Tax Calculation
Optional field for U.S., Canadian, international tax, and value added taxes.
Billing address objects will be used to determine the cardholder''s location when shipTo objects are not present.
'
maxLength: 3
locality:
type: string
maxLength: 50
description: 'City of the shipping address.
Required field for authorization if any shipping address information is included in the request and shipping to the U.S. or
Canada; otherwise, optional.
#### Tax Calculation
Optional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.
Billing address objects will be used to determine the cardholder''s location when shipTo objects are not present.
'
postalCode:
type: string
maxLength: 32
description: 'Postal code for the shipping address. The postal code must consist of 5 to 9 digits.
Required field for authorization if any shipping address information is included in the request and
shipping to the U.S. or Canada; otherwise, optional.
When the billing country is the U.S., the 9-digit postal code must follow this format:
[5 digits][dash][4 digits]
Example 12345-6789
When the billing country is Canada, the 6-digit postal code must follow this format:
[alpha][numeric][alpha][space][numeric][alpha][numeric]
Example A1B 2C3
#### American Express Direct
Before sending the postal code to the processor, all nonalphanumeric characters are removed and, if the
remaining value is longer than nine characters, the value is truncated starting from the right side.
#### Tax Calculation
Optional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.
Billing address objects will be used to determine the cardholder''s location when shipTo objects are not present.
'
lineItems:
type: array
items:
type: object
properties:
unitPrice:
type: string
maxLength: 15
description: 'Per-item price of the product. If line items are present in the request, the unit price is a mandatory field.
'
quantity:
type: integer
minimum: 1
maximum: 999999999
default: 1
description: 'Number of units for this order. Must be a non-negative integer.
The default is `1`. For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`),
this field is required when `orderInformation.lineItems[].productCode` is not `default` or one of the other values
related to shipping and/or handling.
#### Tax Calculation
Optional field for U.S., Canadian, international tax, and value added taxes.
'
productSKU:
type: string
maxLength: 255
description: 'Product identifier code. Also known as the Stock Keeping Unit (SKU) code for the product.
For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is required when `orderInformation.lineItems[].productCode` is not set to **default** or one of the other values that are related to shipping and/or handling.
#### Tax Calculation
Optional field for U.S. and Canadian taxes. Not applicable to international and value added taxes.
For an authorization or capture transaction (`processingOptions.capture` is set to `true` or `false`), this field is
required when `orderInformation.lineItems[].productCode` is not `default` or one of the values related to shipping and/or handling.
'
productRisk:
type: string
maxLength: 6
description: 'Indicates the level of risk for the product. This field can contain one of the following values:
- `low`: The product is associated with few chargebacks.
- `normal`: The product is associated with a normal number of chargebacks.
- `high`: The product is associated with many chargebacks.
'
productName:
type: string
maxLength: 255
description: 'For an authorization or capture transaction (`processingOptions.capture` is `true` or `false`),
this field is required when `orderInformation.lineItems[].productCode` is not `default` or one of
the other values that are related to shipping and/or handling.
#### Tax Calculation
Optional field for U.S., Canadian, international tax, and value added taxes.
'
productCode:
type: string
maxLength: 255
description: 'Type of product. The value for this field is used to identify the product category (electronic, handling, physical,
service, or shipping). The default value is `default`.
If you are performing an authorization transaction (`processingOptions.capture` is set to `false`), and you set
this field to a value other than `default` or one of the values related to shipping and/or handling, then
`orderInformation.lineItems[].quantity`, `orderInformation.lineItems[].productName`, and
`orderInformation.lineItems[].productSku` fields are required.
Optional field.
#### Tax Calculation
Optional field for U.S., Canadian, international tax, and value added taxes.
The Product Codes for the tax service are located in the Cybersource Tax Codes guide. Contact Customer Support to request the guide. If you don''t send a tax service Product Code in your tax request, product-based rules or exemptions will not be applied and the transaction will default to fully taxable in the locations where you''ve indicated you need to collect tax [by way of nexus, no nexus, or seller registration number fields].
'
buyerInformation:
type: object
properties:
merchantCustomerId:
type: string
maxLength: 100
description: 'Optional customer''s account ID, tracking number, reward number, or other unique number
that you assign to the customer for the purpose that you choose
'
responses:
'201':
description: Successful response
schema:
title: riskV1AddressVerificationsPost201Response
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.
Returned by Cybersource for all services.
'
submitTimeLocal:
type: string
description: Time that the transaction was submitted in local time. Generated by Cybersource.
status:
type: string
description: 'The status for the call can be:
- COMPLETED
- INVALID_REQUEST
- DECLINED
'
message:
type: string
description: "The message describing the reason of the status. Value can be\n - Apartment number missing or not found.\n - Insufficient address information.\n - House/Box number not found on street.\n - Multiple address matches were found.\n - P.O. Box identifier not found or out of range.\n - Route service identifier not found or out of range.\n - Street name not found in Postal code.\n - Postal code not found in database.\n - Unable to verify or correct address.\n - Multiple addres matches were found (international)\n - Address match not found (no reason given)\n - Unsupported character set\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.
'
comments:
type: string
maxLength: 255
description: 'Brief description of the order or any comment you wish to add to the order.
'
partner:
type: object
properties:
developerId:
type: string
ma
# --- truncated at 32 KB (120 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/cybersource/refs/heads/main/openapi/cybersource-verification-api-openapi.yml