I am having troubles with track data processing:
It would appear that various Amex cards labelled as ‘ANSI’ cards within various Amex test cases do not contain a service code. There is no indication that the service code is not contained in the track data (This includes no separators etc). How would you determine that no service code is contained in the track and avoid incorrectly using the discretionary data as the service code instead?
Example:
Standard Track: 374245455400001=131210112011234500000 – Service code is 101
Track with no service code: 374245455400001=1412120112345 - So in this case 120 is incorrectly interpreted as the service code whereas it forms part of the Discretionary data.
Thanks.
120 is your service code. The first three numbers following the expiration year and month both on track 1 and track 2 are the service code. 101 is not the defacto standard.