@azinakou/cinetpay
v0.0.24
Published
Fast integration of CinetPay
Downloads
7
Maintainers
Readme
Pourquoi utiliser ce package ?
La bibliothèque vous permet de :
Accepter des paiements avec tous les opérateurs disponible chez CinetPay
Verifier le statut d'un paiement (CheckPayStatus) à partir de
l'identifiant de la transaction ou du token de paiement
Installation
Avec npm faire:
$ npm install @azinakou/cinetpay
Propriétés
| Props | Type | Description |
| :------------- |:-------------| :-----|
| apikey
| string | Paramètre de votre service disponible dans votre compte - Obligatoire |
| site_id
| number | Paramètre de votre service disponible dans votre compte - Obligatoire |
| notify_url
| string | le lien de notification silencieuse (IPN) après paiement - Obligatoire |
| return_url
| string | Le lien où le client sera redirigé après le paiement - Obligatoire |
| amount
| number | Montant du paiement - Obligatoire |
| transaction_id
| string | L'identifiant de la transaction, elle doit être unique - Obligatoire |
| currency
| string | Devise du paiement. Options : XOF
, XAF
, CDF
, GNF
Obligatoire |
| description
| string | Description du paiement - Obligatoire |
| channels
| string | Permet de définir les moyens de paiement présent sur le guichet Options : ALL
, MOBILE_MONEY
, CREDIT_CARD
) - Obligatoire |
| customer_id
| string | L’identifiant du client dans votre système - facultatif |
| customer_name
| string | Le prénom(s) du client dans votre système - facultatif |
| customer_surname
| string | Le nom du client dans votre système - facultatif |
| lang
| string | Définie la langue du guichet de paiement Options : fr
, en
Obligatoire |
| customer_phone_number
| string | Le numéro de téléphone du client dans votre système - facultatif |
| customer_email
| string | L’adresse mail du client dans votre système - facultatif |
| customer_address
| string | L’adresse du client dans votre système - facultatif |
| customer_city
| string | La ville du client dans votre système - facultatif |
| customer_country
| string | Le pays du client dans votre système. La valeur à envoyer est le Code ISO 3166-1 alpha-2 - facultatif |
| customer_state
| string | L’état dans de la quel se trouve le client. Cette valeur est obligatoire si le client se trouve au États Unis d’Amérique (US) ou au Canada (CA). La valeur à envoyer est le Code ISO 3166-1 alpha-2 - facultatif |
| customer_zip_code
| string | Le code zip du pays dans lequel se trouve le client - facultatif |
Initialisation de la librairie
// If you use CommonJS imports with require() use the following approach:
const Cinetpay = require("@azinakou/cinetpay");
// With ES6
import { Cinetpay } from '@azinakou/cinetpay';
Effectuer un paiement
import { Cinetpay, PaymentConfig } from '@azinakou/cinetpay';
...
const cp = new Cinetpay({
apikey: '',
site_id: ,
notify_url: '',
return_url: '',
lang: '',
});
const payConfig: PaymentConfig = {
transaction_id: '' // Identifiant de transaction unique dans votre base de donnée,
amount: ,
currency: '',
channels: '',
description: ''
};
cp.makePayment(payConfig)
.then(response => console.log(response))
.catch(err => console.log(err))
Voir le statut d'un paiement
import { Cinetpay, PaymentConfig } from '@azinakou/cinetpay';
...
const cp = new Cinetpay({
apikey: '',
site_id: ,
notify_url: '',
return_url: '',
lang: '',
});
const token = ''; // Identifiant de la transaction ou payment_token obtenu lors de l’initialisation du paiement
cp.checkPayStatus(token)
.then(response => console.log(response))
.catch(err => console.log(err))
URL de Notification
Pour ceux qui possèdent des services qui ne neccessitent pas un traitement des notifications de paiement de CinetPay, vous pouvez ignorer cette étape par exemple les services de don.
A chaque paiement, CinetPay vous notifie via un lien de notification notify_url
, nous vous conseillons de toujours le traiter côté serveur. Suivez ce lien pour en savoir plus sur la Notification de paiement
Compatibilité
Ce package a été testé et fonctionne sur tous les navigateurs modernes y compris :
- Google Chrome
- Mozilla Firefox
- Safari
Exemple
import { Cinetpay, PaymentConfig } from '@azinakou/cinetpay';
...
const cp = new Cinetpay({
apikey: '5579980505863a3f6aabd82.89189525',
site_id: 659913,
notify_url: 'https://mon-site-internet.com/notify',
return_url: 'https://mon-site-internet.com/return',
lang: 'fr',
});
//Générer un nouveau identifiant de transaction
const s4 = () => {
return Math.floor((1 + Math.random()) * 0x10000)
.toString(16)
.substring(1);
};
const uniqId = s4() + s4() + '-' + s4() + '-' + s4() + '-' + s4() + '-' + s4() + s4() + s4();
//Output format c2181edf-041b-0a61-3651-79d671fa3db7
const payConfig: PaymentConfig = {
transaction_id: uniqId,
amount: 300,
currency: 'XOF',
channels: 'ALL',
description: 'Test de paiement'
};
cp.makePayment(payConfig)
.then(response => console.log(response))
.catch(err => console.log(err))
English version Here