openapi: 3.1.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