Credit

Transaction type

Request

Response

Credit

Sale

<request>
  <AuthKey>zbhRAW9N6x</AuthKey>
  <RefId>c78b36de91</RefId> or <TPN>Z11test123</TPN>
  <PaymentType>Credit</PaymentType>
  <TransType>Sale</TransType>
  <Amount>9.16</Amount>
  <GetReceipt>Both</GetReceipt>
  <PrintReceipt>Both</PrintReceipt>
</request>
<xmp>
  <response>
    <RefId>c78b36de91</RefId>
    <TransNum>2</TransNum>
    <ResultCode>0</ResultCode>
    <RespMSG>APPROVAL%20VTLMC1</RespMSG>
    <Message>Approved</Message>
    <AuthCode>VTLMC1</AuthCode>
    <PNRef>127111502965</PNRef>
    <PaymentType>Credit</PaymentType>
    <Voided>false</Voided>
    <TransType>Sale</TransType>
    <SN>000118110026370</SN>
    <ExtData>Amount=9.16,InvNum=2,CardType=MASTERCARD,BatchNum=222,Tip=0.00,CashBack=0.00,Fee=0.37,AcntLast4=3031,BIN=553691,Name=MITSKEVICH%2fDENIS%20%20%20%20%20%20%20%20%20%20,SVC=0.00,TotalAmt=9.53,DISC=0.00,Donation=0.00,SHFee=0.00,RwdPoints=0,RwdBalance=0,RwdIssued=,EBTFSLedgerBalance=,EBTFSAvailBalance=,EBTFSBeginBalance=,EBTCashLedgerBalance=,EBTCashAvailBalance=,EBTCashBeginBalance=,RewardCode=,AcqRefData=,ProcessData=,RefNo=,RewardQR=,Language=English,EntryType=Swipe,table_num=0,clerk_id=,ticket_num=,ControlNum=,TaxCity=0.00,TaxState=0.00,TaxReducedState=0.00,Cust1=,Cust1Value=,Cust2=,Cust2Value=,Cust3=,Cust3Value=,AcntFirst4=5536,TaxAmount=0.00,BIN=5536,ExpDate=0224,AVSRsp=,CVVRsp=</ExtData>
    <Receipt>...</Receipt>
    <CVMResult>2</CVMResult>
  </response>
</xmp>

Return

<request>
  <AuthKey>zbhRAW9N6x</AuthKey>
  <RefId>15e697bbbe</RefId> or <TPN>Z11test123</TPN>
  <PaymentType>Credit</PaymentType>
  <TransType>Return</TransType>
  <Amount>9.53</Amount>
  <GetReceipt>Both</GetReceipt>
  <PrintReceipt>Both</PrintReceipt>
</request>

<xmp>
  <response>
    <RefId>15e697bbbe</RefId>
    <TransNum>4</TransNum>
    <ResultCode>0</ResultCode>
    <RespMSG>APPROVAL%20VTLMC1</RespMSG>
    <Message>Approved</Message>
    <AuthCode>VTLMC1</AuthCode>
    <PNRef>127111500564</PNRef>
    <PaymentType>Credit</PaymentType>
    <Voided>false</Voided>
    <TransType>Return</TransType>
    <SN>000118110026370</SN>
    <ExtData>Amount=9.53,InvNum=4,CardType=MASTERCARD,BatchNum=222,Tip=0.00,CashBack=0.00,Fee=0.00,AcntLast4=3031,BIN=553691,Name=MITSKEVICH%2fDENIS%20%20%20%20%20%20%20%20%20%20,SVC=0.00,TotalAmt=9.53,DISC=0.00,Donation=0.00,SHFee=0.00,RwdPoints=0,RwdBalance=0,RwdIssued=,EBTFSLedgerBalance=,EBTFSAvailBalance=,EBTFSBeginBalance=,EBTCashLedgerBalance=,EBTCashAvailBalance=,EBTCashBeginBalance=,RewardCode=,AcqRefData=,ProcessData=,RefNo=,RewardQR=,Language=English,EntryType=Swipe,table_num=0,clerk_id=,ticket_num=,ControlNum=,TaxCity=0.00,TaxState=0.00,TaxReducedState=0.00,Cust1=,Cust1Value=,Cust2=,Cust2Value=,Cust3=,Cust3Value=,AcntFirst4=5536,TaxAmount=0.00,BIN=5536,ExpDate=0224,AVSRsp=,CVVRsp=</ExtData>
    <Receipt>...</Receipt>
    <CVMResult>2</CVMResult>
  </response>
