Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/aitmiloud/cmi-node
:credit_card: npm package to communicate with the CMI payment gateway in Morocco
https://github.com/aitmiloud/cmi-node
api-client cmi morocco payment-gateway payment-integration
Last synced: 3 months ago
JSON representation
:credit_card: npm package to communicate with the CMI payment gateway in Morocco
- Host: GitHub
- URL: https://github.com/aitmiloud/cmi-node
- Owner: aitmiloud
- License: mit
- Created: 2023-08-28T15:31:08.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-04-28T11:03:54.000Z (6 months ago)
- Last Synced: 2024-07-17T22:31:34.012Z (4 months ago)
- Topics: api-client, cmi, morocco, payment-gateway, payment-integration
- Language: TypeScript
- Homepage: https://www.npmjs.com/package/cmi-payment-nodejs
- Size: 586 KB
- Stars: 84
- Watchers: 4
- Forks: 8
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
Awesome Lists containing this project
- awesome-morocco - Cmi-node.js - node.svg?style=social)](https://github.com/aitmiloud/cmi-node) Npm package to communicate with the CMI payment plateform in Morocco. by [@aitmiloud](https://github.com/aitmiloud) (Uncategorized / Uncategorized)
README
:package: cmi-payment-nodejs
npm package to communicate with the CMI payment plateform in Morocco
[![codecov](https://codecov.io/gh/aitmiloud/cmi-node/branch/main/graph/badge.svg?token=Q9fr548J0D)](https://codecov.io/gh/aitmiloud/cmi-node)
## Installation
Install cmi-node with npm
```bash
npm i cmi-payment-nodejs
```
## Usage/Examples using Express.js```javascript
const express = require('express');
const cmi = require('cmi-payment-nodejs');const app = express();
const port = 3000;// Define a route to initiate a CMI payment
app.get('/pay', (req, res) => {
// Extract necessary information from the request query parameters
const { amount, email, tel, BillToName } = req.query;// Initialize the CMI payment client with your configuration
const CmiClient = new cmi.default({
storekey: 'YOUR_STOREKEY', // Your CMI Store Key
clientid: 'YOUR_CLIENTID', // Your CMI Client ID
oid: 'UNIQUE_COMMAND_ID', // A unique command ID
shopurl: 'https://your-shop-url.com', // Your shop's URL for redirection
okUrl: 'https://your-success-redirect-url.com', // Redirection after a successful payment
failUrl: 'https://your-failure-redirect-url.com', // Redirection after a failed payment
email, // email for CMI platform
BillToName, // name as it should appear on the CMI platform
amount, // The amount to be paid
callbackURL: 'https://your-callback-url.com', // Callback URL for payment confirmation
tel, // phone number for the CMI platform
});// Generate an HTML form for the CMI payment
const htmlForm = CmiClient.redirect_post();// Send the HTML form as the response
res.send(htmlForm);
});app.listen(port, () => {
console.log(`App is listening on port ${port}`);
});```
##
![App Screenshot](.github/images/screenshot.png)
## Basic test card numbers
Credit Card information cannot be used in test mode. instead, use any of the following test card numbers, a valid expiration date in the future, and any random CVC number, to create a successful payment.Branch : `visa`, PAN: `4000000000000010`, Expired date: `make any date` CVC: `000`
Branch : `MasterCard`, PAN: `5453010000066100`, Expired date: `make any date` CVC: `000`
## 3D Secure test card numbers
The following card information try to tests local payments such as Strong Customer Authentication **SCA**Branch : `MasterCard`, PAN: `5191630100004896`, Authentication code: `123` Expired date: `make any date` CVC: `000`