C3Pay icon

C3Pay payroll card and wallet data

Edenred UAE · Payments

C3Pay is Edenred UAE's payroll card and salary wallet for the country's private-sector workforce, built around a prepaid card that employers load every month. Cardholders choose between the black and blue card designs, check balances and receipts in the app, and use the same wallet to send money to India, Pakistan, Bangladesh, Nepal, the Philippines and Sri Lanka, pay utility bills, top up Etisalat and du mobile lines or a Dubai NOL transit card, and give to charity. C3Pay Plus bundles insurance and prize draws, RAKBank-backed salary advances land before payday, and onboarding runs on Emirates ID or passport scans with a selfie liveness check, so a new worker can be paid and start remitting without visiting a bank branch.

Payroll-card money resolves into a card ledger (availableBalance, ledgerBalance, cardStatus, expiryDate), a transaction feed (transactionAmount, transactionType, merchantCategoryCode, balanceAfter, declineReason) and the salary credits that fund both. Remittance records add corridor-level detail - corridor, fxRate, feeAmount, receiveAmount, quoteExpiresAt, payoutPartner, purposeCode - next to saved beneficiaryId entries whose payoutMethod, bankName and mobileWallet point at a bank account or mobile wallet in one of six destination countries.

Around that core sit billerId bill payments, operatorCode airtime recharges carrying a bonusAmount and nolCardNumber transit top-ups, plus the identity layer from Emirates ID and passport onboarding (kycStatus, selfieLivenessScore, faceMatchScore, documentNumber), the employer link in employerName and payrollReference, and RAKBank salary-advance eligibility (availableAmount, accruedSalary, repaymentDate). Remittance pricing teams benchmark corridors with the FX fields, payroll-compliance teams verify salary continuity from the credit entries, and alternative lenders size earned-wage advances from payroll behaviour rather than bureau files - openData Studio packages the whole surface as callable open data.

Screenshots

  • C3Pay screenshot 1
  • C3Pay screenshot 2
  • C3Pay screenshot 3
  • C3Pay screenshot 4
  • C3Pay screenshot 5
  • C3Pay screenshot 6
  • C3Pay screenshot 7
  • C3Pay screenshot 8

API surface

