UNPKG

trustpayway-sdk

Version:

Official Node.js SDK for interacting with TrustPayWay API (MTN, Orange, etc.)

146 lines (100 loc) 3.43 kB
# TrustPayWay SDK (Node.js / TypeScript / JavaScript) A simple, lightweight Node.js SDK for interacting with the [TrustPayWay](https://mobilewallet.trustpayway.com) mobile payment API. Supports MTN, Orange, and others. Built with TypeScript. Usable in both TypeScript and plain JavaScript projects. --- ## 🚀 Features - 🔐 Authenticate via application token - 💸 Initiate payments (MTN & Orange supported) - 📊 Check payment status - 🧩 Fully typed for TypeScript support - ⚙️ Works in any Node.js project (TS or JS) --- ## 📦 Installation ```bash npm install trustpayway-sdk ``` --- ## 🧑‍💻 Usage ### ▶️ TypeScript Example ```ts import { TrustPayWay } from 'trustpayway-sdk'; const tpw = new TrustPayWay({ baseUrl: 'https://mobilewallet.trustpayway.com',//https://test.trustpayway.com (for testing purposes) appToken: 'your-app-token', authToken: 'your-bearer-token', network: 'orange', // or 'mtn' }); async function run() { const result = await tpw.processPayment({ amount: '100', currency: 'XAF', phone: '237600000000', description: 'Invoice #123', orderId: 'TPW-123', notifUrl: 'https://webhook.site/your-webhook', }); console.log('Transaction Response:', result); } ``` --- ### 💡 JavaScript (Vanilla Node.js) Example ```js const { TrustPayWay } = require('trustpayway-sdk'); const tpw = new TrustPayWay({ baseUrl: 'https://mobilewallet.trustpayway.com',//https://test.trustpayway.com (for testing purposes) appToken: 'your-app-token', authToken: 'your-bearer-token', network: 'mtn', // or 'orange' }); async function run() { try { const result = await tpw.processPayment({ amount: '100', currency: 'XAF', phone: '237600000000', description: 'Invoice #123', orderId: 'TPW-123', notifUrl: 'https://webhook.site/your-webhook', }); console.log('Transaction Response:', result); } catch (error) { console.error('Payment Failed:', error); } } run(); ``` --- ## 📚 API Reference ### `new TrustPayWay(config)` Create a new SDK instance. **Parameters:** - `baseUrl` (string): API base URL (e.g. `https://mobilewallet.trustpayway.com`) - `appToken` (string): Your application token from TrustPayWay - `authToken` (string): Authorization token (Bearer) - `network` (string): `'mtn'` or `'orange'` --- ### `getToken(): Promise<string>` Fetches a session token from TrustPayWay. Automatically called before `processPayment()` or `checkPaymentStatus()` if not already set. --- ### `processPayment(params): Promise<object>` Initiates a payment via mobile money. **Params:** - `amount` (string): Amount to charge - `currency` (string): e.g. `'XAF'` - `phone` (string): Receiver phone (with country code) - `description` (string): Description for the transaction example Your APP Name - `orderId` (string): Unique order identifier - `notifUrl` (string): Callback URL for status updates --- ### `checkPaymentStatus({ transactionId }): Promise<object>` Checks the status of a transaction. **Params:** - `transactionId` (string): The transaction ID returned by `processPayment` --- ## 📄 License MIT --- ## 🔗 Links - 📘 [TrustPayWay Official Site](https://mobilewallet.trustpayway.com/#documentation) - 🧑‍💻 Author: [TrustPayWay](https://github.com/trustpayway) - 🐛 Issues: [GitHub Issues](https://github.com/trustpayway/trustpayway-sdk/issues)