Paywizard Integration
WizarPOS
  • Overview
  • Choose Your Best Practice
  • Cloud API
    • Quick Start - Cloud API
    • PayWizard Open Platform API Signature Guide V3
    • POS & Payment Terminal Binding Process
      • API 1: [Deprecated]Get Access Tokens
      • API 2: Bind POS & Payment Terminal
      • API 3: Get POS & Terminal Binding List
      • API : Unbind Terminal with POS
    • Do Transactions
      • API 4: POS Initiate Transaction
        • Transaction Request Example
      • API 5: POS System Query Transaction Results
      • Transaction Type
      • Terminal API: Subscribe Transaction Results
    • Get Transaction Result
      • API: Transaction Result Push
      • API: Get Transaction Result
      • API: Get Merchant Infomation
    • E-Receipt Intro
      • Terminal API : Upload Transaction Info
      • Terminal API : Upload Settlement Info
  • Semi integration
    • Quick Start - Semi Integration
    • Payment App Integration Protocol
    • Payment App AIDL Integration
  • payment parameter
    • Quick Start - Payment Parameter Push
    • TSYS Transit Parameter Push
    • Fiserv Parameter Push
    • Query Push Status
  • online card payment
    • Quick Start - Online Payment
    • Web Element Integration
    • Client Checkout Page SDK
  • APM (QR/WALLET)
    • Quick Start: QR Payment API Integration
    • Quick Pay - Merchant Scan
    • Generate QR Code - Customer Scan
    • Query Transaction Status
    • Refund
    • VOID
    • Close Order
  • loyalty
    • Quick Start - Loyalty API
    • Activate
    • Query
    • Top-up
    • Pay
    • Void
    • Issue Points
    • Redeem Points
    • Add Tip
Powered by GitBook
On this page
  1. loyalty

Redeem Points

PreviousIssue PointsNextAdd Tip

Last updated 1 day ago

CtrlK

Overview

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.

Environments

Environment
Protocol
HTTP Method
URL

Sandbox

HTTPS

POST

https://uat.paywizard.biz/ovstrade/openLoyaltyPay/loyaltyRedemption

Production

HTTPS

POST

https://portal.paywizard.biz/ovstrade/openLoyaltyPay/loyaltyRedemption

Authentication

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.


Endpoint: Redeem Loyalty Points

POST /ovstrade/openLoyaltyPay/loyaltyRedemption

Headers

Key
Type
Required
Description

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

Parameter
Type
Required
Description

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

Code
Description

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.

Parameter
Type
Description

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.

Result Code
Description

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.