Chapter 4 – AdjustAnywhere Method

When operating in an environment that supports multiple POS stations and payment devices, the AdjustAnywhere Method allows a tip ADJUST or VOID to be performed from any POS register belonging to the same merchant within the same hierarchy on any device within the same system.
 

There are two options to locate the original transaction to perform the ADJUST or VOID.

  • TraceNum

  • A combination of OrigRefNum, OrigTransDate and OrigTransTime
     

If the TraceNum can not be provided, please use OrigRefNum, OrigTransDate and OrigTransTime.

 
Important Note:
If multiple transactions are found by using OrigRefNum, OrigTransDate and OrigTransTime, include the parameters of OrigAcctNum or OrigApprovedAmt to locate the transaction.

Section 4.1 - Service Location: link

For SOAP connections:

https://demo.spweblink.com/Service/PosService.asmx?op=AdjustAnywhere

For standard HTTPS connections:

https://demo.spweblink.com/service/AdjustAnywhere.asmx

AdjustAnywhere Input Parameters:

O = Optional, R = Required, C = Conditional

Parameter Name

Opt/Req/ Conditional

Max Length

Description

UserName

R

32

User name assigned in the payment server. The user must have an appropriate level of access within the system in order to utilize the web service.

Password

R

32

API password associated with the user name.

WorkstationID

O

24

Value assigned by ISV to the workstation

PosID

R

24

Value assigned by Nuvei to identify the ECR/POS Station. Assigned by Nuvei to identify the ECR/POS station

Token

R

64

Value assigned by Nuvei to identify the ISV

TerminalID

R

24

Identifies individual payment terminal (lane) within a group. Assigned by Nuvei.

SerialNum

R

10

Unique Serial Number of the Payment device.

TraceNum

O/C

14

Unique identifier of the transaction. Assigned by Nuvei web service at the initial time of transaction.

Recommended to include on receipt.

If unavailable to perform the ADJUST or VOID, use a combination of OrigRefNum, OrigTransDate and OrigTransTime.

TimeOut

R

2

Set in seconds. Maximum is 1 minutes=60 seconds.

TransType

R

6

Identifies the type of transaction being made. Valid values are:

ADJUST

VOID

TenderType

R

13

Identifies the Tender Type being made. Valid values are:

CREDIT

DEBIT

EBT

EBT_FOODSTAMP

EBT_CASHBACK

GIFT

LOYALTY

Amount

R

8

Amount requested for approval in original transaction request. Could be different than amount approved.

Format: $$$$$.CC

*Default amount is 0.00 (for VOID). For performing a tip ADJUST, you may leave this field empty. By doing so we will remove the existing tip.

OrigRefNum

C

4

Terminal reference number

When TraceNum is not available, use with OrigTransDate and OrigTrans time to perform ADJUST or VOID.

ECRRefNum

R

16

The ECR Reference Number. This is a unique code on the ECR side.

OrigTransDate

C

8

Original Transaction Date

Format: yyyyMMdd  

When TraceNum is not available, use with OrigRefNum and OrigTrans time to perform ADJUST or VOID.

OrigTransTime

C

6

Original Transaction Time

Format: hhmmss

When TraceNum is not available, use with OrigTransDate and OrigRefNum time to perform ADJUST or VOID.

OrigAcctNum

C

4

Last 4 digits of Payment Card Number.

Corresponds to MaskedPAN parameter in the Transact or SimpleTransact Response definitions.

OrigApprovedAmt

C

8

Amount approved by payment processor

Format: $$$$$.CC

ExtData

O

VAR

Reserved for future use

 

 

Section 4.1.1 - AdjustAnywhere Response Data Definitions link

O = Optional, R = Required, C = Conditional

Parameter Name

Opt/Req/ Conditional

Max Length

Description

ResultCode

R

6

Transaction Result Code

ResultTxt

O/C

   

*Only returned in JSON message format

ResultMsg

R

32

Transaction Result Text

TransType

R

20

Identifies the type of credit card transaction being made. Valid values can be found with definitions in Appendix A.

PosID

R

24

Value assigned by Nuvei to identify the ISV

IPaddress

R

128

IP address of initiating transaction

Port

R

9

Port of the initiating transaction

MacAddress

R

48

Identifies MAC address of payment device

TerminalID

R

24

Identifies individual payment terminals within a group.

Token

R

64

Value assigned by Nuvei to identify the ISV

SerialNum

R

10

Unique Serial number of payment device.

Amount

R

 

Amount requested for approval in original transaction request. Could be different than amount approved.

TraceNum

R

14

Unique identifier of the transaction. Assigned by Nuvei web service at the initial time of transaction.

