# Issue Points

## Overview

This endpoint is used to issue loyalty points to a customer's prepaid card. This operation is for adding points, not for reloading monetary value.

## Environments

<table><thead><tr><th width="117.39996337890625">Environment</th><th width="100">Protocol</th><th width="87.39996337890625">HTTP Method</th><th>URL</th></tr></thead><tbody><tr><td>Sandbox</td><td>HTTPS</td><td><code>POST</code></td><td><code>https://uat.paywizard.biz/ovstrade/openLoyaltyPay/loyaltyIssuance</code></td></tr><tr><td>Production</td><td>HTTPS</td><td><code>POST</code></td><td><code>https://portal.paywizard.biz/ovstrade/openLoyaltyPay/loyaltyIssuance</code></td></tr></tbody></table>

## **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      | The request signature. See [Signature Generation Guide](../cloud-api/paywizard-open-platform-api-signature-guide-v3). |

## **Request Body Parameters**

| Parameter        | Type   | Required | Description                                                                                                                       |
| ---------------- | ------ | -------- | --------------------------------------------------------------------------------------------------------------------------------- |
| `clientId`       | String | Yes      | Your unique developer ID.                                                                                                         |
| `tranOrderNo`    | String | Yes      | The unique order ID for this points issuance transaction, generated by your system.                                               |
| `loyaltyChannel` | String | Yes      | The prepaid channel provider. See [Prepaid Channels](https://oversea.hs1c.cn/showdoc/web/#/671575440/155776425) 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](https://www.google.com/search?q=%23entry-type-codes) below.      |
| `amount`         | String | Yes      | The number of loyalty points to add to the card.                                                                                  |

### **Entry Type Codes**

<table><thead><tr><th width="114.800048828125">Code</th><th>Description</th></tr></thead><tbody><tr><td><code>B</code></td><td>Barcode</td></tr><tr><td><code>K</code></td><td>Keyed (manually entered)</td></tr><tr><td><code>M</code></td><td>Magnetic Stripe</td></tr><tr><td><code>P</code></td><td>Proximity (NFC/Contactless)</td></tr></tbody></table>

## **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 issuance 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  | 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 issued.                                                                                                                         |
| `data.result`         | Integer | An integer code representing the status of the transaction. See [Transaction Status Codes](https://www.google.com/search?q=%23transaction-status-codes) below. |

### **Transaction Status Codes**

The `result` field indicates the immediate outcome of the points issuance 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:13:25",
    "data": {
        "mid": "202507081058",
        "paywizardId": "10020000080",
        "checkoutId": "933439876320329728",
        "transIndexCode": "100200000807013210966",
        "amount": "10000",
        "result": 0
    }
}
```

