LOYALTY API

Activate

post
Header parameters
jwt-tokenstringRequiredExample: {{ecommerceToken}}
signstringRequiredExample: signtext
Body
clientIdstringRequired

Your unique developer ID.

loyaltyChannelstringRequired

The prepaid channel provider.

accountIdstringRequired

The unique identifier for the prepaid card.

entryTypestringRequired

The method used to input the accountId. “B”:barcode ”K”:keyed ”M”:magnetic ”P”:proximity

Example: B
activatingstringRequired

Set to "Y" to activate the card or "N" to not activate.

Example: Y
Responses
200Success
application/json
post
POST /ovstrade/openLoyaltyPay/giftActivate HTTP/1.1
Host: 
jwt-token: text
sign: text
Content-Type: application/json
Accept: */*
Content-Length: 501

{
  "clientId": "825429536610058240",
  "loyaltyChannel": "FACTOR4",
  "accountId": "914639258868515",
  "entryType": "K",
  "activating": "Y",
  "customerInfo": {
    "customerType": "1",
    "firstName": "Jon1",
    "middleName": "Mid2",
    "lastName": "Doe3",
    "address1": "295R+VM Settat, Morocco",
    "address2": "Settat,Morocco",
    "city": "Morocco",
    "state": "Settat",
    "postal": "",
    "country": "US",
    "mailPref": "O",
    "phone": "+8612154154",
    "isMobile": "N",
    "phonePref": "O",
    "email": "Jon@gmail.com",
    "emailPref": "O",
    "birthday": "20000101",
    "anniversary": "",
    "gender": ""
  }
}
200Success
{
  "code": 200,
  "msg": "success",
  "timestamp": "2025-07-24 15:34:05",
  "data": {
    "accountId": "914639258868515",
    "balances": [
      {
        "valueCode": "USD",
        "amount": 1534.1,
        "difference": 0
      },
      {
        "valueCode": "Points",
        "amount": 53,
        "difference": 0
      }
    ],
    "customerInfo": {
      "customerType": "1",
      "firstName": "Jon1",
      "middleName": "Mid2",
      "lastName": "Doe3",
      "address1": "295R+VM Settat, Morocco",
      "address2": "Settat,Morocco",
      "city": "Morocco",
      "state": "Settat",
      "postal": "",
      "country": "US",
      "mailPref": "O",
      "phone": "+8612154154",
      "isMobile": "N",
      "phonePref": "O",
      "email": "Jon@gmail.com",
      "emailPref": "O",
      "birthday": "20000101",
      "anniversary": "",
      "gender": ""
    }
  }
}

Query

post
Header parameters
jwt-tokenstringRequiredExample: {{ecommerceToken}}
signstringRequiredExample: signtext
Body
clientIdstringRequired

Your unique developer ID.

loyaltyChannelstringRequired

The prepaid channel provider.

accountIdstringRequired

The unique identifier for the prepaid card.

entryTypestringRequired

The method used to input the accountId. “B”:barcode ”K”:keyed ”M”:magnetic ”P”:proximity

Example: B
Responses
200Success
application/json
post
POST /ovstrade/openLoyaltyPay/giftInquiry HTTP/1.1
Host: 
jwt-token: text
sign: text
Content-Type: application/json
Accept: */*
Content-Length: 106

{
  "clientId": "825429536610058240",
  "loyaltyChannel": "FACTOR4",
  "accountId": "914639258868515",
  "entryType": "K"
}
200Success
{
  "code": 200,
  "msg": "success",
  "timestamp": "2025-07-24 13:16:29",
  "data": {
    "accountId": "914639258868515",
    "balances": [
      {
        "valueCode": "USD",
        "amount": 1534.1,
        "difference": 0
      },
      {
        "valueCode": "Points",
        "amount": 53,
        "difference": 0
      }
    ],
    "customerInfo": {
      "customerType": "1",
      "firstName": "Jon1",
      "middleName": "Mid2",
      "lastName": "Doe3",
      "address1": "295R+VM Settat, Morocco",
      "address2": "Settat,Morocco",
      "city": "Morocco",
      "state": "Settat",
      "postal": "",
      "country": "US",
      "mailPref": "O",
      "phone": "+8612154154",
      "isMobile": "N",
      "phonePref": "O",
      "email": "Jon@gmail.com",
      "emailPref": "O",
      "birthday": "20000101",
      "anniversary": "",
      "gender": ""
    }
  }
}

Top-up

post
Header parameters
jwt-tokenstringRequiredExample: {{ecommerceToken}}
signstringRequiredExample: signtext
Body
clientIdstringRequired