Recommended to include on receipt.

AuthCode

R

8

Authorization code returned from payment processor

ApprovedAmount

R

8

Amount approved by payment processor

MaskedPan

R

4

Displays last 4 digits of Payment Card Number

RemainingBalance

C

8

The cardholder’s balance amount.

If TenderType is EBT, this equates to the Cash Benefits balance.

If TenderType is Credit (prepaid branded Gift), this equates to the host returned balance.

ExtraBalance

C

8

The cardholder’s balance amount.

If TenderType is EBT, this equates to the Food Stamp balance.

CardType

O/C

16

Displays Card Type. Varies by Payment Processor

AvsResponse

O/C

8

AVS response value returned by Payment Processor

CvResponse

O/C

8

CVV response value returned by Payment Processor

HostCode

R

32

Host reference number.

HostResponse

O/C

8

Host Response or Error Code. Varies based on Payment Processor.

HostMessage

O/C

32

Host or Gateway message. Varies based on Payment Processor or Gateway.

RefNum

O/C

4

Reference Number/Transaction Number

0 < Index <= 5000, normal use data

5001 < Index <=9000, stored database for SAF

9001 < Index <=9999, failed database for SAF

ECRRefNum

O

16

The ECR Reference Number. This is a unique code on the ECR side.

TransDate

R

8

Transaction Date in YYYYMMDD format.

TransTime

R

6

Transaction Time in HHMMSS format.

OrigRefNum

O

4

Terminal reference number, used for follow-on TransTypes, such as ADJUST, VOID, POSTAUTH, CAPTURE, and REPEATSALE.

BatchNum

O

32

Host Batch Number.

Response varies by Processor.

SigFileName

O/C

Var

File Name of the Captured Signature

The filename format is “Timestamp_RefNum”.

The file type is File. If SigSavePath was not set, it will be saved at <install dir>

\ img\ receipts\

If SigSavePath was set,

it will be saved at < DestinationPath>\

It will also convert the raw signature data to an image with PNG automatically. This image file name as same as the raw signature file name.

RawResponse

O/C

VAR

Gateway Response – if applicable

ExtData

   

Reserved for future use

 

 

Section 4.2 - AdjustAnywhere XML Schema link

Section 4.2.1 - SOAP 1.1 Request and Response link

The following is a sample SOAP 1.1 request and response. The placeholders shown need to be replaced with actual values.

 

POST /Service/PosService.asmx HTTP/1.1 Host: demo.spweblink.com Content-Type: text/xml; charset=utf-8 Content-Length: length SOAPAction: "https://secure.spweblink.com/AdjustAnywhere" <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <AdjustAnywhere xmlns="https://secure.spweblink.com/"> <UserName>string</UserName> <Password>string</Password> <WorkstationID>string</WorkstationID> <PosID>string</PosID> <Token>string</Token> <TerminalID>string</TerminalID> <SerialNum>string</SerialNum> <TraceNum>string</TraceNum> <TimeOut>string</TimeOut> <TenderType>string</TenderType> <TransType>string</TransType> <Amount>string</Amount> <ECRRefNum>string</ECRRefNum> <OrigRefNum>string</OrigRefNum> <OrigTransDate>string</OrigTransDate> <OrigTransTime>string</OrigTransTime> <OrigAcctNum>string</OrigAcctNum> <OrigApprovedAmt>string</OrigApprovedAmt> <ExtData>string</ExtData> </AdjustAnywhere> </soap:Body> </soap:Envelope> HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: length <?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <AdjustAnywhereResponse xmlns="https://secure.spweblink.com/"> <AdjustAnywhereResult> <ResultCode>string</ResultCode> <ResultTxt>string</ResultTxt> <ResultMsg>string</ResultMsg> <TransType>string</TransType> <IPaddress>string</IPaddress> <PosID>string</PosID> <Port>string</Port> <MacAddress>string</MacAddress> <TerminalID>string</TerminalID> <Token>string</Token> <SerialNum>string</SerialNum> <Amount>string</Amount> <TraceNum>string</TraceNum> <AuthCode>string</AuthCode> <ApprovedAmount>string</ApprovedAmount> <MaskedPAN>string</MaskedPAN> <RemainingBalance>string</RemainingBalance> <ExtraBalance>string</ExtraBalance> <CardType>string</CardType> <AvsResponse>string</AvsResponse> <CvResponse>string</CvResponse> <HostCode>string</HostCode> <HostResponse>string</HostResponse> <HostMessage>string</HostMessage> <RefNum>string</RefNum> <ECRRefNum>string</ECRRefNum> <TransDate>string</TransDate> <TransTime>string</TransTime> <OrigRefNum>string</OrigRefNum> <BatchNum>string</BatchNum> <SigFileName>string</SigFileName> <SignData>string</SignData> <RawResponse>string</RawResponse> <ExtData>string</ExtData> </AdjustAnywhereResult> </AdjustAnywhereResponse> </soap:Body> </soap:Envelope>

