cancel
Showing results for 
Search instead for 
Did you mean: 

Card Present

Hi

 

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.

 

thanks

 

a

5 REPLIES 5

Hello @Gonline4Timing

 

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

 

Richard

RichardH
Administrator Administrator
Administrator

 Hi Richard

 

Snippet

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 https://cardpresent.authorize.net/gateway/transact.dll,?

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.
 

 

Haha,

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

            "retail":{
              "marketType":"2",
              "deviceType":"5"
            }

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

Everything works fine now.

Thank you!