Your unique developer ID.

tranOrderNostring · max: 60Required

The unique order ID for this reload transaction, generated by your system.

loyaltyChannelstringRequired

The prepaid channel provider.

accountIdstringRequired

The unique identifier for the prepaid card.

entryTypestringRequired

The method used to input the accountId. “B”:barcode ”K”:keyed ”M”:magnetic ”P”:proximity

Example: B
activatingstringRequired

Set to "Y" to activate the card or "N" to not activate.

Example: Y
Responses
200Success
application/json
post
POST /ovstrade/openLoyaltyPay/giftIssuance HTTP/1.1
Host: 
jwt-token: text
sign: text
Content-Type: application/json
Accept: */*
Content-Length: 535

{
  "clientId": "825429536610058240",
  "tranOrderNo": "20250401123534801",
  "loyaltyChannel": "FACTOR4",
  "accountId": "914639258868515",
  "entryType": "K",
  "activating": "Y",
  "customerInfo": {
    "customerType": "1",
    "firstName": "Jon1",
    "middleName": "Mid2",
    "lastName": "Doe3",
    "address1": "295R+VM Settat, Morocco",
    "address2": "Settat,Morocco",
    "city": "Morocco",
    "state": "Settat",
    "postal": "",
    "country": "US",
    "mailPref": "O",
    "phone": "+8612154154",
    "isMobile": "N",
    "phonePref": "O",
    "email": "Jon@gmail.com",
    "emailPref": "O",
    "birthday": "20000101",
    "anniversary": "",
    "gender": ""
  }
}
200Success
{
  "code": 200,
  "msg": "success",
  "timestamp": "2025-07-24 15:52:21",
  "data": {
    "mid": "202507081058",
    "paywizardId": "10020000080",
    "checkoutId": "933434611567034368",
    "transIndexCode": "100200000809631006007",
    "amount": "10000",
    "result": 0
  }
}

Pay

post
Header parameters
jwt-tokenstringRequiredExample: {{ecommerceToken}}
signstringRequiredExample: signtext
Body
clientIdstringRequired

Your unique developer ID.

tranOrderNostring · max: 60Required

The unique order ID for this payment transaction, generated by your system.

loyaltyChannelstringRequired

The prepaid channel provider.

amountstringRequired

The total transaction amount.

Example: 10.5
tranCurrencystringRequired

The 3-letter ISO currency code for the transaction.

Example: USD
accountIdstringRequired

The unique identifier for the prepaid card.

entryTypestringRequired

The method used to input the accountId. “B”:barcode ”K”:keyed ”M”:magnetic ”P”:proximity

Example: B
nsfAllowedbooleanOptional

Non-Sufficient Funds Allowed. Set to true to permit the transaction to proceed even if the card balance is insufficient to cover the full amount.

Responses
200Success
application/json
post
POST /ovstrade/openLoyaltyPay/giftTransaction HTTP/1.1
Host: 
jwt-token: text
sign: text
Content-Type: application/json
Accept: */*
Content-Length: 177

{
  "clientId": "825429536610058240",
  "tranOrderNo": "20250401123534801",
  "loyaltyChannel": "FACTOR4",
  "amount": "10.5",
  "tranCurrency": "USD",
  "accountId": "914639258868515",
  "entryType": "K"
}
200Success
{
  "code": 200,
  "msg": "success",
  "timestamp": "2025-07-24 13:06:10",
  "data": {
    "mid": "202507081058",
    "paywizardId": "10020000080",
    "checkoutId": "933392815902294016",
    "transIndexCode": "100200000807293844967",
    "amount": "10000",
    "result": 0
  }
}

Void

post
Header parameters
jwt-tokenstringRequiredExample: {{ecommerceToken}}
signstringRequiredExample: signtext
Body
clientIdstringRequired

Your unique developer ID.

tranOrderNostringRequired

A new, unique order ID for this specific void request, generated by your system.

oriOrderNostringRequired

The checkoutId of the original prepaid transaction you want to void.

