Verification & Validation

ValidCard
Endpoint Overview
Endpoint URL:
https://secure.ftipgw.com/ArgoFire/validate.asmx?op=ValidCard
Method: Supports SOAP POST and HTTP POST (form-encoded)
Description: Performs real-time validation of a credit card number, expiration date, and card security code (CVV). This endpoint is typically used during account setup, billing profile creation, or tokenization flows to verify that the card is structurally valid and passes preliminary risk checks.
Request Parameters
UserName
string
Yes
Admin username
Password
string
Yes
Admin password
Vendor
string
Yes
Merchant numeric key
CcAccountNum
string
Yes
Credit card number
CcExpDate
string
Yes
Expiration date (MMYY)
CVNum
string
No
Card verification value (CVV/CVC)
ExtData
string
No
Optional XML-formatted metadata
Notes
Validation scope: This endpoint performs basic format checks and gateway-level rules validation, but does not submit an authorization to the issuer. It is used for validation only, not for processing charges.
Use cases:
Confirming a card is correctly formatted and not obviously invalid
Pre-screening before saving card data or generating a token
Validating user input in hosted payment forms
Verifying CVV for consumer-facing applications
Does not authorize funds: No hold or charge is placed on the card — this is a non-financial validation operation.
CVNum is optional but recommended: Including the card security code improves the validation reliability and mimics real transaction conditions more closely.
Not a substitute for full auth: A successful
ValidCard
response does not guarantee that a future transaction will be approved. It should be used only as a basic card validation step.ExtData usage: Can be used to pass optional context such as environment tags, session IDs, or integration-specific flags.
SOAP 1.1
The following is a sample SOAP 1.1 request and response. The placeholders shown need to be replaced with actual values.
POST /ArgoFire/validate.asmx HTTP/1.1
Host: secure.ftipgw.com
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://localhost/SmartPayments/ValidCard"
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ValidCard xmlns="http://localhost/SmartPayments/">
<CardNumber>string</CardNumber>
<ExpDate>string</ExpDate>
</ValidCard>
</soap:Body>
</soap:Envelope>
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ValidCardResponse xmlns="http://localhost/SmartPayments/">
<ValidCardResult>int</ValidCardResult>
</ValidCardResponse>
</soap:Body>
</soap:Envelope>
SOAP 1.2
The following is a sample SOAP 1.2 request and response. The placeholders shown need to be replaced with actual values.
POST /ArgoFire/validate.asmx HTTP/1.1
Host: secure.ftipgw.com
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<ValidCard xmlns="http://localhost/SmartPayments/">
<CardNumber>string</CardNumber>
<ExpDate>string</ExpDate>
</ValidCard>
</soap12:Body>
</soap12:Envelope>
HTTP/1.1 200 OK
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<ValidCardResponse xmlns="http://localhost/SmartPayments/">
<ValidCardResult>int</ValidCardResult>
</ValidCardResponse>
</soap12:Body>
</soap12:Envelope>
HTTP POST
The following is a sample HTTP POST request and response. The placeholders shown need to be replaced with actual values.
POST /ArgoFire/validate.asmx/ValidCard HTTP/1.1
Host: secure.ftipgw.com
Content-Type: application/x-www-form-urlencoded
Content-Length: length
CardNumber=string&ExpDate=string
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<int xmlns="http://localhost/SmartPayments/">int</int>
ValidCardLength
Endpoint URL:
https://secure.ftipgw.com/ArgoFire/validate.asmx?op=ValidCardLength
Method: Supports SOAP POST and HTTP POST (form-encoded)
Description: Checks whether the length and prefix (BIN/IIN) of a provided credit card number match known patterns for valid card types (Visa, MasterCard, etc.). This is a non-financial, pre-authorization check used for input validation and front-end form filtering.
Request Parameters
UserName
string
Yes
Admin username
Password
string
Yes
Admin password
Vendor
string
Yes
Merchant numeric key
CcAccountNum
string
Yes
Credit card number to validate
ExtData
string
No
Optional XML-formatted metadata
Notes
Validation behavior: This endpoint does not perform authorization or real-time card verification. It simply checks:
Whether the card number has the correct length for its prefix
Whether the card prefix (IIN/BIN) matches known issuers
Whether the card number passes the Luhn (mod-10) checksum
Use cases:
Real-time validation on hosted payment pages
Screening card data before attempting authorization
Sanitizing input in account setup flows
Filtering out mistyped or obviously invalid card numbers
No expiration date or CVV required: Only the card number is needed. This makes it ideal for client-side or early-stage backend validations.
Response results: The response typically includes:
Validation pass/fail status
Detected card type (if identifiable)
Optional message or error description
Low risk, high utility: Because it performs no network contact with issuers or processors, this check is fast, low-risk, and useful in real-time UX flows.
ExtData support: Can be used to pass tracking context or integration-specific flags, if needed.
SOAP 1.1
The following is a sample SOAP 1.1 request and response. The placeholders shown need to be replaced with actual values.
POST /ArgoFire/validate.asmx HTTP/1.1
Host: secure.ftipgw.com
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://localhost/SmartPayments/ValidCardLength"
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ValidCardLength xmlns="http://localhost/SmartPayments/">
<CardNumber>string</CardNumber>
</ValidCardLength>
</soap:Body>
</soap:Envelope>
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ValidCardLengthResponse xmlns="http://localhost/SmartPayments/">
<ValidCardLengthResult>boolean</ValidCardLengthResult>
</ValidCardLengthResponse>
</soap:Body>
</soap:Envelope>
SOAP 1.2
The following is a sample SOAP 1.2 request and response. The placeholders shown need to be replaced with actual values.
POST /ArgoFire/validate.asmx HTTP/1.1
Host: secure.ftipgw.com
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<ValidCardLength xmlns="http://localhost/SmartPayments/">
<CardNumber>string</CardNumber>
</ValidCardLength>
</soap12:Body>
</soap12:Envelope>
HTTP/1.1 200 OK
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<ValidCardLengthResponse xmlns="http://localhost/SmartPayments/">
<ValidCardLengthResult>boolean</ValidCardLengthResult>
</ValidCardLengthResponse>
</soap12:Body>
</soap12:Envelope>
HTTP POST
The following is a sample HTTP POST request and response. The placeholders shown need to be replaced with actual values.
POST /ArgoFire/validate.asmx/ValidCardLength HTTP/1.1
Host: secure.ftipgw.com
Content-Type: application/x-www-form-urlencoded
Content-Length: length
CardNumber=string
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<boolean xmlns="http://localhost/SmartPayments/">boolean</boolean>
ValidExpDate
Endpoint URL:
https://secure.ftipgw.com/ArgoFire/validate.asmx?op=ValidExpDate
Method: Supports SOAP POST and HTTP POST (form-encoded)
Description: Validates that a provided credit card expiration date is correctly formatted and not expired. This is a lightweight, non-financial check used for form validation and pre-processing flows.
Request Parameters
UserName
string
Yes
Admin username
Password
string
Yes
Admin password
Vendor
string
Yes
Merchant numeric key
CcExpDate
string
Yes
Expiration date in MMYY format
ExtData
string
No
Optional XML-formatted metadata
Notes
Validation scope: This check ensures that:
The date is in valid MMYY format
The date is not in the past relative to the current system time
The month value is between
01
and12
Use cases:
Validating expiration dates during form entry
Filtering out invalid or expired cards before tokenization
Providing immediate UX feedback during card input
No card number required: This check only applies to the expiration date field — it does not require or validate any card number.
No authorization performed: This is a non-transactional utility endpoint — it does not contact any issuers or affect cardholder accounts.
ExtData support: Can be used to pass integration-specific context such as environment flags or UI tracking data.
Best used with other validators: For comprehensive validation, pair this with
ValidCard
orValidCardLength
to ensure complete format correctness.
SOAP 1.1
The following is a sample SOAP 1.1 request and response. The placeholders shown need to be replaced with actual values.
POST /ArgoFire/validate.asmx HTTP/1.1
Host: secure.ftipgw.com
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://localhost/SmartPayments/ValidExpDate"
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ValidExpDate xmlns="http://localhost/SmartPayments/">
<ExpDate>string</ExpDate>
</ValidExpDate>
</soap:Body>
</soap:Envelope>
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ValidExpDateResponse xmlns="http://localhost/SmartPayments/">
<ValidExpDateResult>boolean</ValidExpDateResult>
</ValidExpDateResponse>
</soap:Body>
</soap:Envelope>
SOAP 1.2
The following is a sample SOAP 1.2 request and response. The placeholders shown need to be replaced with actual values.
POST /ArgoFire/validate.asmx HTTP/1.1
Host: secure.ftipgw.com
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<ValidExpDate xmlns="http://localhost/SmartPayments/">
<ExpDate>string</ExpDate>
</ValidExpDate>
</soap12:Body>
</soap12:Envelope>
HTTP/1.1 200 OK
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<ValidExpDateResponse xmlns="http://localhost/SmartPayments/">
<ValidExpDateResult>boolean</ValidExpDateResult>
</ValidExpDateResponse>
</soap12:Body>
</soap12:Envelope>
HTTP POST
The following is a sample HTTP POST request and response. The placeholders shown need to be replaced with actual values.
POST /ArgoFire/validate.asmx/ValidExpDate HTTP/1.1
Host: secure.ftipgw.com
Content-Type: application/x-www-form-urlencoded
Content-Length: length
ExpDate=string
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
<?xml version="1.0" encoding="utf-8"?>
<boolean xmlns="http://localhost/SmartPayments/">boolean</boolean>
ValidMod10
Endpoint URL:
https://secure.ftipgw.com/ArgoFire/validate.asmx?op=ValidMod10
Method: Supports SOAP POST and HTTP POST (form-encoded)
Description: Performs a Luhn (Mod 10) checksum validation on a credit card number. This is a basic mathematical test used to verify that the card number is structurally valid and not obviously mistyped.
Request Parameters
UserName
string
Yes
Admin username
Password
string
Yes
Admin password
Vendor
string
Yes
Merchant numeric key
CcAccountNum
string
Yes
Credit card number to validate
ExtData
string
No
Optional XML-formatted metadata
Notes
Luhn algorithm: This check uses the Mod 10 algorithm, which is standard across the payments industry to validate card number integrity. If the number fails this check, it's likely mistyped or invalid.
No issuer contact made: This is a local algorithmic check and does not involve any authorization or communication with card networks.
Use cases:
Instant form validation in front-end applications
Filtering out fake or mistyped numbers before processing
Reducing unnecessary authorization attempts and failures
Does not confirm legitimacy: Passing the Luhn check only confirms that the number could be valid — it does not guarantee that the card is real, active, or authorized.
No expiration or CVV required: Only the card number is needed. This makes it especially useful early in the validation process.
ExtData support: Use to pass additional request metadata, logging preferences, or integration context, if applicable.
Last updated