Adflex FilePay
Make credit card payments easy. You create a payment file from your back-office system and batch upload it to Adflex FilePay for automatic authorisation and settlement; this includes level 3 purchasing cards, travel hand-off data and straight-through processing. No manual entry, and we offer custom mapping to remove any development.
Simple setup
FilePay requires little to no change to your current back-office processes and accepts various file formats, including .xml, .csv, .txt and EDI files.
Security
Reduce your PCI-DSS scope by using our proprietary tokenization technology to map card numbers directly to an alias code of your choice.
Upload
Upload payment instruction files via our online MyAdflex service or via Secure File Transfer Protocol (SFTP).
Reporting
You can download settlement results to your system, or access transaction reports directly using the MyAdflex web portal.
AP and AR supported
FilePay supports the issuance and acceptance of card transactions. As a result, is perfect for buyers and merchants.
Getting started
Here is a check list to get you started
- Preferred file format.
- Preferred upload method.
- Card types you need to process.
- Transaction currencies.
CSV standard level 3 purchasing card request file format
All monetary and quantity fields must be zero to positive values. Negative values will be rejected.
Mode key:
M= Mandatory.
O= Optional.
Header | |||||
---|---|---|---|---|---|
Field No | Field Name | Type | Size | Mode | Description |
1 | PFGID | String | 30 | M | Your Adflex Account Number - provided by Adflex when you sign up |
2 | DocumentType | String | 1 | M | I=Invoice, C=Credit |
3 | InvoiceNumber | String | 6-12 | M | Invoice Number. Must be unique and between 6-12 characters |
4 | DocumentDate | Date | 10 | M | Invoice Date. Formatted as YYYY-MM-DD e.g. 2015-06-02 |
5 | CostCentre | String | 80 | O | Cost Centre |
6 | BuyersRef | String | 80 | O | Buyer Reference |
7 | PONumber | String | 35 | O | Purchase Order Number |
8 | BYAccCode | String | 50 | M | Buyer Account Code - Used to look up buyer details from Adflex configuration |
9 | BYVATNumber | String | 13 | O | Buyer VAT Number - Only used for cross border transactions |
10 | CardToken | String | 50 | O | Unique key used to look up pre-registered card details or if using real card, then use format: '#22;cardnumber;expirydate as MMYY' For example: #22;4539791001730106;1115 Encryption must be used if using real card numbers |
11 | PaymentCurrency | String | 3 | M | Three character ISO 4217 transaction currency code e.g. GBP,EUR |
12 | Net | Decimal | 12.2 | M | Document Net Value (after discount) |
13 | Discount | Decimal | 12.2 | O | Document Header Discount Value. If no discount, default to 0.00 |
14 | Tax | Decimal | 12.2 | M | Document Tax (VAT) Value |
15 | Gross | Decimal | 12.2 | M | Sum of Net+Tax |
Lines | |||||
Field No | Field Name | Type | Size | Mode | Description |
16 | LineNumber | Integer | 3 | M | Line number - Starting at 1 incrementing by 1 for each line |
17 | VPartNumber | String | 80 | O | Part Number |
18 | VPartDescription | String | 80 | M | Part Description |
19 | CommodityCode | String | 10 | O | Commodity Code - Only use a valid code or leave blank |
20 | UOM | String | 12 | M | Unit Of Measure which Qty refers to (Each/Per Metre/Kg etc.). If unit price is zero then set to FOC |
21 | Qty | Decimal | 12.4 | M | Quantity of items |
22 | Unit | Decimal | 12.4 | M | Unit price of line item |
23 | LineTotal | Decimal | 12.2 | M | Sum of (Qty*Unit)-LineDiscount |
24 | Discount | Decimal | 12.2 | O | Line discount deducted from sum of Qty*Unit. If no discount, default to 0.00 |
25 | TaxCode | String | 1 | M | Line Tax Code - S=Standard, E=Exempt, Z=Zero, R=Reduced |
26 | TaxRate | Decimal | 12.2 | M | Tax Rate Percentage |
27 | TaxAmount | Decimal | 12.2 | O | If TaxTreatment is NLL (Net Line Level) then Sum of ((Qty * UnitPrice)-LineDiscount)*LineTaxRate otherwise set to zero |
CSV standard level 1 (debit and credit) request file format
Please note all monetary and quantity fields must be zero to positive values. Negative values will be rejected.
Mode key:
M= Mandatory.
O= Optional.
Header | |||||
---|---|---|---|---|---|
Field No | Field Name | Type | Size | Mode | Description |
1 | PFGID | String | 30 | M | Your Adflex Account Number - provided by Adflex when you sign up |
2 | DocumentType | String | 1 | M | I=Invoice, C=Credit |
3 | InvoiceNumber | String | 6-12 | M | Invoice Number. Must be unique and between 6-12 characters |
4 | TransactionDate | Date | 10 | M | Date of transaction. Formatted as YYYY-MM-DD e.g. 2015-06-02 |
5 | CostCentre | String | 80 | O | Cost Centre |
6 | BuyersRef | String | 80 | O | Buyer Reference |
7 | PONumber | String | 35 | O | Purchase Order Number |
8 | CardToken | String | 50 | O | Unique key used to look up pre-registered card details or if using real card, use format as: '#22;cardnumber;expirydate as MMYY' For example: #22;4539791001730106;1115 Encryption must be used if using real card numbers |
9 | PaymentCurrency | String | 3 | M | Three character ISO 4217 transaction currency code e.g. GBP,EUR |
10 | Gross | Decimal | 12.2 | M | Card amount |
CSV extended level 3 purchasing card request file format
Please note all monetary and quantity fields must be zero to positive values. Negative values will be rejected.
Mode key:
M= Mandatory.
O= Optional.
Header | |||||
---|---|---|---|---|---|
Field No | Field Name | Type | Size | Mode | Description |
1 | PFGID | String | 30 | M | Your Adflex Account Number - provided by Adflex when you sign up |
2 | DocumentType | String | 1 | M | I=Invoice, C=Credit |
3 | InvoiceNumber | String | 6-12 | M | Invoice Number. Must be unique and between 6-12 characters |
4 | DocumentDate | Date | 10 | M | Invoice Date. Formatted as YYYY-MM-DD e.g. 2015-06-02 |
5 | CostCentre | String | 80 | O | Cost Centre |
6 | BuyersRef | String | 80 | O | Buyer Reference |
7 | PONumber | String | 35 | O | Purchase Order Number |
8 | BYAccCode | String | 50 | M | Buyer Account Code - Used to look up buyer details from Adflex configuration |
9 | BYVATNumber | String | 13 | O | Buyer VAT Number - Only used for cross border transactions |
10 | CardToken | String | 50 | O | Unique key used to look up pre-registered card details or if using real card, then use format: '#22;cardnumber;expirydate as MMYY' For example: #22;4539791001730106;1115 Encryption must be used if using real card numbers |
11 | PaymentCurrency | String | 3 | M | Three character ISO 4217 transaction currency code e.g. GBP,EUR |
12 | Net | Decimal | 12.2 | M | Document Net Value (after discount) |
13 | Discount | Decimal | 12.2 | O | Document Header Discount Value. If no discount, default to 0.00 |
14 | Tax | Decimal | 12.2 | M | Document Tax (VAT) Value |
15 | Gross | Decimal | 12.2 | M | Sum of Net+Tax |
16 | BYName | String | 50 | O | Buyer Name |
17 | BYStreet1 | String | 50 | O | Buyer Address Line 1 |
18 | BYStreet2 | String | 50 | O | Buyer Address Line 2 |
19 | BYStreet3 | String | 50 | O | Buyer Address Line 3 |
20 | BYCity | String | 50 | O | Buyer Address City |
21 | BYCounty | String | 50 | O | Buyer Address County |
22 | BYPostcode | String | 20 | O | Buyer Address Zip/Postcode |
23 | BYCountryCode | String | 3 | O | Three character ISO 3166-1 alpha-3 Country Code |
24 | BYContactName | String | 50 | O | Buyer Contact Name |
25 | DPName | String | 50 | O | Delivery Point Name |
26 | DPStreet1 | String | 50 | O | Delivery Point Address Line 1 |
27 | DPStreet2 | String | 50 | O | Delivery Point Address Line 2 |
28 | DPStreet3 | String | 50 | O | Delivery Point Address Line 3 |
29 | DPCity | String | 50 | O | Delivery Point Address City |
30 | DPCounty | String | 50 | O | Delivery Point Address County |
31 | DPPostcode | String | 20 | O | Delivery Point Address Zip/Postcode |
32 | DPCountryCode | String | 3 | O | Three character ISO 3166-1 alpha-3 Country Code |
33 | DPContactName | String | 50 | O | Delivery Point Contact Name |
Lines | |||||
Field No | Field Name | Type | Size | Mode | Description |
34 | LineNumber | Integer | 3 | M | Line Number - Starting at 1 incrementing by 1 for each line |
35 | VPartNumber | String | 80 | O | Part Number |
36 | VPartDescription | String | 80 | M | Part Description |
37 | CommodityCode | String | 10 | O | Commodity Code - Only use a valid code or leave blank |
38 | UOM | String | 12 | M | Unit Of Measure which Qty refers to (Each/Per Metre/Kg etc.). If unit price is zero then set to FOC |
39 | Qty | Decimal | 12.4 | M | Quantity of items |
40 | Unit | Decimal | 12.4 | M | Unit price of line item |
41 | LineTotal | Decimal | 12.2 | M | Sum of (Qty*Unit)-LineDiscount |
42 | Discount | Decimal | 12.2 | O | Line discount deducted from sum of Qty*Unit. If no discount, default to 0.00 |
43 | TaxCode | String | 1 | M | Line Tax Code - S=Standard, E=Exempt, Z=Zero, R=Reduced |
44 | TaxRate | Decimal | 12.2 | M | Tax Rate Percentage |
45 | TaxAmount | Decimal | 12.2 | O | If TaxTreatment is NLL (Net Line Level) then Sum of ((Qty * UnitPrice)-LineDiscount)*LineTaxRate otherwise set to zero |
46 | BYPartNumber | String | 35 | O | Buyer part number |
47 | BYPartDescription | String | 80 | O | Buyer part description |
XML standard request format
Click here to view adflex-bureau-v1.0.0.xsd Schema Definition
Click here to view adflex-bureau-v1.0.0.xsd Request Schema Documentation
Click here to view adflex-bureau-v1.0.0.xsd Response Schema Documentation
Click here to view adflex-bureau-v1.0.0.xsd Complete Schema Documentation
Custom request format
If you cannot create a FilePay request file in any of the Adflex standard formats, we can look at existing files your system can export and create a custom mapping.
PushPay (straight-through processing) CSV, level 1 file format
Request
Please note all monetary and quantity fields must be zero to positive values. Negative values will be rejected.
Mode key:
M= Mandatory.
O= Optional.
Header | |||||
---|---|---|---|---|---|
Field No | Field Name | Type | Size | Mode | Description |
1 | PFGID | String | 30 | M | Your Adflex Account Number - provided by Adflex when you sign up |
2 | DocumentType | String | 1 | M | I=Invoice, C=Credit |
3 | InvoiceNumber | String | 6-12 | M | Invoice Number. Must be unique and between 6-12 characters |
4 | DocumentDate | Date | 10 | M | Invoice Date. Formatted as YYYY-MM-DD e.g. 2015-06-02 |
5 | SULookUpCode | String | 50 | M | Supplier Lookup Code - Used to look up supplier payment details from Adflex configuration |
6 | PaymentCurrency | String | 3 | M | Three character ISO 4217 transaction currency code e.g. GBP,EUR |
7 | Gross | Decimal | 12.2 | M | Total payment value |
8 | ClientRef1 | String | 50 | O | Additional references. Note: target system may truncate |
9 | ClientRef2 | String | 50 | O | Additional references. Note: target system may truncate |
10 | ClientRef3 | String | 50 | O | Additional references. Note: target system may truncate |
11 | ClientRef4 | String | 50 | O | Additional references. Note: target system may truncate |
12 | ClientRef5 | String | 50 | O | Additional references. Note: target system may truncate |
13 | ClientRef6 | String | 50 | O | Additional references. Note: target system may truncate |
Response
Field No | Field Name | Type | Size | Mode | Description |
---|---|---|---|---|---|
1 | ID | Integer | 1-9 | M | Adflex generated ID (eg. 100025) |
2 | Batch | String | 1 | M | Batch number |
3 | TransactionRef | String | 1-12 | M | Transaction reference from submitted file |
4 | TransactionGUID | GUID | 1-40 | M | Transaction GUID returned from APG |
5 | Type | String | 1 | M | Transaction type (I=Invoice, C=Credit) |
6 | Value | Decimal | 12.2 | O | Transaction value |
7 | Currency | String | 3 | M | Three character ISO 4217 transaction currency code e.g. GBP,EUR |
8 | CardName | String | 50 | O | Card Issuer |
9 | CardScheme | String | 50 | O | Card Scheme |
10 | TID | String | 8 | M | Transaction Terminal TID |
11 | MID | String | 15 | M | Merchant ID used to process transaction |
12 | MsgNo | String | 4 | M | Authorisation message number (0000-9999) |
13 | AVSCVC | String | 8 | O | Transactions AVS/CVC response |
14 | ReferralMsg | String | 20 | O | Referral message (eg. "Phone 01277 268755") |
15 | AuthCode | String | 15 | O | Authorisation code |
16 | StatusCode | Integer | 2 | M | Transaction status code (8=Auth, 9=Decline, 19=Error, 20=ReferralA, 21=ReferralB) |
17 | ResponseMsg | String | 20 | O | Response message (Authorised, Declined etc.) |
PushPay (straight-through processing) XML (Level 3) file format
Request
Click here to view adflex-bureau-v1.0.0.xsd Schema Definition
Click here to view adflex-bureau-v1.0.0.xsd Request Schema Documentation
Click here to view adflex-bureau-v1.0.0.xsd Response Schema Documentation
Click here to view adflex-bureau-v1.0.0.xsd Complete Schema Documentation
PushPay (straight-through processing) JSON format
Request
The file format for uploading pushpayment data is a JSON string of the following structure.
{ "batch": "12345", "date": "2020-09-09T11:41:43Z", "pfgID": "12345678", "payments": [ { "type": "payment", "method": "CardPAN", "paymentData": { "cardNumber": "448448...", "expiryDate": { "month": 1, "year": 2022 } }, "reference": "0012458", "accountID": "1234567", "amount": { "currency": "GBP", "value": "12000" }, "allocatedDocs": [ { "reference1": "6789899", "reference2": "6789899", "reference3": "6789899", "amount": { "currency": "GBP", "value": "12000" }, "allocatedValue": "12000" } ] } ] }
Description:
batch Batch number you have specified for this file.
date Current date in RFC 3339 ISO 8601 date format.
pfgID Your Adflex Account Code.
payments An array of the payments included in the file.
type Transaction type.
method Values: "CardToken", "CardTokenLookup", "CardPAN" or "BACS".
paymentData An object containing data relating to the recipient of the payment. The object depends on the value of "method"
, as below:
{ "method": "CardPAN", "paymentData": { "cardNumber": "448448...", "expiryDate": { "month": 1, "year": 2022 } } }
{ "method": "CardToken", "paymentData": { "token": "XXXX", "cardLast4Digits": "0123" } }
{ "method": "CardTokenLookup", "paymentData": { "tokenAlias": "XXXX" } }
number Card number of the payee. expiry Expiry date of the payee’s card. reference Payment reference. accountID Account number for the payee. amount An object containing the transction amount. currency Currency to be used in the transaction, expressed in the ISO 4217 three character currency code. value Transaction amount, expressed in the smallest common currency unit, e.g. pence. allocatedDocs A list of documents (e.g. invoices) to pay. reference1 Transaction reference. This must be max 12 alpha numeric and unique. reference2 Second reference (optional). reference3 Third reference (optional). amount Transaction amount, expressed in the smallest common currency unit, e.g. pence. currency Currency to be used in the transaction, expressed in the ISO 4217 three character currency code. value Transaction amount, expressed in the smallest common currency unit, e.g. pence. allocatedValue Transaction allocated amount, expressed in the smallest common currency unit, e.g. pence.
Response
{ "batch": "12345", "pfgID": "12345678", "processedDate": "2020-09-09T11:41:43Z", "transactions": [ { "paymentReference": "00124567", "accountID": "1234567", "reference1": "9876543", "cardDetails": { "tokenType": "Reusable", "token": "923F5F0A-DAD1-4F1F-872A-DF3266891138", "issuer": "Bank of Banks", "scheme": "VISA", "cardType": "CREDIT", "cardLast4Digits": "0001", "schemeCode": "0000", "enhancedDataType": "VGIS" }, "transactionDetails": { "type": "Sale", "statusCode": "Authorised", "subCode": "50001", "statusMessage": "Ok", "authCode": "648090", "messageNumber": "001", "terminalNumber": "11112222", "reference": "00124567", "transactionGUID": "0c9dd246-3b6b-48cf-b49a-262016d97773", "processedDate": "2021-03-13T09:05:55Z", "merchantNumber": "00778899", "captureMode": "MailOrder", "amount": { "currency": "GBP", "value": "12000" } } } ] }
Description: batch Batch number you have specified for this file. pfgID Your Adflex Account Code. processedDate Date processed in RFC 3339 ISO 8601 date format. transactions An array of the transactions included in the file. paymentReference Transaction reference. This must be max 12 alpha numeric and unique. accountID Account identifier. reference1 Transaction reference. cardDetails An object containing details of the card used in the transaction. tokenType Type of card token. token Token for the card. issuer Issuer of the card. scheme Card scheme. cardType Type of card. cardLast4Digits Last 4 digits of card. schemeCode Code for the scheme. enhancedDataType Enhanced data type for the card. transactionDetails Object containing details of the transaction. type Transaction type. statusCode Transaction status code (8=Auth, 9=Decline, 19=Error, 20=ReferralA, 21=ReferralB). subCode Adflex code for the transaction. statusMessage Message containing the status of the transaction. authCode Authorisation code. messageNumber Authorisation message number (0000-9999). terminalNumber Transaction Terminal TID. reference Transaction reference from submitted file. transactionGUID Transaction GUID returned from APG. processedDate Date processed in RFC 3339 ISO 8601 date format. merchantNumber Merchant ID used to process transaction. captureMode Environment in which card was captured. amount Transaction amount, expressed in the smallest common currency unit, e.g. pence. currency Currency to be used in the transaction, expressed in the ISO 4217 three character currency code. value Transaction amount, expressed in the smallest common currency unit, e.g. pence.
Adflex FilePay- file naming conventions
Each request file must use unique names to prevent duplicate files from being submitted. FilePay will check and reject an identical file and send an email to the recipient notification list configured during the service's initial setup.
The recommended file naming format is;
[YourCompanyName]_[BatchNumber].[FileExtension]
- YourCompanyName - Between 1 and 12 characters with no spaces
- BatchNumber - Between 6 and 18 alphanumeric with no spaces
- FileExtension - Between 1 and 3 alphanumeric with no spaces conforming to MS Windows file system file naming conventions
The BatchNumber doesn't have to be sequential number, although this may help you in tracking and reconciling submissions later on and can be any combination of characters and numbers. For example using a datetime stamp formatted like: 'yyyyMMddHHmmss'
Example file naming sequence:
- First file name - CompanyName_000001.REQ
- Second file name - CompanyName_000002.REQ
- Third file name - CompanyName_000003.REQ
Other file naming formats can be accommodated, but please consult with Adflex first.
Response files typically have the same name as the request file but with an extension of .RES
File upload options
MyAdflex
FilePay request files can be uploaded using MyAdflex, our web-based portal. Please see the instructions below on manually uploading a payment file to MyAdflex.
1. Login to MyAdflex using your credentials.
2. Click the ‘FilePay’ tab at the top of the page or click ‘Upload a payment file’ from the list.
3. To upload your payment file, click ‘choose’ locate your file and click ‘Open’. Finally click ‘Upload’.
4. After clicking upload, your payment file will automatically process and appear in the file log on the right-hand side of the page.
5. Once the payment file has been processed, you will receive a notification email from Adflex. The email will include a results file to assist you with reconciliation.
Secure File Transfer Protocol (SFTP)
If you prefer to upload payment instruction files via Secure File Transfer Protocol (SFTP), please contact our support team or your account manager.
API
Upload files using presigned URLs. Learn more here.
Customer Message Transaction Service Agent
The Adflex cmts Service Agent is a Windows32 service agent that can be run on any network or standalone PC/Server with an Internet connection. It's function is to monitor a TCP port for a transaction message and to securely deliver the message to the Adflex Payment Gateway for processing.
The service is designed to run as a background service under the Windows Local Service account context and does not have any user interface. We therefore provide a UDP monitor application (PFGUDPMonitor.exe), to monitor the UDP messages sent by the service. The IP address and Port of the UDP messages is set in the configuration and stored on the host machine registry.
Overview
- Application - Win32 Service
- Database - none required
- Certificates - none required.
- Encryption - Gold standard PKI encrypted string tunnelled via TLS over HTTPS
- Local registry - [HKEY_LOCAL_MACHINE\SOFTWARE\Adflex\CMTS\759617457\your PFGID value]
- Local network - Default TCP socket default listening port 5051
- Adflex connectivity - Fixed IP/https connection to Adflex Payment Gateway across the public internet
- Access to file folders - Local/UNC UDP log folders
- User account - Run using the Local System account with low privileges
- Installation - Code signed MSI installer, downloaded from Adflex
- Service activity monitoring - by default UDP activity messages are emitted on 127.0.0.1:600
System requirements
- 1 GB free hard disc space
- Fixed IP public internet connection via https
Installation
- Download Adflex CMTS Service Agent
- Download Adflex UDP Monitor
- Install CMTS Service Agent on target server/PC as administrator
- Enter CMTS Service Agent installation Config parameters as supplied in email from the Adflex Support Team
- Install Adflex UDP Monitor on required server/PC as administrator
- Start Adflex UDP monitor listening on the configured port (By default service emits UDP activity messages to 127.0.0.1:600. Edit service registry entry to change)
- In Windows SCM (Services Control Manager) start the Adflex FilePay Service
- You should now see messages from the Adflex CMTS service showing on the UDP monitor
Registry settings
[HKEY_LOCAL_MACHINE\SOFTWARE\Adflex\CMTS\759617457\your PFGID value]
Default Registry Settings | ||
Key | Description | Default (Decimal) Value |
DebugFlags | Adflex Reserved | 0 |
PFGID | Adflex assigned account code | Supplied in config email |
SyslogIP | UDP activity monitor IP address | 127.0.0.1 |
SyslogPort | UDP activity monitor Port | 600 |
LogFilePath | Log file path | Local file path where Log files are saved. Note this must be a path visible by the service agent user permissions. Mapped drives are not supported, UNC paths are supported |
PurgeLogFilesDays | Number of days to keep log files | 90 |
PFGAccessKey | Adflex assigned | Supplied in config email |
AuthenticationToken | Adflex authentication token | Supplied in config email |
EncryptData | Flag to enable/disable encryption | 0=Disabled, 1=Enabled |
EncryptDataKey | Key Store Name | Local machine key store name |
EncryptDataPK | Public Key | Public key provided by Adflex used to encrypt data |
NotificationEmailListOnError | Optional on file upload error email recipient list, separated by semicolons | example: contact1@myemail.com;contact2@myemail.com |
Account maintenance
Upload card registration file schema
Using Microsoft Excel to create CSV files
If you are using Excel to create a CSV file, card numbers may be treated as real numbers in Excel resulting in rounding or formatting as an exponent number!
To work around this please ensure card numbers are prefixed with an apostrophe '
For further information: http://office.microsoft.com/en-us/excel-help/display-numbers-as-credit-card-numbers-HA010236840.aspx
Card Security
Card submission files uploaded to the Adflex registration portal will be delivered using secure SSL encryption and processed on our PCI- DSS accredited platform. However, as your submission file will initially be in plain readable text, you must observe the relevant PCI-DSS security policies concerning card number security.
The sending of card data by non-secure methods contravenes PCI DSS compliance.
For further information about PCI DSS https://www.pcisecuritystandards.org
How to upload your registered card submission file
MyAdflex, please contact support@adflex.co.uk for access.
Upload Card Registration Schema
Field | Field Name | DataType | Mode | Comments |
---|---|---|---|---|
1 | BuyerContactName | String(50) | Mandatory | Buyer Account Contact Name (the card holder name) formatted as: firstname+space+lastname |
2 | CardAlias | String(50) | Mandatory |
Pre-agreed between client and Adflex during setup
and is the code used to look up the card when processing a submitted FilePay transaction file. This can be overridden by the config CardAliasKeyParseRule agreed with Adflex during setup. |
3 | MID | String(20) | Optional | Merchant ID. If blank, then will use default Adflex configured merchant |
4 | CardNumber | Number(20) | Mandatory | The card number to register |
5 | CardExpiry | Number(4) | Mandatory | Card Expiry Date. Format MMYY |
6 | CardStart | Number(4) | Optional | Card Start Date. Format MMYY |
7 | CardIssueNumber | Number(2) | Optional | Card issue number |
8 | UpdateMode | Number(1) | Optional |
How the Adflex system is updated. 0 = Raise error if CardAlias is not found 1 = Create CardAlias if not found If blank, then will default to UpdateMode of 1 |
Testing and go-live
This section covers migration from test to production.
Request an Adflex test account
This will provide a realistic simulation of the live environment and allow you to develop your application without using real cards.
Test Cards
Use our test cards to simulate transactions using various card schemes.
Adflex test cards must only be used with Adflex services and should never be used in any live environment.
Test Scripts
Once you have developed your application to a production level, you must run the relevant test script to exercise your system before going live.
Sign-off testing and go-live.
When you are ready to go live, please book a go-live test slot by sending an email to
support@adflex.co.uk
Please include the following information;
- Your required test date and time
- Your testers contact name, email address and phone number
- The Adflex Service to be tested
- Test Script name
Go-live approval notification
We will notify you within five working days of the outcome of your tests. If approved, you are then ready to progress to the next stage, Live proving.
Live proving
To ensure the end-to-end connectivity is correct, please process a small number of low-value genuine transactions. The tests are used to check funds settled, and the buyer receives any enhanced data. For example, level 3.
Once this stage is complete, you are ready to go-live.
Appendix
Error Codes
Error Code | Primary Application | Error Description | Severity Level |
---|---|---|---|
50001 | ERP | Ok | Green |
51400 | APG | TID Msg Mismatch | Yellow |
51401 | APG | APACS30: ERROR_CODE_EFT_TXLRC | Yellow |
51402 | APG | APACS30: ERROR_CODE_EFT_NOCARRIER | Yellow |
51403 | APG | System timeout | Yellow |
51404 | APG | Timeout connecting to Acquirer | Yellow |
51405 | APG | APACS30: ERROR_CODE_EFT_MAXTXRETRY | Yellow |
51406 | APG | APACS30: ERROR_CODE_EFT_SOFTWAREERROR | Yellow |
51407 | APG | APACS30: ERROR_CODE_EFT_RXLRC | Yellow |
51450 | APG | ERROR_CODE_EFT_RAS_SUCCESS | Yellow |
51451 | APG | ERROR_CODE_EFT_RAS_FAIL | Yellow |
51452 | APG | ERROR_CODE_EFT_RAS_ALREADY_CONNECTED | Yellow |
51500 | APG | AP29: No data | Yellow |
51501 | APG | Missing Acquirer | Yellow |
51502 | APG | AP29: Invalid target path | Yellow |
51503 | APG | Invalid MID | Yellow |
51504 | APG | AP29: File create error | Yellow |
51505 | APG | AP29: Invalid seg1 tx code | Yellow |
51506 | APG | AP29: Invalid seg1 expiry data | Yellow |
51507 | APG | AP29: ERROR_CODE_EFT_SUB29_UPDATELOG_FAILED | Yellow |
51508 | APG | AP29: ERROR_CODE_EFT_SUB29_FILEWRITE_ERROR | Yellow |
51509 | APG | AP29: ERROR_CODE_EFT_SUB29_TEST_FAILED | Yellow |
51510 | APG | AP29: ERROR_CODE_EFT_SUB29_MISSING_AUTH_CODE | Yellow |
51511 | APG | AP29: ERROR_CODE_EFT_SUB29_INVALID_ISSUE_NO_LEN | Yellow |
51512 | APG | AP29: ERROR_CODE_EFT_SUB29_INVALID_CARD_NO | Yellow |
51513 | APG | AP29: ERROR_CODE_EFT_SUB29_INVALID_FTP_PUT_FILE_SRC_PATH | Yellow |
51514 | APG | AP29: ERROR_CODE_EFT_SUB29_MISSING_29_FILE | Yellow |
51515 | APG | AP29: ERROR_CODE_EFT_SUB29_CREATE_SCRIPT_FILE_FAILED | Yellow |
51516 | APG | AP29: ERROR_CODE_EFT_SUB29_WRITE_SCRIPT_FILE_FAILED | Yellow |
51517 | APG | AP29: ERROR_CODE_EFT_SUB29_FTP_TX_FAILED | Yellow |
51518 | APG | AP29: ERROR_CODE_EFT_SUB29_FTP_RX_FAILED | Yellow |
51519 | APG | AP29: ERROR_CODE_EFT_SUB29_FTP_RX_FILENOTFOUND | Yellow |
51520 | APG | AP29: ERROR_CODE_EFT_SUB29_SUBFILE_NOT_AVAILABLE | Yellow |
51521 | APG | ERROR_CODE_EFT_LOG_TOT_TX_COUNT_ERROR | Yellow |
51522 | APG | ERROR_CODE_EFT_LOG_SALES_SUM_ERROR | Yellow |
51523 | APG | ERROR_CODE_EFT_LOG_REFUNDS_SUM_ERROR | Yellow |
51524 | APG | ERROR_CODE_EFT_LOG_NET_SUM_ERROR | Yellow |
51525 | APG | Missing VGIS Data | Yellow |
51526 | APG | Invalid VGIS Data | Yellow |
51527 | APG | ERROR_CODE_EFT_CLASS_GEN29_ERROR | Yellow |
51531 | APG | Invalid Submission File Seq no (<=0) | Yellow |
51550 | APG | TID Lockout. Please retry in 3 minutes | Yellow |
51551 | APG | APAC30: ERROR_CODE_EFT_30_MSG_NO_OVERFLOW | Yellow |
51552 | APG | APACS30: ERROR_CODE_EFT_30_NO_DATA_IN_WRK | Yellow |
51553 | APG | APACS30: ERROR_CODE_EFT_30_CREATE_AUTH_BATCHHEADER_FAILED | Yellow |
51554 | APG | APACS30: ERROR_CODE_EFT_30_UPDATE_AUTH_BATCHHEADER_FAILED | Yellow |
51555 | APG | APACS30: ERROR_CODE_EFT_30_NO_TIDS_AVAILABLE | Yellow |
51556 | APG | APACS30: ERROR_CODE_EFT_30_AUTH_BATCH_ALL_SKIPPED | Yellow |
51557 | APG | APACS30: ERROR_CODE_EFT_30_UNSUPPORTED_MSG_TYPE | Yellow |
51558 | APG | APACS30: ERROR_CODE_EFT_30_INVALID_TERM_TYPE | Yellow |
51559 | APG | APACS30: TID must equal the original to reverse transaction | Yellow |
51560 | APG | APACS30: The message number must be one greater than the original transaction to reverse | Yellow |
51561 | APG | APACS30: Time between the original transaction and the reversal must be less than 30 seconds | Yellow |
51562 | APG | Invalid TransactionType | Yellow |
51563 | APG | TID invalid or not registered | Yellow |
51564 | APG | Only Authorised transactions can be reversed | Yellow |
51565 | APG | Reversal failed. Transaction has already been sett | Yellow |
51600 | APG | Create wrk failed | Yellow |
51601 | APG | File re-name failed | Yellow |
51602 | APG | Invalid document status | Yellow |
51603 | APG | Invalid card status | Yellow |
51604 | APG | In EFT queue | Yellow |
51605 | APG | Invalid host ERP bank nominal | Yellow |
51606 | APG | Nothing to do | Yellow |
51607 | APG | Missing Acquirer | Yellow |
51608 | APG | Missing card number | Yellow |
51609 | APG | Missing day phone | Yellow |
51610 | APG | Missing evening phone | Yellow |
51611 | APG | Missing postcode | Yellow |
51612 | APG | In phone hot list | Yellow |
51613 | APG | In post code hot list | Yellow |
51614 | APG | In card hot list | Yellow |
51615 | APG | Card BIN not found | Yellow |
51616 | APG | Card not supported | Yellow |
51617 | APG | Card failed LUHN check | Yellow |
51618 | APG | Found in hot list but Overridden | Yellow |
51619 | APG | Invalid Expiry Date | Yellow |
51620 | APG | Invalid Card BIN | Yellow |
51621 | APG | Invalid service Code | Yellow |
51622 | APG | Card is ATM only | Yellow |
51623 | APG | Pin Device required for this card type | Yellow |
51624 | APG | Prompt for PIN | Yellow |
51625 | APG | Card not active. Check start/valid from date | Yellow |
51626 | APG | Invalid PAN length | Yellow |
51627 | APG | Invalid Issue Number Length | Yellow |
51628 | APG | Invalid Start Number Date | Yellow |
51629 | APG | Card does not support keyed entry | Yellow |
51630 | APG | General error, extra info may follow | Yellow |
51631 | APG | Error Connecting | Yellow |
51632 | APG | Session Connection Error | Yellow |
51633 | APG | Session Connection Exception | Yellow |
51634 | APG | Winsock BG Socket Exception | Yellow |
51635 | APG | Socket | Yellow |
51636 | APG | Socket Socks | Yellow |
51637 | APG | Authentication error | Yellow |
51638 | APG | EFT session failure | Yellow |
51639 | APG | Duplicate card transaction | Yellow |
51640 | APG | General Client error see ErrorString | Yellow |
51641 | APG | Encryption error. Transaction failed | Yellow |
51642 | APG | Invalid payment token | Yellow |
51643 | APG | Missing authorisation response | Yellow |
51644 | APG | Process queued transaction error | Yellow |
51645 | APG | Failed to match transaction reference | Yellow |
51646 | APG | Failed to find merchant account | Yellow |
51647 | APG | Transaction status is Cancelled request denied | Yellow |
51648 | APG | Transaction status is Authorised request denied | Yellow |
51649 | APG | Transaction status is Declined request denied | Yellow |
51650 | APG | Check merchant manger. Note must be Numeric.",Inv | Yellow |
51651 | APG | Check merchant manger.",Invalid Merchant Number | Yellow |
51652 | APG | Check Acquirer manger field POSID. Note must be N | Yellow |
51653 | APG | Transaction value is below mininum allowable | Yellow |
51654 | APG | Transaction value is above the maximum allowable | Yellow |
51655 | APG | Cashback not supported | Yellow |
51656 | APG | Missing Transaction Reference | Yellow |
51657 | APG | Invalid Transaction Reference length | Yellow |
51658 | APG | Invalid EnhancedDataEncodingMethod | Yellow |
51659 | APG | Invalid GUID | Yellow |
51660 | APG | Missing card last four digits | Yellow |
51661 | APG | Invalid Auth Status | Yellow |
51662 | APG | Invalid Hold Status | Yellow |
51663 | APG | Invalid date format | Yellow |
51664 | APG | ERROR_CODE_EFT_FAILED_STORE_L3DATA | Yellow |
51665 | APG | Invalid CSC | Yellow |
51666 | APG | Invalid Transaction GUID for Settle | Yellow |
51667 | APG | Transaction amount exceeds the original authorised | Yellow |
51668 | APG | Transaction is marked as settled | Yellow |
51669 | APG | Can only part settle a Sale 3DS Sale Refund | Yellow |
51670 | APG | Duplicate Transaction Reference | Yellow |
51672 | APG | Invalid ISO 4217 Currency Code | Yellow |
51673 | APG | Merchant account is not setup to support 3DS | Yellow |
51674 | APG | Cardholder is not enrolled for 3DS | Yellow |
51675 | APG | Failed to decode 3DS VeRes | Yellow |
51676 | APG | Invalid Amount | Yellow |
51677 | APG | Card does not support 3DS | Yellow |
51678 | APG | 3DS transaction failed | Yellow |
51679 | APG | Authorisation has expired | Yellow |
51680 | APG | Failed to validate PaRes | Yellow |
51681 | APG | Invalid EMV Type | Yellow |
51682 | APG | Invalid TID data | Yellow |
51683 | APG | Invalid Enhanced Data | Yellow |
51684 | APG | Account disabled | Yellow |
51685 | APG | Card must be authenticated using 3DS | Yellow |
51686 | APG | Invalid Merchant URL | Yellow |
51687 | APG | Invalid Merchant Name length | Yellow |
51688 | APG | Invalid transaction Description length | Yellow |
51689 | APG | Account password expired | Yellow |
51690 | APG | Account is locked out | Yellow |
51691 | APG | Error with external 2FA. Please contact support | Yellow |
51692 | APG | You cannot settle a non-authorised transaction | Yellow |
51694 | APG | 3DS Authorise Missing 3DS Data | Yellow |
51695 | APG | 3DS Lookup Failed | Yellow |
51696 | APG | 3DS Invalid SCA Exemption | Yellow |
51697 | APG | 3DS Message Version Mismatch | Yellow |
51699 | APG | Invalid test card number | Yellow |
51700 | APG | General VGIS Exception | Yellow |
51701 | APG | CoFInvalidFormat | Red |
51702 | APG | CoFInvalidFormatCofMode | Red |
51703 | APG | CoFInvalidFormatInitiatorFlag | Red |
51704 | APG | CoFInvalidFormatEntryMode | Red |
51705 | APG | CoFInvalidFormatOriginalTxRefGUID | Red |
51706 | APG | CoFOriginalTransactionNotFoundOrMarkedAsStored | Red |
51707 | APG | CoFOriginalTransactionWasDeclined | Red |
51900 | APG | Invalid column values in BatchHeader row | Yellow |
51901 | APG | Invalid column values in BatchHeader row | Yellow |
51902 | APG | Invalid column values in SummaryDocLine row | Yellow |
51903 | APG | Invalid column values in DocHeader row | Yellow |
51904 | APG | Invalid column values in DetailDocLine row | Yellow |
51905 | APG | Invalid column values in SummaryDocLine row | Yellow |
51906 | APG | DocHeader/DetailDocLine validation failed | Yellow |
51907 | APG | DocHeader/SummaryDocLine validation failed | Yellow |
51908 | APG | DocHeader/SummaryDocLine validation failed | Yellow |
51909 | APG | DocHeader/SummaryDocLine validation failed | Yellow |
51910 | APG | DocHeader/SummaryDocLine validation failed | Yellow |
51911 | APG | Invalid column values in BatchHeader row | Yellow |
51912 | APG | Invalid column values in BatchTrailer row | Yellow |
51913 | APG | Invalid column values in RegisterCard row | Yellow |
51914 | APG | Invalid column values in DeleteRegisterCard row | Yellow |
51915 | APG | Invalid column values in Card row | Yellow |
51916 | APG | Invalid column values in CardByToken row | Yellow |
51917 | APG | Invalid column values in CardSettle row | Yellow |
51918 | APG | Invalid column values in VGISDocHeader row | Yellow |
51919 | APG | Invalid column values in VGISDocSupplier row | Yellow |
51920 | APG | Invalid column values in VGISDocSupplierHO row | Yellow |
51921 | APG | Invalid column values in VGISDocSupplierMerchant r | Yellow |
51922 | APG | Invalid column values in VGISDocBuyer row | Yellow |
51923 | APG | Invalid column values in VGISDocDeliveryPoint row | Yellow |
51924 | APG | Invalid column values in VGISDocLine row | Yellow |
51925 | APG | Invalid column values in VGISDocTaxSummary row | Yellow |
51926 | APG | Invalid column values in VGISDocSupplierHO row | Yellow |
51927 | APG | Invalid column values in VGISDocSupplierMerchant r | Yellow |
51928 | APG | Invalid column values in VGISDocBuyer row | Yellow |
51929 | APG | Invalid column values in VGISDocDeliveryPoint row | Yellow |
51930 | APG | Invalid column values in VGISDocSupplierHO row | Yellow |
51931 | APG | Invalid number of columns | Yellow |
51932 | APG | Invalid VAT amount | Yellow |
51933 | APG | Transaction value does not match document value | Yellow |
51934 | APG | Line calculations are outside tolerance | Yellow |
51935 | APG | Cannot decode APGLVGIS | Yellow |
53000 | PFG | AVT Exception | Red |
53001 | PFG | PFGAdmin Exception | Red |
53002 | PFG | PFGBureau Exception | Red |
53003 | PFG | Hosted Pay Page Exception | Red |
53004 | PFG | Config Exception | Red |
53005 | PFG | Sproc Exception | Red |
53006 | PFG | General Method Error | Red |
53007 | PFG | CMTSException | Red |
53008 | PFG | AuthenticationException | Red |
53009 | PFG | GeneralException | Red |
53010 | PFG | AirPlusException | Red |
53011 | PFG | DBDirectException | Red |
53012 | PFG | DuplicateTransactionGUID | Red |
53013 | PFG | InvalidSessionLifetime | Red |
53014 | PFG | InvalidTemplateID | Red |
53015 | PFG | InvalidCardTokenTTL | Red |
53030 | PFG | Create File Error | Red |
53031 | PFG | Log Send Error | Red |
53032 | PFG | No Data Found | Red |
53033 | PFG | Open Registry Error | Red |
53034 | PFG | Registry Key Error | Red |
53035 | PFG | Open DB Error | Red |
53036 | PFG | Open DLL Error | Red |
53037 | PFG | Invalid Card String Format | Red |
53038 | PFG | Invalid Document Type | Red |
53039 | PFG | Import Documents Failed | Red |
53040 | PFG | Document Integrity Test Failed | Red |
53041 | PFG | Documents Integrity Test Failed | Red |
53042 | PFG | Document Line Sum Error | Red |
53043 | PFG | Card Data Not Found | Red |
53044 | PFG | Invalid Document Line Unit Price | Red |
53045 | PFG | Invalid Document Line Qty | Red |
53046 | PFG | Missing URI | Red |
53047 | PFG | Connect To Merchant Failed | Red |
53048 | PFG | Delete Document Failed Due To Status | Red |
53049 | PFG | Patch Already Applied | Red |
53050 | PFG | Cancel Document Failed | Red |
53051 | PFG | Release Transaction Failed | Red |
53052 | PFG | Pay Page Validation Failed | Red |
53053 | PFG | Account Not Status Clear | Red |
53054 | PFG | Skip Account | Red |
53055 | PFG | Invalid PSPID | Red |
53056 | PFG | Invalid Document Tax Treatment | Red |
53057 | PFG | Invalid Document Discount Treatment | Red |
53058 | PFG | Invalid Delimiter Count | Red |
53059 | PFG | User Not Found | Red |
53060 | PFG | Create Document Enhanced Data Failed | Red |
53061 | PFG | Create Document MCLID Data Failed | Red |
53062 | PFG | Document Not Found | Red |
53063 | PFG | Batch Number Already Assigned | Red |
53064 | PFG | Invalid Document Gross Amount | Red |
53065 | PFG | Too Many Document Tax Summaries | Red |
53066 | PFG | Unknown APG Error | Red |
53067 | PFG | Invalid Date | Red |
53068 | PFG | Send Email Failed | Red |
53069 | PFG | Default Merchant Not Set | Red |
53070 | PFG | Currencies Not Set | Red |
53071 | PFG | Merchant Currencies Not Set | Red |
53072 | PFG | Merchant Account Not Found | Red |
53073 | PFG | Change User Password Failed | Red |
53074 | PFG | Session Authentication Failed | Red |
53075 | PFG | User Password Expired | Red |
53076 | PFG | User Disabled | Red |
53077 | PFG | Client Disabled | Red |
53078 | PFG | User Password Failed Policy Check | Red |
53079 | PFG | User Locked Out | Red |
53080 | PFG | User Password Recently Used | Red |
53081 | PFG | Merchant Currency Not Supported | Red |
53082 | PFG | Default Currency Not Set | Red |
53083 | PFG | Unsupported Mode | Red |
53084 | PFG | Invalid Document TaxRate | Red |
53085 | PFG | Validation Error | Red |
53086 | PFG | Skip Document | Red |
53087 | PFG | Invalid Registration | Red |
53088 | PFG | Oversize Data | Red |
53089 | PFG | File Exists | Red |
53090 | PFG | BIN Cache Data Not Set | Red |
53091 | PFG | Application Not Assigned To Client | Red |
53092 | PFG | Merchant Disabled | Red |
53093 | PFG | Merchant Is Off-line | Red |
53094 | PFG | Duplicate Account | Red |
53095 | PFG | Value Is Null | Red |
53096 | PFG | Payment Token Expired | Red |
53097 | PFG | Payment Token Exceeds Period Usage Count | Red |
53098 | PFG | Payment Token Exceeds Period Usage Value | Red |
53099 | PFG | Payment Token Currency Not Supported | Red |
53100 | PFG | Payment Token Not Found | Red |
53101 | PFG | A2P Reason Other | Red |
53102 | PFG | A2P Reason Not Ordered | Red |
53103 | PFG | A2P Reason Missing PO Ref | Red |
53104 | PFG | A2P Reason Not Delivered | Red |
53105 | PFG | A2P Reason Missing Items | Red |
53106 | PFG | A2P Reason Incorrect Qty | Red |
53107 | PFG | A2P Reason Incorrect Value | Red |
53150 | PFG | ClientOnHold | Red |
53200 | PFG | Currency Code Not Found | Red |
53201 | PFG | Country Code Not Found | Red |
53202 | PFG | Invalid Logon | Red |
53203 | PFG | File Open Error | Red |
53204 | PFG | File Read Error | Red |
53205 | PFG | Directory Not Found | Red |
53206 | PFG | Config Error | Red |
53207 | PFG | Invalid Card Data | Red |
53208 | PFG | Card Amount not equal to Document Gross Value | Red |
53209 | PFG | Transaction Ref Already Authorised | Red |
53210 | PFG | Transaction Settle Failed | Red |
53211 | PFG | Web Form Invalid Control Count | Red |
53212 | PFG | Sproc Failed To Return Results | Red |
53213 | PFG | Method Failed To Return Results | Red |
53214 | PFG | Client Authentication hash match failed | Red |
53215 | PFG | Message hash match failed | Red |
53216 | PFG | Invalid TxRefGUID | Red |
53217 | PFG | Failed to find session key | Red |
53218 | PFG | ExpiredCardToken | Red |
53219 | PFG | CardTokenIsInfoOnly | Red |
53300 | PFG | 3DS Exception | Red |
53302 | PFG | AccountVerification Exception | Red |
53303 | PFG | Failed GetTransactionMerchant | Red |
53304 | PFG | Transaction Rule Data Missing | Red |
53305 | PFG | Transaction Rule Data Exception | Red |
53306 | PFG | Account Verification Declined | Red |
53307 | PFG | 3DS Issuer Rejected | Red |
53308 | PFG | 3DS Unable To Authenticate | Red |
53350 | PFG | Paymentlink has been cancelled | Red |
53351 | PFG | Paymentlink has expired | Red |
53400 | PFG | SimMidValidationFailed | Red |
53401 | PFG | SimMidNotFoundInApg | Red |
53402 | PFG | SimMidAlreadyExistsInApg | Red |
53403 | PFG | SimMidOnlyApplicableToSandboxEnvironment | Red |
54000 | PFG | Secret Key not found | Red |
54001 | PFG | Secret Key expired | Red |
54002 | PFG | Authentication Key not found | Red |
54003 | PFG | Authentication Key expired | Red |
54004 | PFG | Authentication Key usage exceeded | Red |
54005 | PFG | ResourceID not found | Red |
54006 | PFG | Resource Permission denied | Red |
54007 | PFG | Failed to find assigned Default Merchant Account | Red |
54008 | PFG | API Additional Fields Not Found | Red |
54009 | PFG | API Service Unavailable | Red |
54050 | PFG | EMV 3DS Config Problem | Red |
54051 | PFG | Account Verification Not Supported By Acquirer | Red |
54101 | PFG | APIRequestHeaderValidationError | Red |
54102 | PFG | APIRequestBodyValidationError | Red |
54201 | PFG | AGDefault4XX | Red |
54202 | PFG | AGDefault5XX | Red |
54203 | PFG | AGAccessDenied | Red |
54204 | PFG | AGApiConfigError | Red |
54205 | PFG | AGAuthorizerConfigError | Red |
54206 | PFG | AGAuthorizerFailure | Red |
54207 | PFG | AGBadRequestBody | Red |
54208 | PFG | AGBadRequestParameters | Red |
54209 | PFG | AGExpiredToken | Red |
54210 | PFG | AGIntegrationFailure | Red |
54211 | PFG | AGIntegrationTimeout | Red |
54212 | PFG | AGInvalidAPIKey | Red |
54213 | PFG | AGInvalidSignature | Red |
54214 | PFG | AGMissingAuthenticationToken | Red |
54215 | PFG | AGQuotaExceeded | Red |
54216 | PFG | AGRequestTooLarge | Red |
54217 | PFG | AGResourceNotFound | Red |
54218 | PFG | AGThrottled | Red |
54219 | PFG | AGUnauthorized | Red |
54220 | PFG | AGUnsupportedMediaType | Red |
About GUIDs
Adflex Card Transactions are uniquely tagged with a GUID (Globally Unique Identifier). A GUID is a unique 128-bit number. Specified as a string consisting of eight hexadecimal digits followed by a hyphen, then three groups of four hexadecimal digits each followed by a hyphen, then twelve hexadecimal digits in this format: {XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX}
e.g.
Card Luhn Check
Luhn formula for calculating the PAN check digit.
The following steps are involved in this calculation, which applies to any length PAN:
- Double the value of alternate digits beginning with the first right-hand digit (low order)
- Add the individual digits comprising the products obtained in (a) to each of the unaffected digits in the original number
- Subtract the total obtained in (a) from the next higher number ending in 0 (this is the equivalent of calculating the 'ten complement' of the low order digit (unit digit) of the total)
- The resultant digit is the PAN check digit that should equal the last digit of the PAN
For more information on Card LUHN check refer to Luhn Algorithm
Card AVS/CVC Status Response
When is an AVS/CVC check performed?
The AVS/CVC check takes place when a transaction has an amount greater than 0. So therefore will not be triggered when a card is being registered.
If you require a transaction to carry out a AVS/CVC check on a card being registered an alternative solution is to perform a 'card payment and register card'. This will ensure a transaction has been authorised and will trigger the checks.
Note: AVS/CVC settings are applied at account level to a merchant account by Adflex and will be applied across all transactions processed under the merchant account with an amount greater than 0.
Some Adflex APIs give you the opportunity to test the issuers risk response of the authorised transactions CVC and Address verification enabling you to accept or reject the transaction.
If you do not want to accept the risk and reject the transaction, Adflex will attempt a reversal to cancel the transaction.
Value | |||||
---|---|---|---|---|---|
Position | 1 | 2 | 4 | 8 | Description |
First Digit CVC |
Not Checked | ||||
Match | |||||
Not Matched | |||||
Reserved | |||||
Second Digit Postcode Numerics |
Not Checked | ||||
Match | |||||
Not Matched | |||||
Partial Match | |||||
Third Digit Address Numerics |
Not Checked | ||||
Match | |||||
Not Matched | |||||
Partial Match | |||||
Fourth Digit Authorising Entity |
Card Acceptor | ||||
Acquirer | |||||
Card Scheme | |||||
Card Issuer |
Values other than 0, 1, 2, 4 or 8 are not valid in digit positions 1 to 4.
A value of zero in any digit position indicates that no additional information is available
If the Authorising Entity is not known, digit 4 is set to zero and the authoriser is assumed to be the issuer.
Processing of these data elements will be by separate agreement between Acquirers and Card Acceptors.
Card Support Flags
Value (Hex) | Description | Value (Hex) | Description |
---|---|---|---|
1 | Keyed entry allowed | 1000 | Reserved |
2 | Cashback supported | 2000 | Reserved |
4 | CSCAVS supported | 4000 | Reserved |
8 | VGIS MI function supported | 8000 | Reserved |
10 | VGIS tax function supported | 10000 | Reserved |
20 | Refunds must go online | 20000 | Mastercard LID/VAT Summary |
40 | Reserved | 40000 | Amex LID |
80 | MOTO supported | 80000 | Online Reversal |
100 | ECOM supported | 100000 | 3DS-MasterCard SecureCode |
200 | ICC Card has chip | 200000 | 3DS-Verified by Visa |
400 | Cash Advance supported (ATM) | 400000 | J Secure |
800 | Reserved |
NOTES
The CardFlags value returned is a 32 bit integer bitmask and this is ANDed using a bitmask value from the above list, where each flag value corresponds to a bit in the 32 bit number
For help on bitmasks refer to
https://www.safaribooksonline.com/library/view/c-cookbook/0596003390/ch04s05.html
Card Scheme Codes
CardSchemeCode | Card Scheme Description | CardSchemeCode | Card Scheme Description |
---|---|---|---|
52000 | Unknown | 52012 | GE Capital |
52001 | AirPlus | 52013 | JCB |
52002 | AMEX | 52014 | LASER |
52003 | ATM | 52015 | International Maestro |
52004 | CREATE | 52016 | MasterCard |
52005 | Visa Debit or Visa Delta | 52017 | Platima |
52006 | Diners Club | 52018 | SOLO |
52007 | DISCOVER | 52019 | STYLE |
52008 | Debit MasterCard | 52020 | Domestic Maestro |
52009 | EDGE | 52021 | Visa |
52010 | Visa Electron | 52022 | Visa Purchase |
52011 | IKANO |
IMPORTANT NOTES
1. This list will grow as and when new card schemes are added or discontinued and your host system business logic needs to take this into account.
AuthenticationToken
An AuthenticationToken is issued to merchants on setup and provides secure authentication access to Adflex payment Gateway API services.
Off-line Authorisation
Applicable to Web Services only. Off-line authorisations (where the auth code is provided by the merchant and not the issuer) are supported by Adflex, provided that you have agreement with your acquiring bank and Adflex.
To create an off-line authorisation:
- Call Authorise() using parameter values
- ProcessMode = 1
- TID=pipe delimited parameter string of the following parameters:
Field Name | Type | Size | Option | Example | Comments |
---|---|---|---|---|---|
Ident | A | 8 | M | TERMINFO | Set to: TERMINFO |
Version | N | 1 | M | 1 | Set to: 1 |
TID | N | 8 | O | 22620015 | Your Terminal ID |
MSG | N | 4 | O | 1452 | Msg Number from other system |
AuthStatus | N | 1 | M | 8 | 8=Authorised, 9=Declined |
AuthCode | AN | 8 | O | 1234 | Your auth code |
AuthMessage | AN | 20 | O | AUTH CODE:1234 | Your auth message |
AuthDateTime | AN | 20 | M | 2009-02-28 11:55:39 | Format yyyy-mm-dd, hh:mm:ss |
Online | N | 1 | M | 1 | 0=Offline Auth, 1=Online Auth gained from other system |
Capture Environment | A | 1 | M | 1 | 1=Mail order, 13=Ecomm |
HoldStatus | N | 1 | M | 0 | 0=Settle now, 2=Settle Later (using Settle/SettleEx) |
Example: