Skip to content

e-Vouchers & Gift Cards

Services that return a PIN or voucher code for the customer to redeem.

How It Works

Unlike Direct Recharge, e-Vouchers do not top-up an account directly. Instead, you receive a PIN code that the customer uses to redeem the value.

Available Services

e-Vouchers are identified by is_pin_based: true in the /services response.

Example Services

Service IDService NameBillerCategoryIs PIN
virgin-m100Virgin Mobile - AED100Virgin MobileMobile PrepaidTrue
slk50Salik Recharge Card - AED 50SalikTransportationTrue
slk100Salik Recharge Card - AED 100SalikTransportationTrue
noon_25AEDnoon gift card - AED 25NoonGift CardsTrue
itunes_aed_100Apple Gift Card - AED 100Apple UAEGift CardsTrue
gplay_aed_50Google Play AED 50Google AEDGift CardsTrue
steam-aed-100Steam PIN - AED 100SteamGift CardsTrue
netflix-aed-100Netflix PIN - AED 100NetflixGift CardsTrue
psn_aed_1mPlayStation Network UAE 1 MonthPlayStationGift CardsTrue

Transaction Flow

Key Difference: PIN in Response

The Find response for e-Vouchers includes an info object with the voucher details:

json
{
  "info": {
    "reference": "1234567890",
    "number": "5678-1234-9012-3456",
    "serial": "SN123456789"
  }
}
FieldDescription
numberThe PIN code for customer to use
serialSerial number (if applicable)
referenceBiller reference number

Steps

1. Check Transaction

Validate and reserve the voucher.

View Check details →

2. Confirm Transaction

Purchase the voucher.

View Confirm details →

3. Find Transaction

Get the PIN code from the response.

View Find details →

Example

Complete flow for Salik voucher:

javascript
// 1. Check
const check = await api.post('/transaction/check', {
  auth: { id, key, hash },
  product: 'slk100',
  external_transaction_id: 'voucher-12345',
  fields: {
    customer: '[email protected]',
    account: '[email protected]',
    amount: 100
  }
});

// 2. Confirm
const confirm = await api.post('/transaction/confirm', {
  auth: { id, key, hash },
  external_transaction_id: 'voucher-12345',
  fields: { amount: 100 }
});

// 3. Find (get PIN)
const result = await api.post('/transaction/find', {
  auth: { id, key, hash },
  external_transaction_id: 'voucher-12345'
});

// Display PIN to customer
console.log('PIN:', result.info.number);
console.log('Serial:', result.info.serial);

Paynet API Documentation