</xmp>

Void

<request>
  <AuthKey>zbhRAW9N6x</AuthKey>
  <RefId>e954a923cc</RefId>
  <TPN>dvpaytest123</TPN>
  <PaymentType>Credit</PaymentType>
  <TransType>Void</TransType>
  <Amount>8.49</Amount>
  <GetReceipt>Both</GetReceipt>
  <PrintReceipt>Both</PrintReceipt>                                                          
</request>

If <RefId> in Void request == <RefId> of original Sale:

<xmp>
  <response>
    <RefId>e954a923cc</RefId>
    <TransNum>2</TransNum>
    <ResultCode>0</ResultCode>
    <RespMSG>Approved%20Offline</RespMSG>
    <Message>Approved</Message>
    <PaymentType>Credit</PaymentType>
    <Voided>false</Voided>
    <TransType>Void Sale</TransType>
    <SN>WP20031Q21000123</SN>
    <ExtData>Amount=8.49,InvNum=2,CardType=VISA,BatchNum=1,Tip=0.00,CashBack=0.00,Fee=0.33,AcntLast4=2062,BIN=460684,Name=,SVC=0.00,TotalAmt=8.49,DISC=0.00,Donation=0.00,SHFee=0.00,RwdPoints=0,RwdBalance=0,RwdIssued=,EBTFSLedgerBalance=,EBTFSAvailBalance=,EBTFSBeginBalance=,EBTCashLedgerBalance=,EBTCashAvailBalance=,EBTCashBeginBalance=,RewardCode=,AcqRefData=,ProcessData=,RefNo=,RewardQR=,Language=English,EntryType=Manual,table_num=0,clerk_id=,ticket_num=,ControlNum=,TaxCity=0.00,TaxState=0.00,TaxReducedState=0.00,Cust1=,Cust1Value=,Cust2=,Cust2Value=,Cust3=,Cust3Value=,AcntFirst4=4606,TaxAmount=0.00,ExpDate=0912,AVSRsp=0,CVVRsp=</ExtData>
    <Receipt>...</Receipt>
    <CVMResult>0</CVMResult>
  </response>
</xmp>

If <RefId> in Void request != <RefId> of original Sale:

<xmp>
  <response>
    <RefId>2</RefId>
    <RegisterId>3284058</RegisterId>
    <TransNum>0</TransNum>
    <ResultCode>1</ResultCode>
    <RespMSG>Transaction%20not%20found</RespMSG>
    <Message>Canceled</Message>
    <PaymentType>Credit</PaymentType>
    <Voided>false</Voided>
    <TransType>Sale</TransType>
    <SN>000117900035687</SN>
    <CVMResult>0</CVMResult>
  </response>
</xmp>

Authorisation

<request>
  <AuthKey>zbhRAW9N6x</AuthKey>
  <RefId>de9942e740</RefId>
  <TPN>dvpaytest123</TPN>
  <PaymentType>Credit</PaymentType>
  <TransType>Auth</TransType>
  <Amount>10.00</Amount>
  <GetReceipt>Both</GetReceipt>                                                      
  <PrintReceipt>Both</PrintReceipt>
</request>
<xmp>
  <response>
    <RefId>de9942e740</RefId>
    <TransNum>5</TransNum>
    <ResultCode>0</ResultCode>
    <RespMSG>APPROVAL%20TAS421</RespMSG>
    <Message>Approved</Message>
    <AuthCode>TAS421</AuthCode>
    <PNRef>127206501457</PNRef>
    <PaymentType>Credit</PaymentType>
    <Voided>false</Voided>
    <TransType>Auth</TransType>
    <SN>WP20031Q21000123</SN>
    <ExtData>Amount=10.00,InvNum=5,CardType=VISA,BatchNum=1,Tip=0.00,CashBack=0.00,Fee=0.00,AcntLast4=2062,BIN=460684,Name=A%20GIFT%20FOR%20YOU%2f%20%20%20%20%20%20%20%20%20%20%20,SVC=0.00,TotalAmt=10.00,DISC=0.00,Donation=0.00,SHFee=0.00,RwdPoints=0,RwdBalance=0,RwdIssued=,EBTFSLedgerBalance=,EBTFSAvailBalance=,EBTFSBeginBalance=,EBTCashLedgerBalance=,EBTCashAvailBalance=,EBTCashBeginBalance=,RewardCode=,AcqRefData=,ProcessData=,RefNo=,RewardQR=,Language=English,EntryType=Swipe,table_num=0,clerk_id=,ticket_num=,ControlNum=,TaxCity=0.00,TaxState=0.00,TaxReducedState=0.00,Cust1=,Cust1Value=,Cust2=,Cust2Value=,Cust3=,Cust3Value=,AcntFirst4=4606,TaxAmount=0.00,ExpDate=0912,AVSRsp=,CVVRsp=</ExtData>
    <Receipt>...</Receipt>
    <CVMResult>2</CVMResult>
  </response>
</xmp>

Capture

<request>
  <AuthKey>zbhRAW9N6x</AuthKey>
  <RefId>de9942e740</RefId>
  <TPN>dvpaytest123</TPN>
  <PaymentType>Credit</PaymentType>
  <TransType>Capture</TransType>
  <Amount>10.50</Amount>
  <AuthCode>TAS421</AuthCode>
  <AcntLast4>2062</AcntLast4>
  <GetReceipt>Both</GetReceipt>
  <PrintReceipt>Both</PrintReceipt>                                                                 
</request>
<xmp>
  <response>
    <RefId>de9942e740</RefId>
    <TransNum>6</TransNum>
    <ResultCode>0</ResultCode>
    <RespMSG>Approved%20Offline</RespMSG>
    <Message>Approved</Message>
    <AuthCode>TAS421</AuthCode>
    <PaymentType>Credit</PaymentType>
    <Voided>false</Voided>
    <TransType>Ticket</TransType>
    <SN>WP20031Q21000123</SN>
    <ExtData>Amount=10.50,InvNum=6,CardType=VISA,BatchNum=1,Tip=0.00,CashBack=0.00,Fee=0.42,AcntLast4=2062,BIN=460684,Name=,SVC=0.00,TotalAmt=10.92,DISC=0.00,Donation=0.00,SHFee=0.00,RwdPoints=0,RwdBalance=0,RwdIssued=,EBTFSLedgerBalance=,EBTFSAvailBalance=,EBTFSBeginBalance=,EBTCashLedgerBalance=,EBTCashAvailBalance=,EBTCashBeginBalance=,RewardCode=,AcqRefData=,ProcessData=,RefNo=,RewardQR=,Language=English,EntryType=Manual,table_num=0,clerk_id=,ticket_num=,ControlNum=,TaxCity=0.00,TaxState=0.00,TaxReducedState=0.00,Cust1=,Cust1Value=,Cust2=,Cust2Value=,Cust3=,Cust3Value=,AcntFirst4=4606,TaxAmount=0.00,ExpDate=0912,AVSRsp=0,CVVRsp=</ExtData>
    <Receipt>...</Receipt>
    <CVMResult>2</CVMResult>
  </response>
</xmp>

Ticket