Request/response examples are illustrative, reconstructed from the app's interface — not a live capture.

  • Open an authenticated session

    POST /v1/c3pay/sessions/open openbanking

    Signs a worker in with the credentials their employer issued and returns the beneficiary-scoped session that every balance, card and transfer screen depends on.

    Auth: Unauthenticated. Worker credentials are exchanged for an accessToken and refreshToken through Edenred's SSO; the token carries the erae-payrol-beneficiary-api scope and the ae tenant.

    • accessToken
    • refreshToken
    • tokenType
    • expiresIn
    • beneficiaryId
    • kycStatus
    • deviceBindingStatus
    POST /v1/c3pay/sessions/open HTTP/1.1
    Content-Type: application/json
    
    {
      "username": "[email protected]",
      "password": "********",
      "deviceId": "a1b2c3d4-e5f6-7890",
      "appVersion": "13.0.14",
      "language": "en"
    }
    {
      "accessToken": "<access-token>",
      "refreshToken": "<refresh-token>",
      "tokenType": "Bearer",
      "expiresIn": 3600,
      "beneficiaryId": "BNF-88213",
      "kycStatus": "APPROVED",
      "deviceBindingStatus": "BOUND"
    }
  • Read the payroll beneficiary profile

    GET /v1/c3pay/beneficiary/profile openbanking

    Loads the worker's employer, payroll reference and identity state for the home header and profile screens.

    Auth: OAuth 2.0 bearer token from Edenred SSO (username/password identification, offline_access refresh, scope erae-payrol-beneficiary-api, tenant ae); the APIM subscription key header is also required.

    • beneficiaryId
    • fullName
    • employerName
    • payrollReference
    • emiratesId
    • nationality
    • dateOfBirth
    • placeOfBirth
    • kycStatus
    • cardProgram
    • salaryCurrency
    GET /v1/c3pay/beneficiary/profile HTTP/1.1
    Authorization: Bearer <access-token>
    Accept: application/json
    {
      "beneficiaryId": "BNF-88213",
      "fullName": "Anisur Rahman",
      "employerName": "Al Naboodah Contracting",
      "payrollReference": "PR-2026-10",
      "emiratesId": "784-1980-1234567-1",
      "nationality": "BD",
      "dateOfBirth": "1980-04-17",
      "placeOfBirth": "Dhaka",
      "kycStatus": "APPROVED",
      "cardProgram": "C3",
      "salaryCurrency": "AED"
    }
  • List issued prepaid cards and balances

    GET /v1/c3pay/cards openbanking

    Returns each prepaid card issued to the beneficiary with live available and ledger balances, powering the black/blue card picker and card-management screen.

    Auth: OAuth 2.0 bearer token from Edenred SSO (username/password identification, offline_access refresh, scope erae-payrol-beneficiary-api, tenant ae); the APIM subscription key header is also required.

    • cardId
    • maskedPan
    • cardType
    • designCode
    • cardStatus
    • availableBalance
    • ledgerBalance
    • currency
    • expiryDate
    • pinSet
    GET /v1/c3pay/cards HTTP/1.1
    Authorization: Bearer <access-token>
    Accept: application/json
    {
      "cards": [
        {
          "cardId": "CRD-4410-2291",
          "maskedPan": "5399 83** **** 4127",
          "cardType": "PREPAID_SALARY",
          "designCode": "BLACK",
          "cardStatus": "ACTIVE",
          "availableBalance": 1284.75,
          "ledgerBalance": 1314.75,
          "currency": "AED",
          "expiryDate": "2029-08-31",
          "pinSet": true
        }
      ]
    }
  • Page card transaction history

    GET /v1/c3pay/cards/{cardId}/transactions openbanking

    Pages the card ledger with salary credits, purchases, ATM withdrawals and fees; the receipts screen expands one transaction into a shareable receipt.

    Auth: OAuth 2.0 bearer token from Edenred SSO (username/password identification, offline_access refresh, scope erae-payrol-beneficiary-api, tenant ae); the APIM subscription key header is also required.

    • transactionId
    • postedAt
    • merchantName
    • merchantCategoryCode
    • transactionAmount
    • currency
    • transactionType
    • balanceAfter
    • receiptAvailable
    • declineReason
    GET /v1/c3pay/cards/CRD-4410-2291/transactions?fromDate=2026-09-01&toDate=2026-10-25&limit=25&cursor=eyJvIjoyNX0 HTTP/1.1
    Authorization: Bearer <access-token>
    Accept: application/json
    {
      "items": [
        {
          "transactionId": "TXN-9088712",
          "postedAt": "2026-10-24T09:12:44Z",
          "merchantName": "Carrefour Al Barsha",
          "merchantCategoryCode": "5411",
          "transactionAmount": -86.40,
          "currency": "AED",
          "transactionType": "PURCHASE",
          "balanceAfter": 1284.75,
          "receiptAvailable": true,
          "declineReason": null
        }
      ],
      "nextCursor": "eyJvIjo1MH0"
    }
  • List saved remittance beneficiaries

    GET /v1/c3pay/beneficiaries openbanking

    Returns the saved money-transfer and mobile-recharge payees, each pinned to a corridor and payout method.

    Auth: OAuth 2.0 bearer token from Edenred SSO (username/password identification, offline_access refresh, scope erae-payrol-beneficiary-api, tenant ae); the APIM subscription key header is also required.

    • beneficiaryId
    • fullName
    • corridor
    • payoutMethod
    • bankName
    • iban
    • mobileWallet
    • relationship
    • verified
    • lastUsedAt
    GET /v1/c3pay/beneficiaries?corridor=IN&payoutMethod=BANK HTTP/1.1
    Authorization: Bearer <access-token>
    Accept: application/json
    {
      "beneficiaries": [
        {
          "beneficiaryId": "BEN-10293",
          "fullName": "Sunita Sharma",
          "corridor": "IN",
          "payoutMethod": "BANK",
          "bankName": "State Bank of India",
          "iban": "SBIN0001234",
          "mobileWallet": null,
          "relationship": "SPOUSE",
          "verified": true,
          "lastUsedAt": "2026-10-12T18:03:10Z"
        }
      ]
    }
  • Price a remittance transfer

    POST /v1/c3pay/transfers/quote openfinance

    Prices an international transfer for the selected corridor and payee, returning the FX rate, fee and exact amount the family receives before confirmation.

    Auth: OAuth 2.0 bearer token from Edenred SSO (username/password identification, offline_access refresh, scope erae-payrol-beneficiary-api, tenant ae); the APIM subscription key header is also required.

    • quoteId
    • corridor
    • sendAmount
    • sendCurrency
    • fxRate
    • feeAmount
    • receiveAmount
    • receiveCurrency
    • payoutMethod
    • promoCode
    • quoteExpiresAt
    POST /v1/c3pay/transfers/quote HTTP/1.1
    Authorization: Bearer <access-token>
    Content-Type: application/json
    
    {
      "corridor": "IN",
      "beneficiaryId": "BEN-10293",
      "sendAmount": 500.00,
      "sendCurrency": "AED",
      "payoutMethod": "BANK"
    }
    {
      "quoteId": "QTE-778120",
      "corridor": "IN",
      "sendAmount": 500.00,
      "sendCurrency": "AED",
      "fxRate": 22.611,
      "feeAmount": 4.50,
      "receiveAmount": 11260.55,
      "receiveCurrency": "INR",
      "payoutMethod": "BANK",
      "promoCode": null,
      "quoteExpiresAt": "2026-10-25T12:30:00Z"
    }
  • Submit a remittance transfer

    POST /v1/c3pay/transfers openfinance

    Submits a confirmed quote for payout, returning the transfer reference and partner status shown on the confirmation screen.

    Auth: OAuth 2.0 bearer token from Edenred SSO (username/password identification, offline_access refresh, scope erae-payrol-beneficiary-api, tenant ae); the APIM subscription key header is also required.

    • transferId
    • quoteId
    • beneficiaryId
    • corridor
    • sendAmount
    • receiveAmount
    • fxRate
    • feeAmount
    • payoutPartner
    • purposeCode
    • status
    • reference
    • createdAt
    POST /v1/c3pay/transfers HTTP/1.1
    Authorization: Bearer <access-token>
    Content-Type: application/json
    
    {
      "quoteId": "QTE-778120",
      "beneficiaryId": "BEN-10293",
      "purposeCode": "FAMILY_SUPPORT",
      "remittanceReference": "SALARY-OCT"
    }
    {
      "transferId": "TRF-5562019",
      "quoteId": "QTE-778120",
      "beneficiaryId": "BEN-10293",
      "corridor": "IN",
      "sendAmount": 500.00,
      "receiveAmount": 11260.55,
      "fxRate": 22.611,
      "feeAmount": 4.50,
      "payoutPartner": "AANI",
      "purposeCode": "FAMILY_SUPPORT",
      "status": "PROCESSING",
      "reference": "SALARY-OCT",
      "createdAt": "2026-10-25T11:58:02Z"
    }
  • Pay a bill from the card balance

    POST /v1/c3pay/bills/payments openfinance

    Pays a utility or telecom bill from the card balance and returns the biller confirmation reference.

    Auth: OAuth 2.0 bearer token from Edenred SSO (username/password identification, offline_access refresh, scope erae-payrol-beneficiary-api, tenant ae); the APIM subscription key header is also required.

    • paymentId
    • billerId
    • billerName
    • serviceType
    • accountNumber
    • amount
    • feeAmount
    • paymentStatus
    • confirmationNumber
    • paidAt
    POST /v1/c3pay/bills/payments HTTP/1.1
    Authorization: Bearer <access-token>
    Content-Type: application/json
    
    {
      "billerId": "DEWA-001",
      "accountNumber": "1029384756",
      "amount": 210.00,
      "currency": "AED"
    }
    {
      "paymentId": "BIL-3320912",
      "billerId": "DEWA-001",
      "billerName": "Dubai Electricity and Water Authority",
      "serviceType": "UTILITY",
      "accountNumber": "1029384756",
      "amount": 210.00,
      "feeAmount": 1.00,
      "paymentStatus": "COMPLETED",
      "confirmationNumber": "DEWA-882713",
      "paidAt": "2026-10-25T12:04:41Z"
    }
  • Buy a mobile airtime recharge

    POST /v1/c3pay/recharges openfinance

    Buys mobile airtime for an Etisalat or du number, applying any operator bonus before debiting the card.

    Auth: OAuth 2.0 bearer token from Edenred SSO (username/password identification, offline_access refresh, scope erae-payrol-beneficiary-api, tenant ae); the APIM subscription key header is also required.

    • rechargeId
    • operatorCode
    • mobileNumber
    • amount
    • currency
    • bonusAmount
    • status
    • completedAt
    POST /v1/c3pay/recharges HTTP/1.1
    Authorization: Bearer <access-token>
    Content-Type: application/json
    
    {
      "operatorCode": "ETISALAT",
      "mobileNumber": "0501234567",
      "amount": 50.00,
      "currency": "AED"
    }
    {
      "rechargeId": "RCH-1190233",
      "operatorCode": "ETISALAT",
      "mobileNumber": "0501234567",
      "amount": 50.00,
      "currency": "AED",
      "bonusAmount": 5.00,
      "status": "COMPLETED",
      "completedAt": "2026-10-25T12:09:17Z"
    }
  • Top up a Dubai NOL transit card

    POST /v1/c3pay/nol/topups openfinance

    Loads value onto a Dubai NOL transit card from the C3Pay balance and returns the card's new stored value.

    Auth: OAuth 2.0 bearer token from Edenred SSO (username/password identification, offline_access refresh, scope erae-payrol-beneficiary-api, tenant ae); the APIM subscription key header is also required.

    • topupId
    • nolCardNumber
    • cardNickname
    • topupAmount
    • previousBalance
    • newBalance
    • status
    • toppedUpAt
    POST /v1/c3pay/nol/topups HTTP/1.1
    Authorization: Bearer <access-token>
    Content-Type: application/json
    
    {
      "nolCardNumber": "6438 2210 5517 9084",
      "cardNickname": "My NOL",
      "topupAmount": 100.00,
      "currency": "AED"
    }
    {
      "topupId": "NOL-4471210",
      "nolCardNumber": "6438 2210 5517 9084",
      "cardNickname": "My NOL",
      "topupAmount": 100.00,
      "previousBalance": 12.50,
      "newBalance": 112.50,
      "status": "COMPLETED",
      "toppedUpAt": "2026-10-25T12:14:55Z"
    }
  • Submit KYC identity documents

    POST /v1/c3pay/kyc/documents osint

    Submits Emirates ID, passport and selfie captures from onboarding and returns the verification verdict shown before the card is activated.

    Auth: OAuth 2.0 bearer token from Edenred SSO (username/password identification, offline_access refresh, scope erae-payrol-beneficiary-api, tenant ae); the APIM subscription key header is also required.

    • documentType
    • documentNumber
    • issuingCountry
    • expiryDate
    • selfieLivenessScore
    • faceMatchScore
    • kycStatus
    • rejectionReason
    POST /v1/c3pay/kyc/documents HTTP/1.1
    Authorization: Bearer <access-token>
    Content-Type: application/json
    
    {
      "documentType": "EMIRATES_ID",
      "documentNumber": "784-1980-1234567-1",
      "issuingCountry": "AE",
      "expiryDate": "2031-06-30",
      "selfieCaptureId": "SELF-99213"
    }
    {
      "documentType": "EMIRATES_ID",
      "documentNumber": "784-1980-1234567-1",
      "issuingCountry": "AE",
      "expiryDate": "2031-06-30",
      "selfieLivenessScore": 0.98,
      "faceMatchScore": 0.96,
      "kycStatus": "APPROVED",
      "rejectionReason": null
    }
  • Check salary-advance eligibility

    GET /v1/c3pay/salary-advance/eligibility openfinance

    Checks RAKBank-backed salary-advance eligibility and how much of the earned wage can be drawn before payday.

    Auth: OAuth 2.0 bearer token from Edenred SSO (username/password identification, offline_access refresh, scope erae-payrol-beneficiary-api, tenant ae); the APIM subscription key header is also required.

    • eligible
    • availableAmount
    • accruedSalary
    • maxAdvance
    • feeAmount
    • repaymentDate
    • provider
    • limitReached
    GET /v1/c3pay/salary-advance/eligibility HTTP/1.1
    Authorization: Bearer <access-token>
    Accept: application/json
    {
      "eligible": true,
      "availableAmount": 750.00,
      "accruedSalary": 2400.00,
      "maxAdvance": 1500.00,
      "feeAmount": 15.00,
      "repaymentDate": "2026-11-01",
      "provider": "RAKBANK",
      "limitReached": false
    }

Data categories

  • card balances
  • card transactions
  • remittance beneficiaries
  • FX quotes and fees
  • bill payments
  • mobile recharges
  • transit card top-ups
  • KYC identity documents
  • salary-advance eligibility

Where teams use this data

  • Remittance corridor benchmarking

    Compare fxRate, feeAmount and receiveAmount across the India, Pakistan, Bangladesh, Nepal, Philippines and Sri Lanka corridors to see how payroll-linked transfers are priced for each diaspora.

  • Salary-continuity underwriting

    Read SALARY_CREDIT entries with balanceAfter to confirm an employer pays on schedule, then size earned-wage advances against accruedSalary and repaymentDate.

  • Wallet-services attach analysis

    Track billerId, operatorCode and nolCardNumber usage to see which services a workforce adopts once the salary card is in hand.

Frequently asked questions

What data does the C3Pay app expose?

Card balances and ledger entries, remittance quotes and transfers, saved beneficiaries, bill payments, mobile recharges, NOL transit top-ups, KYC outcomes and RAKBank salary-advance eligibility.

How is C3Pay access authenticated?

Workers sign in with employer-issued credentials through Edenred's single sign-on; the beneficiary-scoped bearer token then authorises card, transfer and wallet-service calls.

Which countries can receive C3Pay remittances?

