Redeem Points
Last updated
Last updated
This endpoint is used to redeem (or consume) loyalty points from a customer's prepaid card. This is the counterpart to the "Add Points" operation.
Sandbox
HTTPS
POST
https://uat.paywizard.biz/ovstrade/openLoyaltyPay/loyaltyRedemption
Production
HTTPS
POST
https://portal.paywizard.biz/ovstrade/openLoyaltyPay/loyaltyRedemption
Authentication is handled through a JSON Web Token (JWT) included in the request header. A signature must also be provided in the headers for request verification.
For detailed instructions on generating the required signature, please refer to our Signature Generation Guide.
POST /ovstrade/openLoyaltyPay/loyaltyRedemption
Headers
Content-Type
String
Yes
Must be application/json
.
jwt-token
String
Yes
The transaction token obtained using your developer credentials.
sign
String
Yes
Request Body Parameters
clientId
String
Yes
Your unique developer ID.
tranOrderNo
String
Yes
The unique order ID for this points redemption transaction, generated by your system.
loyaltyChannel
String
Yes
Entry Type Codes
B
Barcode
K
Keyed (manually entered)
M
Magnetic Stripe
P
Proximity (NFC/Contactless)
Request Example
JSON
{
"clientId": "825429536610058240",
"tranOrderNo": "20250401123534801",
"loyaltyChannel": "FACTOR4",
"accountId": "914639258868515",
"entryType": "K",
"amount": "1"
}
Response Body
The response object contains the status of the points redemption transaction.
code
Integer
The HTTP status code. 200
indicates a successful request.
msg
String
A human-readable message. success
on successful requests.
timestamp
String
The UTC timestamp of the response. Format: YYYY-MM-DD HH:mm:ss
.
data
Object
Transaction Status Codes
The result
field indicates the immediate outcome of the points redemption request.
0
Success
1
Failure
2
Pending / In Progress
Success Response Example
JSON
{
"code": 200,
"msg": "success",
"timestamp": "2025-07-24 16:22:29",
"data": {
"mid": "202507081058",
"paywizardId": "10020000080",
"checkoutId": "933442205362814976",
"transIndexCode": "100200000805876553413",
"amount": "10000",
"result": 0
}
}
The request signature. See Signature Generation Guide.
The prepaid channel provider. See Prepaid Channels for valid values.
accountId
String
Yes
The unique identifier for the prepaid card.
entryType
String
Yes
The method used to input the accountId
. See Entry Type Codes below.
amount
String
Yes
The number of loyalty points to redeem from the card.
A container for the successful response data. Null on error.
data.mid
String
The merchant ID.
data.paywizardId
String
The unique platform ID for the transaction.
data.checkoutId
String
The unique transaction ID generated by the payment platform.
data.transIndexCode
String
A unique transaction reference code.
data.amount
String
The number of points that were redeemed.
data.result
Integer
An integer code representing the status of the transaction. See Transaction Status Codes below.