Developer ZoneRecipesAPI ReferenceChangelog
Developer Zone

Void Transaction

Transaction API supports VOID operations and can be used to void a previous transaction using the transaction ID from the original Sales Transaction.

📘

API Parameter

Request Parameter
Response Parameters

Void Transaction API

To initiate a VOID request, follow the examples below

Step 1 : Create PosRequest with Void Intent

val request = PosRequest.Transaction.Void(
  orgTranId = "{Original Transaction ID}",
  posMessageId = "{Merchant Unique Invoice Number}",
  adminPwd = "{Password}"
)

Step 2 : POST the request to Payserver Transaction API

val result =
  client.post("http://${remoteIpAddress.value}:${remotePort.value}/api/v1/trans") {
    contentType(ContentType.Application.Json)
    setBody(request)
  }
val response = result.body<PosResponse<TransactionResponse>>()
{
 "rspCode" : "0",
 "rspMsg": "Success",
 "data" : {
  "tranId": "M9279873298",
  "trace": "M9279873298",
  "rrn": "897323",
  "tranType": "SALE",
  "tranStatus": "VOID",
  "approvalCode": "979384",
  "paymentMethod": "Visa",
  "cardData" : {
    "aid": "",
    "appName": "",
    "tc": "",
    "tsi": "",
    "tvr": ""
  },
  "entryMode" : "NFC",
  "maskedAccount": "**** **** **** 1234",
  "cvmPerformed": "NO_CVM",
  "acqMid": "MID98392",
  "acqTid": "0001",
  "posMessageId": "{merchant unique reference no}",
  "mchAddress": "",
  "mchName": "2C2P Pte Ltd",
  "totalAmount": 60.00,
  "createByName": "",
  "createdAt": "1744687184773",
  "updatedAt": "1744687184773"
 }
}