<request>
  <PaymentType>Credit</PaymentType>
  <TransType>Ticket</TransType>
  <Amount>1.00</Amount>
  <Tip>0.00</Tip>
  <Frequency>OneTime</Frequency>
  <InvNum></InvNum>
  <RefId>4</RefId>
  <RegisterId>3539002</RegisterId>
  <AuthKey>zbhRAW9N6x</AuthKey>
  <PrintReceipt>No</PrintReceipt>
</request>
<xmp>
  <response>
    <RefId>4</RefId>
    <RegisterId>3539002</RegisterId>
    <TransNum>7</TransNum>
    <ResultCode>0</ResultCode>
    <RespMSG>Approved%20Offline</RespMSG>
    <Message>Approved</Message>
    <AuthCode>12345</AuthCode>
    <PaymentType>Credit</PaymentType>
    <Voided>false</Voided>
    <TransType>Ticket</TransType>
    <SN>WP20031Q21000123</SN>
    <ExtData>Amount=1.00,InvNum=7,CardType=VISA,BatchNum=1,Tip=0.00,CashBack=0.00,Fee=0.04,AcntLast4=2062,BIN=460684,Name=A%20GIFT%20FOR%20YOU%2f%20%20%20%20%20%20%20%20%20%20%20,SVC=0.00,TotalAmt=1.04,DISC=0.00,Donation=0.00,SHFee=0.00,RwdPoints=0,RwdBalance=0,RwdIssued=,EBTFSLedgerBalance=,EBTFSAvailBalance=,EBTFSBeginBalance=,EBTCashLedgerBalance=,EBTCashAvailBalance=,EBTCashBeginBalance=,RewardCode=,AcqRefData=,ProcessData=,RefNo=,RewardQR=,Language=English,EntryType=Swipe,table_num=0,clerk_id=,ticket_num=,ControlNum=,TaxCity=0.00,TaxState=0.00,TaxReducedState=0.00,Cust1=,Cust1Value=,Cust2=,Cust2Value=,Cust3=,Cust3Value=,AcntFirst4=4606,TaxAmount=0.00,ExpDate=0912,AVSRsp=0,CVVRsp=</ExtData>
    <CVMResult>2</CVMResult>
  </response>
</xmp>

Tip adjust

<request>
  <AuthKey>zbhRAW9N6x</AuthKey>
  <RefId>158a6e38f0</RefId>
  <TPN>dvpaytest123</TPN>
  <PaymentType>Credit</PaymentType>
  <TransType>TipAdjust</TransType>
  <Amount>8.16</Amount>
  <Tip>1.00</Tip>
  <GetReceipt>Both</GetReceipt>                                                   
</request>

If <RefId> == <RefId> of original sale AND <Amount> == <Amount> of original sale:

<xmp>
  <response>
    <RefId>158a6e38f0</RefId>
    <TransNum>3</TransNum>
    <ResultCode>0</ResultCode>
    <Message>Success</Message>
    <AuthCode>TAS815</AuthCode>
    <PNRef>127205500226</PNRef>
    <PaymentType>Credit</PaymentType>
    <Voided>false</Voided>
    <TransType>Sale</TransType>
    <SN>WP20031Q21000123</SN>
    <ExtData>Amount=8.16,InvNum=3,CardType=VISA,BatchNum=1,Tip=1.00,CashBack=0.00,Fee=0.33,AcntLast4=2062,BIN=460684,Name=A%20GIFT%20FOR%20YOU%2f%20%20%20%20%20%20%20%20%20%20%20,SVC=0.00,TotalAmt=9.49,DISC=0.00,Donation=0.00,SHFee=0.00,RwdPoints=0,RwdBalance=0,RwdIssued=,EBTFSLedgerBalance=,EBTFSAvailBalance=,EBTFSBeginBalance=,EBTCashLedgerBalance=,EBTCashAvailBalance=,EBTCashBeginBalance=,RewardCode=,AcqRefData=,ProcessData=,RefNo=,RewardQR=,Language=English,EntryType=Swipe,table_num=0,clerk_id=,ticket_num=,ControlNum=,TaxCity=0.00,TaxState=0.00,TaxReducedState=0.00,Cust1=,Cust1Value=,Cust2=,Cust2Value=,Cust3=,Cust3Value=,AcntFirst4=4606,TaxAmount=0.00,ExpDate=0912,AVSRsp=,CVVRsp=</ExtData>
    <CVMResult>2</CVMResult>
  </response>
