# Visa Credit Card Application
Used by Issuers and Processors to report their credit card application data, which is mandated via Visa Rules.

## Version: 1

### Servers

| URL | Description |
| --- | ----------- |
| https://sandbox.api.visa.com | Sandbox server |

---
## CCA API
Credit Card Application Data API

### [POST] /cca/api/v1/ccarealtime
**CCA Realtime API**

This endpoint processes CCA realtime API requests.

#### Request Body

| Required | Schema |
| -------- | ------ |
|  Yes | **application/json**: { **"comment"**: string or null, **"Product-id"**: { **"requestCategory"**: string or null }, **"Request-key"**: { **"issuingBID"**: string or null, **"issuingBIN"**: string, **"activityDate"**: string, **"processorBIN"**: string or null, **"locatorNumber"**: string, **"internalTraceNumber"**: string or null }, **"countryCode"**: string (iso3166-alpha2) or null, **"requestType"**: string, **"Fraud-report"**: { **"fraudTypeCode"**: string or null, **"cardMailedZipCode"**: string or null, **"internetFraud_arrestCode"**: integer or null, **"lawEnforcementCaseNumber"**: string or null }, **"Consumer-identity"**: { **"email"**: string or null, **"dateOfBirth"**: string or null, **"Ssn-or-taxID"**: { **"ssnTaxid"**: string or null, **"isSSNTaxid"**: string or null }, **"Consumer-name"**: { **"lastName"**: string or null, **"firstName"**: string or null, **"middleNameOrInitial"**: string or null }, **"accountNumber"**: string or null, **"Ip-address-data"**: { **"trueIP"**: string or null, **"proxyIP"**: string or null, **"ipAddress"**: string or null, **"proxyType"**: string or null, **"trueIPISP"**: string or null, **"proxyIPISP"**: string or null, **"trueIPActivity"**: string or null, **"trueIPgeoLocation"**: string or null, **"proxyIPgeoLocation"**: string or null }, **"Consumer-device-data"**: { **"deviceID"**: string or null, **"deviceIdProvider"**: string or null }, **"Consumer-state-id-usa"**: { **"issuingState"**: string (iso3166-2) or null, **"stateIDNumber"**: string or null }, **"Consumer-phone-numbers"**: { **"primaryPhone"**: string or null, **"secondaryPhone"**: string or null }, **"Consumer-state-id-other"**: { **"idNumber"**: string or null, **"issuingEntity"**: string or null }, **"Consumer-primary-address"**: { **"address1City"**: string or null, **"address1Zip5"**: string or null, **"address1Line1"**: string or null, **"address1Line2"**: string or null, **"address1State"**: string (iso3166-2) or null, **"address1ZipSuffix4"**: string or null }, **"Consumer-alternate-address"**: { **"address2City"**: string or null, **"address2Zip5"**: string or null, **"address2Line1"**: string or null, **"address2Line2"**: string or null, **"address2State"**: string (iso3166-2) or null, **"address2ZipSuffix4"**: string or null } }, **"Delete-or-update-key"**: { **"originalIssuingBID"**: string or null, **"originalIssuingBIN"**: string or null, **"originalActivityDate"**: string or null, **"originalLocatorNumber"**: string or null }, **"serviceSubscriberType"**: string }<br> |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | Successful Response | **application/json**: { **"requestTime"**: string, **"Request-Data"**: { **"comment"**: string or null, **"request-key"**: { **"issuingBIN"**: string or null, **"activityDate"**: string (ISO 8601), **"processorBIN"**: string or null, **"locatorNumber"**: string or null, **"internalTraceNumber"**: string or null, **"accessReferenceNumber"**: string or null }, **"requestType"**: string or null }, **"responseTime"**: string, **"transactionLevelIndicator"**: string, **"processingResultsIndicator"**: string or null }<br> |

---
### Schemas

