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.
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. |
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
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/"
}
}