Section 4.2.2 - SOAP 1.2 Request and Response link

The following is a sample SOAP 1.2 request and response. The placeholders shown need to be replaced with actual values.

 

POST /Service/PosService.asmx HTTP/1.1 Host: demo.spweblink.com Content-Type: application/soap+xml; charset=utf-8 Content-Length: length <?xml version="1.0" encoding="utf-8"?> <soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope"> <soap12:Body> <AdjustAnywhere xmlns="https://secure.spweblink.com/"> <UserName>string</UserName> <Password>string</Password> <WorkstationID>string</WorkstationID> <PosID>string</PosID> <Token>string</Token> <TerminalID>string</TerminalID> <SerialNum>string</SerialNum> <TraceNum>string</TraceNum> <TimeOut>string</TimeOut> <TenderType>string</TenderType> <TransType>string</TransType> <Amount>string</Amount> <ECRRefNum>string</ECRRefNum> <OrigRefNum>string</OrigRefNum> <OrigTransDate>string</OrigTransDate> <OrigTransTime>string</OrigTransTime> <OrigAcctNum>string</OrigAcctNum> <OrigApprovedAmt>string</OrigApprovedAmt> <ExtData>string</ExtData> </AdjustAnywhere> </soap12:Body> </soap12:Envelope> HTTP/1.1 200 OK Content-Type: application/soap+xml; charset=utf-8 Content-Length: length <?xml version="1.0" encoding="utf-8"?> <soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope"> <soap12:Body> <AdjustAnywhereResponse xmlns="https://secure.spweblink.com/"> <AdjustAnywhereResult> <ResultCode>string</ResultCode> <ResultTxt>string</ResultTxt> <ResultMsg>string</ResultMsg> <TransType>string</TransType> <IPaddress>string</IPaddress> <PosID>string</PosID> <Port>string</Port> <MacAddress>string</MacAddress> <TerminalID>string</TerminalID> <Token>string</Token> <SerialNum>string</SerialNum> <Amount>string</Amount> <TraceNum>string</TraceNum> <AuthCode>string</AuthCode> <ApprovedAmount>string</ApprovedAmount> <MaskedPAN>string</MaskedPAN> <RemainingBalance>string</RemainingBalance> <ExtraBalance>string</ExtraBalance> <CardType>string</CardType> <AvsResponse>string</AvsResponse> <CvResponse>string</CvResponse> <HostCode>string</HostCode> <HostResponse>string</HostResponse> <HostMessage>string</HostMessage> <RefNum>string</RefNum> <ECRRefNum>string</ECRRefNum> <TransDate>string</TransDate> <TransTime>string</TransTime> <OrigRefNum>string</OrigRefNum> <BatchNum>string</BatchNum> <SigFileName>string</SigFileName> <SignData>string</SignData> <RawResponse>string</RawResponse> <ExtData>string</ExtData> </AdjustAnywhereResult> </AdjustAnywhereResponse> </soap12:Body> </soap12:Envelope>

Section 4.2.3 - HTTPS GET Request and Response link

The following is a sample HTTPS GET request and response. The placeholders shown need to be replaced with actual values.

 

