openapi: 3.2.0
info:
title: sales-api Verify API
version: '1.0'
servers:
- url: https://sandboxsalesapi.connexpay.com
security:
- sec0: []
tags:
- name: Verify
paths:
/api/v1/verify:
post:
summary: Verify
description: Call to Verify Card or Bank Account
operationId: verify
parameters:
- name: Content-Type
in: header
description: Content-Type Header
schema:
type: string
default: '"application/json"'
- name: Authorization
in: header
description: 'Token. Eg: "Bearer eHSN5rTBzqDozgAAlN1UlTMVuIT1zSiAZWCo6E..."'
schema:
type: string
default: Bearer Token
requestBody:
content:
application/json:
schema:
type: object
required:
- DeviceGuid
properties:
DeviceGuid:
type: string
description: Device's Guid provided by ConnexPay.
default: '{{Device}}'
Card:
type: object
description: Conditional - Mandatory if Verify Card is parameter requested.
properties:
CardNumber:
type: string
description: 'Mandatory if Guid field is not provided. Card number. Must be 16 characters. (example: 4532538795426624) or token (example: FfL7exC7Xe2y6624)'
CardHolderName:
type: string
description: Cardholder's name. Providing information in this field allows a user of the ConnexPay portal to search for a transaction using the cardholder name
Cvv2:
type: string
description: The three or four digit CVV code at the back side of the credit and debit card. This value is required for all card-not-present processing environments
ExpirationDate:
type: string
description: Optional with Token. Card's expiry date in the YYMM format
format: date
Guid:
type: string
description: Guid is the unique identifier for a card info generated by Connexpay upon previous Sale creation. Create Sale API will accept either card info or Guid, but not both
IsRecurring:
type: boolean
description: 'Flagging a transaction as "IsRecurring": true allows a recurring sale to be submitted without a valid CVV code, which is only intended for scenarios where you might be storing card data to perform repeated payments on the same card, such as a monthly subscriptions. Typically IsRecurring can be defaulted to False.'
default: false
Customer:
type: object
description: Customer data
properties:
FirstName:
type: string
description: Mandatory for ACH Sales. Min Length = 2 Max Length = 30
LastName:
type: string
description: Mandatory for ACH Sales. Min Length = 2 Max Length = 30
Phone:
type: string
description: Customer's phone number. Phone number up to 15 characters. Numbers and plus sign (+) allowed only. 3D Secure Authentication requires a valid customer email address or phone number is included.
City:
type: string
description: Customer's City
State:
type: string
description: Customer's short name state. The ISO 3166-2 CA and US state or province code of a customer. Length = 2.
Country:
type: string
description: Customer's country. The ISO country code of a customer’s country. Length = 2
Email:
type: string
description: Customer's valid email address which is available in various reports. It is critical that SendReceipt is set to FALSE so that ConnexPay does not send a receipt to the cardholder when the transaction is processed. 3D Secure Authentication requires a valid customer email address or phone number is included.
Address1:
type: string
description: 'Customer billing address 1. It is strongly recommended to send this value in a card-not-present environment such that enhanced Address Validation (AVS) can be performed on transaction and the lowest possible interchange is received on transaction. Note: only the street number value portion of address is used for enhanced AVS check'
Address2:
type: string
description: Customer billing address 2. It is strongly recommended to send this value in a card-not-present environment such that Address Validation (AVS) can be performed on transaction and the lowest possible interchange is received on transaction
Zip:
type: string
description: Customer billing postal code. It is strongly recommended to send this value in a card-not-present environment such that basic Address Validation (AVS) can be performed on transaction and the lowest possible interchange is received on transaction. Only the a standard U.S. 5 digit zip code is eligible for basic AVS check. Min Length = 2 Max Length = 15. Alphanumerics and "-" allowed.
DateOfBirth:
type: string
description: 'Customer''s date of birth. Allowed format: YYYY-MM-DD. For example: 2002-05-30'
format: date
DriversLicenseNumber:
type: integer
description: Customer's driver license number. Only letters, numbers and a hyphen is allowed
format: int32
DriversLicenseState:
type: string
description: Mandatory when DriverLicenseNumber is provided. Customer's driver license short name state. The ISO 3166-2 CA and US state or province code of a customer. Length = 2
SSN4:
type: integer
description: Last 4 of Customer's Social Security Number
format: int32
ThreeDS:
type: object
description: 'ThreeDS object is required when 3DS authentication parameters are being passed in the Sale or Auth. For US clients: the parameters are identified using the 3DS Authentication endpoint. For EU clients: the parameters are identified when a cardholder challenge and/or fingerprint authentication is required after calling the Create Sale or Auth Only endpoint with the BrowserData object details.'
properties:
SecureCode:
type: string
Cavv:
type: string
description: Cardholder authentication verification value
Version:
type: string
description: Version of 3DS being used
DirectoryServerTransactionID:
type: string
description: Unique identifier provided by the card scheme as part of 3D Secure authentication.
AcsTransactionId:
type: string
description: Unique Identifier provided by the Access Control Server of the Card Issuer.
ECI:
type: string
description: Displays the Electronic Commerce Indicator (ECI). The ECI indicates the security level of the payment information provided to the merchant. A value of 0, 1 or 2 is a Mastercard transaction. A value of 5, 6 or 7 is a Visa, American Express, Diners or Discover card.
BankAccount:
type: object
description: Conditional - Mandatory if Verify Bank Account is the parameter requested.
required:
- AccountType
- RoutingNumber
- AccountNumber
- NameOnAccount
properties:
AccountType:
type: string
description: 'Accepted account types are: Saving or Checking'
RoutingNumber:
type: string
description: 9 Digit routing number
AccountNumber:
type: string
description: Account number up to 20 characters
NameOnAccount:
type: string
description: Name on the account for ACH transfer (upto 50 characters)
AccountAndRoutingNumberToken:
type: string
description: Encrypted Token previously assigned to Bank Account. Either AccountAndRoutingNumberToken or both AccountNumber and RoutingNumber should be provided.
Customer:
type: object
properties:
FirstName:
type: string
description: Mandatory for ACH Sales. Min Length = 2 Max Length = 30
LastName:
type: string
description: Mandatory for ACH Sales. Min Length = 2 Max Length = 30
Phone:
type: string
description: Customer's phone number. Phone number up to 15 characters. Numbers and plus sign (+) allowed only. 3D Secure Authentication requires a valid customer email address or phone number is included.
City:
type: string
description: Customer's City
State:
type: string
description: Customer's short name state. The ISO 3166-2 CA and US state or province code of a customer. Length = 2.
Country:
type: string
description: Customer's country. The ISO country code of a customer’s country. Length = 2
Email:
type: string
description: Customer's valid email address which is available in various reports. It is critical that SendReceipt is set to FALSE so that ConnexPay does not send a receipt to the cardholder when the transaction is processed. 3D Secure Authentication requires a valid customer email address or phone number is included.
Address1:
type: string
description: 'Customer billing address 1. It is strongly recommended to send this value in a card-not-present environment such that enhanced Address Validation (AVS) can be performed on transaction and the lowest possible interchange is received on transaction. Note: only the street number value portion of address is used for enhanced AVS check'
Address2:
type: string
description: Customer billing address 2. It is strongly recommended to send this value in a card-not-present environment such that Address Validation (AVS) can be performed on transaction and the lowest possible interchange is received on transaction
Zip:
type: string
description: Customer billing postal code. It is strongly recommended to send this value in a card-not-present environment such that basic Address Validation (AVS) can be performed on transaction and the lowest possible interchange is received on transaction. Only the a standard U.S. 5 digit zip code is eligible for basic AVS check. Min Length = 2 Max Length = 15. Alphanumerics and "-" allowed.
DateOfBirth:
type: string
description: 'Customer''s date of birth. Allowed format: YYYY-MM-DD. For example: 2002-05-30'
format: date
DriversLicenseNumber:
type: integer
description: Customer's driver license number. Only letters, numbers and a hyphen is allowed
format: int32
DriversLicenseState:
type: string
description: Mandatory when DriverLicenseNumber is provided. Customer's driver license short name state. The ISO 3166-2 CA and US state or province code of a customer. Length = 2
SSN4:
type: integer
description: Last 4 of Customer's Social Security Number
format: int32
examples:
Verify Card Request Example:
value:
DeviceGuid: '{{Device}}'
Card:
CardNumber: '4111111111111111'
CardHolderName: John Verify
Cvv2: '999'
ExpirationDate: '2212'
Customer:
FirstName: John
LastName: Verify
Phone: '9177563051'
City: New York
State: NY
Country: US
Email: JohnVerify@test.com
Address1: 111 11th Av.
Address2: ''
Zip: '10011'
DateOfBirth: '1991-11-11'
DriverLicenseNumber: '12345678'
DriverLicenseState: TX
SSN4: '1210'
Verify Bank Account Request Example:
value:
DeviceGuid: '{{Device}}'
BankAccount:
AccountType: Checking
RoutingNumber: '042000314'
AccountNumber: '222333'
NameOnAccount: PR
Customer:
FirstName: Ping
LastName: VerifyTest
responses:
'201':
description: '201'
content:
application/json:
examples:
Verify Card Response Example:
value: "{\n \"guid\": \"9a72c29f-cc89-495c-a2b7-e25faeb850ac\",\n \"status\": \"Transaction - Approved\",\n \"timeStamp\": \"2022-10-26T09:56:43.07-05:00\",\n \"deviceGuid\": \"0b7a9536-9fcd-4074-a841-d47eef77b81b\",\n \"card\": {\n \"first6\": \"411111\",\n \"first4\": \"4111\",\n \"last4\": \"1111\",\n \"cardHolderName\": \"John Verify\",\n \"cardType\": \"Visa\",\n \"expirationDate\": \"2022-12\",\n \"guid\": \"0ca56348-fa53-4ef0-87b0-3b3a096a629b\",\n \"customer\": {\n \"guid\": \"c5bf2c6f-3da9-4199-ba84-44208d61efad\",\n \"firstName\": \"John\",\n \"lastName\": \"Verify\",\n \"dateOfBirth\": \"1991-11-11T00:00:00\",\n \"address1\": \"111 11th Av.\",\n \"address2\": \"\",\n \"zip\": \"10011\",\n \"city\": \"New York\",\n \"country\": \"US\",\n \"phone\": \"9177563051\",\n \"email\": \"JohnVerify@test.com\",\n \"ssN4\": \"1210\",\n \"driverLicenseNumber\": \"12345678\"\n }\n },\n \"addressVerificationCode\": \"N\",\n \"cvvVerificationCode\": \"M\",\n \"processorStatusCode\": \"A0000\",\n \"wasProcessed\": true\n}"
Verify Bank Account Response Example:
value: "{\n \"guid\": \"08d690d1-c7db-40db-9057-08877fa2e117\",\n \"status\": \"Transaction - Approved\",\n \"timeStamp\": \"2022-10-26T09:48:59.14-05:00\",\n \"deviceGuid\": \"0b7a9536-9fcd-4074-a841-d47eef77b81b\",\n \"bankAccount\": {\n \"guid\": \"df65d7ef-0f21-4df6-bca0-c56cc0416229\",\n \"accountType\": \"Checking\",\n \"accountNumberLastFour\": \"2333\",\n \"nameOnAccount\": \"PR\",\n \"customer\": {\n \"guid\": \"50fe7902-d3e4-4da2-a015-e847ffadd297\",\n \"firstName\": \"Ping\",\n \"lastName\": \"VerifyTest\"\n },\n \"accountAndRoutingNumberToken\": \"c64giUcZ/gscrJI+r4HSHxs5pUZgk51WIHdIUhcN8WGlPncRcfcWFegqw6n/ZOLViIObEye4kAub8cfP3CCNCv4JZw28vKirJj1SI4sa6N89/RRPSCql4oIS8kxZ9dBdfBbld2znQhrGR80ToS9GiTMcxyFKIt3anSWqZue07CYweaAK/TpE1AJdbCL/CFNyEQQLxy3KgaQoEEa4/MFW7qENJmjqc3uqM3D5BvqwhSxQhyL8ozaRxfSd2f5GB6ipAJgxH5snpuLGi0QAFjdJwHWeh4G21EAUhjqdVsiYjpo/5zWmoZ3mq8Y5j3gXZgutxyaqEsb1QvD/McDvs+0GXA==\"\n },\n \"processorStatusCode\": \"A1\",\n \"wasProcessed\": true\n}"
schema:
oneOf:
- title: Verify Card Response Example
type: object
properties:
guid:
type: string
example: 9a72c29f-cc89-495c-a2b7-e25faeb850ac
status:
type: string
example: Transaction - Approved
timeStamp:
type: string
example: '2022-10-26T09:56:43.07-05:00'
deviceGuid:
type: string
example: 0b7a9536-9fcd-4074-a841-d47eef77b81b
card:
type: object
properties:
first6:
type: string
example: '411111'
first4:
type: string
example: '4111'
last4:
type: string
example: '1111'
cardHolderName:
type: string
example: John Verify
cardType:
type: string
example: Visa
expirationDate:
type: string
example: 2022-12
guid:
type: string
example: 0ca56348-fa53-4ef0-87b0-3b3a096a629b
customer:
type: object
properties:
guid:
type: string
example: c5bf2c6f-3da9-4199-ba84-44208d61efad
firstName:
type: string
example: John
lastName:
type: string
example: Verify
dateOfBirth:
type: string
example: '1991-11-11T00:00:00'
address1:
type: string
example: 111 11th Av.
address2:
type: string
example: ''
zip:
type: string
example: '10011'
city:
type: string
example: New York
country:
type: string
example: US
phone:
type: string
example: '9177563051'
email:
type: string
example: JohnVerify@test.com
ssN4:
type: string
example: '1210'
driverLicenseNumber:
type: string
example: '12345678'
addressVerificationCode:
type: string
example: N
cvvVerificationCode:
type: string
example: M
processorStatusCode:
type: string
example: A0000
wasProcessed:
type: boolean
example: true
default: true
- title: Verify Bank Account Response Example
type: object
properties:
guid:
type: string
example: 08d690d1-c7db-40db-9057-08877fa2e117
status:
type: string
example: Transaction - Approved
timeStamp:
type: string
example: '2022-10-26T09:48:59.14-05:00'
deviceGuid:
type: string
example: 0b7a9536-9fcd-4074-a841-d47eef77b81b
bankAccount:
type: object
properties:
guid:
type: string
example: df65d7ef-0f21-4df6-bca0-c56cc0416229
accountType:
type: string
example: Checking
accountNumberLastFour:
type: string
example: '2333'
nameOnAccount:
type: string
example: PR
customer:
type: object
properties:
guid:
type: string
example: 50fe7902-d3e4-4da2-a015-e847ffadd297
firstName:
type: string
example: Ping
lastName:
type: string
example: VerifyTest
accountAndRoutingNumberToken:
type: string
example: c64giUcZ/gscrJI+r4HSHxs5pUZgk51WIHdIUhcN8WGlPncRcfcWFegqw6n/ZOLViIObEye4kAub8cfP3CCNCv4JZw28vKirJj1SI4sa6N89/RRPSCql4oIS8kxZ9dBdfBbld2znQhrGR80ToS9GiTMcxyFKIt3anSWqZue07CYweaAK/TpE1AJdbCL/CFNyEQQLxy3KgaQoEEa4/MFW7qENJmjqc3uqM3D5BvqwhSxQhyL8ozaRxfSd2f5GB6ipAJgxH5snpuLGi0QAFjdJwHWeh4G21EAUhjqdVsiYjpo/5zWmoZ3mq8Y5j3gXZgutxyaqEsb1QvD/McDvs+0GXA==
processorStatusCode:
type: string
example: A1
wasProcessed:
type: boolean
example: true
default: true
deprecated: false
tags:
- Verify
components:
securitySchemes:
sec0:
type: oauth2
flows: {}
x-readme:
headers: []
explorer-enabled: false
proxy-enabled: false
x-readme-fauxas: true