</xmp>

If <RefId> in TipAdjust != <RefId> of original Sale OR <Amount> in TipAdjust != <Amount> of original Sale:

<xmp>
  <response>
    <RefId>61</RefId>
    <RegisterId></RegisterId>
    <InvNum></InvNum>
    <ResultCode>1</ResultCode>
    <Message>Not Found</Message>
    <AuthCode></AuthCode>
    <PNRef></PNRef>
    <PaymentType></PaymentType>
  </response>
</xmp> 

Debit

Transaction type

Request

Response

Debit

Sale

<request>
  <AuthKey>zbhRAW9N6x</AuthKey>
  <RefId>4a2d64ccb9</RefId>
  <TPN>dvpaytest123</TPN>
  <PaymentType>Debit</PaymentType>
  <TransType>Sale</TransType>
  <Amount>7.82</Amount>
  <GetReceipt>Both</GetReceipt>
  <PrintReceipt>Both</PrintReceipt>                                                                  
</request>
<xmp>
  <response>
    <RefId>4a2d64ccb9</RefId>
    <TransNum>8</TransNum>
    <ResultCode>0</ResultCode>
    <RespMSG>APPROVAL%20TAS774</RespMSG>
    <Message>Approved</Message>
    <AuthCode>TAS774</AuthCode>
    <PNRef>127214144934</PNRef>
    <PaymentType>Debit</PaymentType>
    <Voided>false</Voided>
    <TransType>Sale</TransType>
    <SN>WP20031Q21000123</SN>
    <ExtData>Amount=7.82,InvNum=8,CardType=DEBIT,BatchNum=1,Tip=0.00,CashBack=0.00,Fee=0.31,AcntLast4=9420,BIN=411773,Name=CLARKE%2fCHRIS%20B,SVC=0.00,TotalAmt=8.13,DISC=0.00,Donation=0.00,SHFee=0.00,RwdPoints=0,RwdBalance=0,RwdIssued=,EBTFSLedgerBalance=,EBTFSAvailBalance=,EBTFSBeginBalance=,EBTCashLedgerBalance=,EBTCashAvailBalance=,EBTCashBeginBalance=,RewardCode=,AcqRefData=,ProcessData=,RefNo=,RewardQR=,Language=English,EntryType=Swipe,table_num=0,clerk_id=,ticket_num=,ControlNum=,TaxCity=0.00,TaxState=0.00,TaxReducedState=0.00,Cust1=,Cust1Value=,Cust2=,Cust2Value=,Cust3=,Cust3Value=,AcntFirst4=4117,TaxAmount=0.00,ExpDate=0320,AVSRsp=,CVVRsp=</ExtData>
    <Receipt>...</Receipt>
    <CVMResult>4</CVMResult>
  </response>
</xmp>

Return

<request>
  <AuthKey>zbhRAW9N6x</AuthKey>
  <RefId>f5265a60a0</RefId>
  <TPN>dvpaytest123</TPN>
  <PaymentType>Debit</PaymentType>
  <TransType>Return</TransType>
  <Amount>8.13</Amount>
  <GetReceipt>Both</GetReceipt>
  <PrintReceipt>Both</PrintReceipt>