The transfer screens cover India, Pakistan, Bangladesh, Nepal, the Philippines and Sri Lanka, each priced with its own FX rate, fee and payout partner.

Which salary currencies does C3Pay handle?

Wages and card balances are held in AED, while remittance quotes return the receiveCurrency of the destination corridor, such as INR, PKR, BDT, NPR, PHP or LKR.

Apps similar to C3Pay

  • NOW Money — NOW Money is a UAE digital payroll and mobile-bank service for businesses with low-income workers, combining employer salary processing with employee banking.
  • Al Ansari Exchange — Al Ansari Exchange is a UAE money-transfer company that offers bank-transfer and cash-pickup remittances to India, Pakistan, the Philippines and Bangladesh, prepaid TravelCard and FlexiblePay cards, bill payment, and employer payroll processing through its branches and app.
  • Western Union Send Money Now — Western Union in the UAE sends money online, in its app, or at branches operated through Alfardan Exchange to bank accounts, cash pickup, or mobile wallets in 200 countries and territories.
  • Remitly: Send Money & Transfer — Remitly is a digital remittance app that lists the United Arab Emirates among its sending countries and pays out to 175-plus destinations as a bank deposit, mobile wallet, or cash pickup.
  • Wise: International Transfers — Wise is an international money app that sends to more than 140 countries and offers a multi-currency account with receiving details in 22 currencies, including AED, plus a card for spending and ATM withdrawals.

Topics

  • C3Pay API
  • Edenred UAE payroll card
  • prepaid card balance API
  • remittance FX rate API
  • salary advance eligibility API
  • NOL top-up API
  • UAE payroll card data

Need this app's data API integrated?

We deliver scoped integrations for any named app — from USD 500 with source-code handoff, or hosted access billed per call. Tell us the data you need.

  • NDA + SOW on every engagement
  • Delivery in 3–7 days
  • Payment only after acceptance
  • Work scoped to authorized use

Get a quote