GET /Service/PosService.asmx/AdjustAnywhere?UserName=string&Password=string&WorkstationID=string&PosID=string&Token=string&TerminalID=string&SerialNum=string&TraceNum=string&TimeOut=string&TenderType=string&TransType=string&Amount=string&ECRRefNum=string&OrigRefNum=string&OrigTransDate=string&OrigTransTime=string&OrigAcctNum=string&OrigApprovedAmt=string&ExtData=string HTTP/1.1 Host: demo.spweblink.com HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: length <?xml version="1.0" encoding="utf-8"?> <PosPaymentResult xmlns="https://secure.spweblink.com/"> <ResultCode>string</ResultCode> <ResultTxt>string</ResultTxt> <ResultMsg>string</ResultMsg> <TransType>string</TransType> <IPaddress>string</IPaddress> <PosID>string</PosID> <Port>string</Port> <MacAddress>string</MacAddress> <TerminalID>string</TerminalID> <Token>string</Token> <SerialNum>string</SerialNum> <Amount>string</Amount> <TraceNum>string</TraceNum> <AuthCode>string</AuthCode> <ApprovedAmount>string</ApprovedAmount> <MaskedPAN>string</MaskedPAN> <RemainingBalance>string</RemainingBalance> <ExtraBalance>string</ExtraBalance> <CardType>string</CardType> <AvsResponse>string</AvsResponse> <CvResponse>string</CvResponse> <HostCode>string</HostCode> <HostResponse>string</HostResponse> <HostMessage>string</HostMessage> <RefNum>string</RefNum> <ECRRefNum>string</ECRRefNum> <TransDate>string</TransDate> <TransTime>string</TransTime> <OrigRefNum>string</OrigRefNum> <BatchNum>string</BatchNum> <SigFileName>string</SigFileName> <SignData>string</SignData> <RawResponse>string</RawResponse> <ExtData>string</ExtData> </PosPaymentResult> POST /Service/PosService.asmx/AdjustAnywhere HTTP/1.1 Host: demo.spweblink.com Content-Type: application/x-www-form-urlencoded Content-Length: length UserName=string&Password=string&WorkstationID=string&PosID=string&Token=string&TerminalID=string&SerialNum=string&TraceNum=string&TimeOut=string&TenderType=string&TransType=string&Amount=string&ECRRefNum=string&OrigRefNum=string&OrigTransDate=string&OrigTransTime=string&OrigAcctNum=string&OrigApprovedAmt=string&ExtData=string HTTP/1.1 200 OK Content-Type: text/xml; charset=utf-8 Content-Length: length <?xml version="1.0" encoding="utf-8"?> <PosPaymentResult xmlns="https://secure.spweblink.com/"> <ResultCode>string</ResultCode> <ResultTxt>string</ResultTxt> <ResultMsg>string</ResultMsg> <TransType>string</TransType> <IPaddress>string</IPaddress> <PosID>string</PosID> <Port>string</Port> <MacAddress>string</MacAddress> <TerminalID>string</TerminalID> <Token>string</Token> <SerialNum>string</SerialNum> <Amount>string</Amount> <TraceNum>string</TraceNum> <AuthCode>string</AuthCode> <ApprovedAmount>string</ApprovedAmount> <MaskedPAN>string</MaskedPAN> <RemainingBalance>string</RemainingBalance> <ExtraBalance>string</ExtraBalance> <CardType>string</CardType> <AvsResponse>string</AvsResponse> <CvResponse>string</CvResponse> <HostCode>string</HostCode> <HostResponse>string</HostResponse> <HostMessage>string</HostMessage> <RefNum>string</RefNum> <ECRRefNum>string</ECRRefNum> <TransDate>string</TransDate> <TransTime>string</TransTime> <OrigRefNum>string</OrigRefNum> <BatchNum>string</BatchNum> <SigFileName>string</SigFileName> <SignData>string</SignData> <RawResponse>string</RawResponse> <ExtData>string</ExtData> </PosPaymentResult>

Section 4.2.4 - JSON Format link

JSON
POST /Service/PosService.asmx/AdjustAnywhere HTTP/1.1 Host: demo.spweblink.com Content-Type: application/json; charset=utf-8 Content-Length: length { "AdjustAnywhere": { "UserName": "string", "Password": "string", "WorkstationID": "string", "PosID": "string", "Token": "string", "TerminalID": "string", "SerialNum": "string", "TraceNum": "string", "TimeOut": "string", "TenderType": "string", "TransType": "string", "Amount": "string", "ECRRefNum": "string", "OrigRefNum": "string", "OrigTransDate": "string", "OrigTransTime": "string", "OrigAcctNum": "string", "OrigApprovedAmt": "string", "ExtData": "string", "_xmlns": "https://secure.spweblink.com/" } } { " PosPaymentResult": { " PosPaymentResult": { "ResultCode": "string", "ResultTxt": "string", "ResultMsg": "string", "TransType": "string", "IPaddress": "string", "PosID": "string", "Port": "string", "MacAddress": "string", "TerminalID": "string", "Token": "string", "SerialNum": "string", "Amount": "string", "TraceNum": "string", "AuthCode": "string", "ApprovedAmount": "string", "MaskedPAN": "string", "RemainingBalance": "string", "ExtraBalance": "string", "CardType": "string", "AvsResponse": "string", "CvResponse": "string", "HostCode": "string", "HostResponse": "string", "HostMessage": "string", "RefNum": "string", "ECRRefNum": "string", "TransDate": "string", "TransTime": "string", "OrigRefNum": "string", "BatchNum": "string", "SigFileName": "string", "SignData": "string", "RawResponse": "string", "ExtData": "string" }, "_xmlns": "https://secure.spweblink.com/" } }

Need Help?

How can we help you today?  Our team is standing by and just a click away.