Appearance
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 ID | Service Name | Biller | Category | Is PIN |
|---|---|---|---|---|
virgin-m100 | Virgin Mobile - AED100 | Virgin Mobile | Mobile Prepaid | True |
slk50 | Salik Recharge Card - AED 50 | Salik | Transportation | True |
slk100 | Salik Recharge Card - AED 100 | Salik | Transportation | True |
noon_25AED | noon gift card - AED 25 | Noon | Gift Cards | True |
itunes_aed_100 | Apple Gift Card - AED 100 | Apple UAE | Gift Cards | True |
gplay_aed_50 | Google Play AED 50 | Google AED | Gift Cards | True |
steam-aed-100 | Steam PIN - AED 100 | Steam | Gift Cards | True |
netflix-aed-100 | Netflix PIN - AED 100 | Netflix | Gift Cards | True |
psn_aed_1m | PlayStation Network UAE 1 Month | PlayStation | Gift Cards | True |
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"
}
}| Field | Description |
|---|---|
number | The PIN code for customer to use |
serial | Serial number (if applicable) |
reference | Biller reference number |
Steps
1. Check Transaction
Validate and reserve the voucher.
2. Confirm Transaction
Purchase the voucher.
3. Find Transaction
Get the PIN code from the response.
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);