</request>
<xmp>
  <response>
    <RefId>f5265a60a0</RefId>
    <TransNum>9</TransNum>
    <ResultCode>0</ResultCode>
    <RespMSG>APPROVAL%20TAS775</RespMSG>
    <Message>Approved</Message>
    <AuthCode>TAS775</AuthCode>
    <PNRef>127214145210</PNRef>
    <PaymentType>Debit</PaymentType>
    <Voided>false</Voided>
    <TransType>Return</TransType>
    <SN>WP20031Q21000123</SN>
    <ExtData>Amount=8.13,InvNum=9,CardType=DEBIT,BatchNum=1,Tip=0.00,CashBack=0.00,Fee=0.00,AcntLast4=9420,BIN=411773,Name=CLARKE%2fCHRIS%20B,SVC=0.00,TotalAmt=8.13,DISC=0.00,Donation=0.00,SHFee=0.00,RwdPoints=0,RwdBalance=0,RwdIssued=,EBTFSLedgerBalance=,EBTFSAvailBalance=,EBTFSBeginBalance=,EBTCashLedgerBalance=,EBTCashAvailBalance=,EBTCashBeginBalance=,RewardCode=,AcqRefData=,ProcessData=,RefNo=,RewardQR=,Language=English,EntryType=Swipe,table_num=0,clerk_id=,ticket_num=,ControlNum=,TaxCity=0.00,TaxState=0.00,TaxReducedState=0.00,Cust1=,Cust1Value=,Cust2=,Cust2Value=,Cust3=,Cust3Value=,AcntFirst4=4117,TaxAmount=0.00,ExpDate=0320,AVSRsp=,CVVRsp=</ExtData>
    <Receipt>...</Receipt>
    <CVMResult>4</CVMResult>
  </response>
</xmp>

UserChoice

Transaction type

Request

Response

User choice

Allow to choose payment type(Credit or Debit) on the terminal

<request>
  <AuthKey>zbhRAW9N6x</AuthKey>
  <TPN>Z11INVTEST01</TPN>
  <PosID>4740</PosID>
  <UserChoice title="Choose Payment Type" count="2">
    <Choice>Credit $8,92</Choice>
    <Choice>Debit $8,92</Choice>
  </UserChoice>
</request>
<xmp>
  <response>
    <RegisterId></RegisterId>
    <Message>Success</Message>
    <UserChoice>Credit $8,92</UserChoice>
  </response>
</xmp>

Field

Significance

Description

AuthKey

Mandatory

Specifies the Authentication Key, which authorizes Host system to use the SPin

RefId

Mandatory

Unique reference id of the payment.

TPN

Mandatory

Use “TPN” OR “RegisterId”. Unique terminal ID. Can be used to identify the terminal in SPin Proxy environment

RegisterId

Mandatory

Use “TPN” OR “RegisterId”. The value of this field reflects RegisterId field of the SPin request message

SignCapable

Optional

Requests signature from touch screen terminal

PaymentType

Mandatory

Indicates electronic data capture (EDC) type

  • Credit – credit card processing (US only).

  • Debit – US debit card processing (US only).

TransType

Mandatory

Indicates the type of transaction to be run

  • Authorisation

  • Capture

  • Return

  • Sale

  • Ticket

  • TipAdjust (Tip Adjustment)

  • Void

Amount

Mandatory

Total amount of the transaction in decimal format

GetReceipt

Optional

This field can be used to retrieve formatted receipt data via SPin

PrintReceipt

Optional

Indicates if any of receipt copies should be printed after the transaction

Tip

Mandatory for TipAdjust / Optinal for Sale

Only for Credit operations

InvNum

Optional

Unique alpha numeric invoice number

Frequency

Optional

If item is present, the terminal will attempt to tokenize user card data. The token can be used instead of the card for a certain period of time. Only available for limited number of processors.

  • OneTime – used for daily transaction activity. The token is valid for six months, and is dynamically refreshed with each use, which extends the expiration window by another 6 months.

  • Recurring – tokens used for weekly, monthly or annual recurring billing programs, where the amount being charged is set and agreed upon with the cardholder. These charges appear as a recurring payment on cardholder statements. Recurring tokens are valid for 24 months, and as with OneTime tokens they refresh with each use, extending the expiration window by another 24 months

AcntLast4

Mandatory for TipAdjust

Only for Tip adjustment

Alert

Optional

If request is valid, terminal will beep N times before prompting for card, where N is the value of this field

ClerkId

Optional

Clerk/Server identifier