Responses
200Success
application/json
post
POST /ovstrade/openLoyaltyPay/giftVoid HTTP/1.1
Host: 
jwt-token: text
sign: text
Content-Type: application/json
Accept: */*
Content-Length: 101

{
  "clientId": "825429536610058240",
  "tranOrderNo": "20250401123534801",
  "oriOrderNo": "933358163137265664"
}
200Success
{
  "code": 200,
  "msg": "success",
  "timestamp": "2025-07-24 13:07:08",
  "data": {
    "mid": "202507081058",
    "paywizardId": "10020000080",
    "checkoutId": "933393048983961600",
    "transIndexCode": "100200000802784286495",
    "result": 0,
    "oriCheckoutId": "933392815902294016",
    "oriTransIndexCode": "100200000807293844967"
  }
}

Issue Points

post
Header parameters
jwt-tokenstringRequiredExample: {{ecommerceToken}}
signstringRequiredExample: signtext
Body
clientIdstringRequired

Your unique developer ID.

tranOrderNostring · max: 60Required

The unique order ID for this points issuance transaction, generated by your system.

loyaltyChannelstringRequired

The prepaid channel provider.

accountIdstringRequired

The unique identifier for the prepaid card.

entryTypestringRequired

The method used to input the accountId. “B”:barcode ”K”:keyed ”M”:magnetic ”P”:proximity

Example: B
amountstringRequired

The number of loyalty points to add to the card.

Responses
200Success
application/json
post
POST /ovstrade/openLoyaltyPay/loyaltyIssuance HTTP/1.1
Host: 
jwt-token: text
sign: text
Content-Type: application/json
Accept: */*
Content-Length: 153

{
  "clientId": "825429536610058240",
  "tranOrderNo": "20250401123534801",
  "loyaltyChannel": "FACTOR4",
  "accountId": "914639258868515",
  "entryType": "K",
  "amount": "1"
}
200Success
{
  "code": 200,
  "msg": "success",
  "timestamp": "2025-07-24 16:13:25",
  "data": {
    "mid": "202507081058",
    "paywizardId": "10020000080",
    "checkoutId": "933439876320329728",
    "transIndexCode": "100200000807013210966",
    "amount": "10000",
    "result": 0
  }
}

Redeem Points

post
Header parameters
jwt-tokenstringRequiredExample: {{ecommerceToken}}
signstringRequiredExample: signtext
Body
clientIdstringRequired

Your unique developer ID.

tranOrderNostring · max: 60Required

The unique order ID for this points redemption transaction, generated by your system.

loyaltyChannelstringRequired

The prepaid channel provider.

accountIdstringRequired

The unique identifier for the prepaid card.

entryTypestringRequired

The method used to input the accountId. “B”:barcode ”K”:keyed ”M”:magnetic ”P”:proximity

Example: B
amountstringRequired

The number of loyalty points to redeem from the card.

Responses
200Success
application/json
post
POST /openLoyaltyPay/loyaltyRedemption HTTP/1.1
Host: 
jwt-token: text
sign: text
Content-Type: application/json
Accept: */*
Content-Length: 153

{
  "clientId": "825429536610058240",
  "tranOrderNo": "20250401123534801",
  "loyaltyChannel": "FACTOR4",
  "accountId": "914639258868515",
  "entryType": "K",
  "amount": "1"
}
200Success
{
  "code": 200,
  "msg": "success",
  "timestamp": "2025-07-24 16:22:29",
  "data": {
    "mid": "202507081058",
    "paywizardId": "10020000080",
    "checkoutId": "933442205362814976",
    "transIndexCode": "100200000805876553413",
    "amount": "10000",
    "result": 0
  }
}

Add Tip

post
Header parameters
jwt-tokenstringRequiredExample: {{ecommerceToken}}
signstringRequiredExample: signtext
Body
clientIdstringRequired

Your unique developer ID.

tranOrderNostringRequired

A new, unique order ID for this specific tip transaction, generated by your system.

oriOrderNostringRequired

The checkoutId of the original payment transaction to which the tip is being added.

tranCurrencystringRequired

The 3-letter ISO currency code for the tip amount.

Example: USD
amountstringRequired

The tip amount to be added.

accountIdstringRequired

The unique identifier for the prepaid card used in the original transaction.

entryTypestringRequired

The method used to input the accountId. “B”:barcode ”K”:keyed ”M”:magnetic ”P”:proximity

Example: B
Responses
200Success
application/json
post
POST /ovstrade/openLoyaltyPay/giftTip HTTP/1.1
Host: 
jwt-token: text
sign: text
Content-Type: application/json
Accept: */*
Content-Length: 181

{
  "clientId": "825429536610058240",
  "tranOrderNo": "20250401123534801",
  "accountId": "914639258868515",
  "entryType": "K",
  "amount": "2",
  "tranCurrency": "USD",
  "oriOrderNo": "927994263952818176"
}
200Success
{
  "code": 200,
  "msg": "success",
  "timestamp": "2025-07-24 17:09:24",
  "data": {
    "mid": "202507081058",
    "paywizardId": "10020000080",
    "checkoutId": "933454027025416192",
    "transIndexCode": "100200000800256343351",
    "amount": "20000",
    "result": 0
  }
}