Add Airtel Money payment adapter #49
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
🚀 Airtel Money Payment Adapter Integration
This PR introduces a new payment adapter for Airtel Money, enabling mobile money payments across 14 countries through the EasySwitch SDK. Addresses issue #48
✨ What's New
AirtelMoneyAdapterfollowing the established EasySwitch adapter pattern🌍 Supported Countries & Currencies
🔧 Key Features
✅ Payment initialization (collection requests)
✅ Transaction status checking
✅ Webhook validation with HMAC-SHA256
✅ Refund support
✅ Transaction detail retrieval
✅ Automatic OAuth token refresh
✅ Phone number validation and formatting
✅ Multi-currency and multi-country headers
📋 Implementation Details
🔐 Authentication
client_id,client_secret,api_key💸 Payment Flow
📊 Status Mapping
TSTFTA/TPTRTC🔒 Webhook Security
x-airtel-signatureandx-signatureheaders🏗️ Architecture
PaystackAdapterBaseAdapter@AdaptersRegistry.register()PaymentError🚫 Unsupported Operations
❌ Transaction Cancellation:
Not supported by the Airtel Money API (raises
UnsupportedOperationError).