#### CcaRealtimeRequest Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| comment | string or null | Issuer use comments.<br>*Example:* `"Add App with UU"` | No |
| Product-id | { **"requestCategory"**: string or null } | Group of data elements tied to product id. | No |
| Request-key | { **"issuingBID"**: string or null, **"issuingBIN"**: string, **"activityDate"**: string, **"processorBIN"**: string or null, **"locatorNumber"**: string, **"internalTraceNumber"**: string or null } | Group of data elements tied to request key. | No |
| countryCode | string (iso3166-alpha2) or null | Country code in ISO 3166-1 alpha-2 format (assumes “US” if not populated).<br>*Example:* `"US"` | No |
| requestType | string | 16 - Declined application. For Consumer or Small Business Application. 17 - Application (Approved/approvable application, application in process). For Consumer or Small Business Application. 18 - Unauthorized use (UU)/credit card fraud. For Consumer or Small Business Fraud. 28 - Debit card Fraud. 58 - Merchant Fraud. 68 - Prepaid card Fraud. 78 - Other card Fraud. 19 - Inquiry. 29 - Debit inquiry. 49 - Non-bankcard inquiry. 59 - Request to delete previously reported record. <br>*Example:* `"17"` | Yes |
| Fraud-report | { **"fraudTypeCode"**: string or null, **"cardMailedZipCode"**: string or null, **"internetFraud_arrestCode"**: integer or null, **"lawEnforcementCaseNumber"**: string or null } | Group of data elements tied to fraud report. | No |
| Consumer-identity | { **"email"**: string or null, **"dateOfBirth"**: string or null, **"Ssn-or-taxID"**: { **"ssnTaxid"**: string or null, **"isSSNTaxid"**: string or null }, **"Consumer-name"**: { **"lastName"**: string or null, **"firstName"**: string or null, **"middleNameOrInitial"**: string or null }, **"accountNumber"**: string or null, **"Ip-address-data"**: { **"trueIP"**: string or null, **"proxyIP"**: string or null, **"ipAddress"**: string or null, **"proxyType"**: string or null, **"trueIPISP"**: string or null, **"proxyIPISP"**: string or null, **"trueIPActivity"**: string or null, **"trueIPgeoLocation"**: string or null, **"proxyIPgeoLocation"**: string or null }, **"Consumer-device-data"**: { **"deviceID"**: string or null, **"deviceIdProvider"**: string or null }, **"Consumer-state-id-usa"**: { **"issuingState"**: string (iso3166-2) or null, **"stateIDNumber"**: string or null }, **"Consumer-phone-numbers"**: { **"primaryPhone"**: string or null, **"secondaryPhone"**: string or null }, **"Consumer-state-id-other"**: { **"idNumber"**: string or null, **"issuingEntity"**: string or null }, **"Consumer-primary-address"**: { **"address1City"**: string or null, **"address1Zip5"**: string or null, **"address1Line1"**: string or null, **"address1Line2"**: string or null, **"address1State"**: string (iso3166-2) or null, **"address1ZipSuffix4"**: string or null }, **"Consumer-alternate-address"**: { **"address2City"**: string or null, **"address2Zip5"**: string or null, **"address2Line1"**: string or null, **"address2Line2"**: string or null, **"address2State"**: string (iso3166-2) or null, **"address2ZipSuffix4"**: string or null } } | Group of data elements tied to Consumer Identity. | No |
| Delete-or-update-key | { **"originalIssuingBID"**: string or null, **"originalIssuingBIN"**: string or null, **"originalActivityDate"**: string or null, **"originalLocatorNumber"**: string or null } | Key for deleting or updating previously reported request. | No |
| serviceSubscriberType | string | Must be V (Visa).<br>*Example:* `"V"` | Yes |

#### CcaRealtimeResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| requestTime | string | Time the request was received in HHMMSS format.<br>*Example:* `"162304"` | Yes |
| Request-Data | { **"comment"**: string or null, **"request-key"**: { **"issuingBIN"**: string or null, **"activityDate"**: string (ISO 8601), **"processorBIN"**: string or null, **"locatorNumber"**: string or null, **"internalTraceNumber"**: string or null, **"accessReferenceNumber"**: string or null }, **"requestType"**: string or null } | Group of data elements tied to the request. | No |
| responseTime | string | Time the response was sent in HHMMSS format.<br>*Example:* `"162304"` | Yes |
| transactionLevelIndicator | string | Indicates if the transaction passed basic validation. 00 -- Indicates request was sent to Visa &/or partners for processing, but it does not guarantee request is error-free. Any other value than 00 indicates a severe invalid condition and request did not process. Correct error and resubmit the request. 00 -- Indicates request was sent for processing. 03 – Severe Invalid - Invalid Issuing BIN 15 – Severe Invalid - Invalid record layout <br>*Example:* `"00"` | Yes |
| processingResultsIndicator | string or null | Indicates if processing was successful. 1 – Request successfully processed. E – An error occurred during processing. PLease resubmit your request. <br>*Example:* `"1"` | No |
