Payment
Transaction API supports SALE and PRE-AUTH operations. This endpoint is used to initiate a new transaction.
API Parameter
Payment Request API
To initiate a SALE request, follow the examples below
Step 1 : Create PosRequest with Sale Intent or Auth Intent
// Sales Request
val request = PosRequest.Transaction.Sale(
amount = BigDecimal(amount),
posMessageId = viewModel.posMessageId,
autoDismissResult = true
)
// Pre-Auth Request
val request = PosRequest.Transaction.Auth(
amount = BigDecimal(amount),
posMessageId = viewModel.posMessageId,
autoDismissResult = true
)
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": "Approved",
"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"
}
}
Updated 22 days ago