Showing results for 
Search instead for 
Did you mean: 

Card Present



I got everything nicely up and running for CNP operations.  But how does one do the CP operations?  I tried converting the given cardnumbers to a valid track 1, but I keep on getting error 85.  The Market type is invalid.


I'm a bit confused.  I cannot find any examples on this neither.






Hello @Gonline4Timing


To create a card present transaction, populate the track data element of your createTransactionRequest and omit any other payment types. 



Administrator Administrator

 Hi Richard



return new creditCardTrackType()
             Item = aCardInfo.Track1Data ?? aCardInfo.Track2Data


This is what I'm putting inside


payment = new paymentType(){ Item = MethodAbove(aCardInfo) };


Maybe my trackdata is still wrong?  

I cannot find anywhere on the website track1 or track2 examples to test with...

I have tried what you suggested @RichardH, but I too get ERROR 85.

    "createTransactionRequest": {
        "merchantAuthentication": {
            "name": MERCH_ID,
            "transactionKey": TRANS_KEY
        "refId": "123456",
        "transactionRequest": {
            "transactionType": "authCaptureTransaction",
            "amount": "5",
            "payment": {
            	"trackData": {
                    "track2": "5301250070000191=08051010912345678901"
            "billTo": {
                "firstName": "Ellen",
                "lastName": "Johnson",

I have a CNP sanbox account, is that the problem? If it is, I can not find a way to create a CP account, could you please shed some light on that process?


I have not changed the endpoints from CNP, is that the problem? Can/should this type or request be posted to,?

That is the only CP endpoint I can find online.


Thank you

Hello @8Ball


Error 85 indicates that the market type is invalid.  From the API Reference for Charge a Credit Card:


retail The retail element contains two elements: marketType and deviceType. If you submit the retail element, the marketType and DeviceType elements are required.  
marketType 0 for ecommerce
1 for moto
2 for retail
This element is required if you submit the retail element.
Default value is 2.
deviceType 1, 2, 3, 4, 5, 7, 8, 9, 10
1 = Unknown
2 = Unattended Terminal
3 = Self Service Terminal
4 = Electronic Cash Register
5 = Personal Computer- Based Terminal
7 = Wireless POS
8 = Website
9 = Dial Terminal
10 = Virtual Terminal
This element is required if you submit the retail element.



I literally just saw that in the API docs and added:


I then came back to post how it worked and saw your lightning fast reply!

Everything works fine now.

Thank you!