Installation
Follow the instructions below to install the URA EFRIS SDKs for your preferred programming language. Each SDK facilitates communication with the EFRIS WebService API, handling JSON payloads, encryption (RSA/AES/White Box), and signature generation as required by the Uganda Revenue Authority.
- PHP
- JavaScript / Typescript
- Python
PHP SDK Installation
- Ensure Composer and OpenSSL are installed:
composer -V
php -m | openssl
- Install the URA EFRIS PHP SDK via Composer:
composer require paybilldev/ura-efris-sdk
JavaScript / Typescript SDK Installation
- Ensure Node.js 18+ is installed:
node -v
npm -v
- Install the URA EFRIS Node.js SDK via npm:
npm install @paybilldev/ura-efris-sdk
Alternatively, use yarn:
yarn add @paybilldev/ura-efris-sdk
Python SDK Installation
- Ensure Python 3.9+ is installed:
python --version
pip --version
- Install the URA EFRIS Python SDK via pip:
pip install ura-efris-sdk
System Requirements
- Encryption: All requests (except public queries like T101, T123) require encryption (
encryptCode: 1). The SDK handles RSA and AES encryption automatically. - TCS Client: For offline capabilities, ensure the Tax Control System (TCS) is installed and updated (Interface T133, T135).
- AppID: Use AP04 for System-to-System integrations or AP05 for AskURA services.
- Time Sync: Client time must be synchronized with server time (Interface T101). Time difference > 10 minutes will result in ReturnCode 28.