cinetpay-node-sdk
v1.0.3
Published
Ce SDK permet d'intégrer facilement le service de paiement Cinetpay dans vos applications Node.js et TypeScript. Il fournit des fonctions pour initier et vérifier des paiements, et pour vérifier des jetons HMAC.
Maintainers
Readme
Cinetpay Node SDK
Ce SDK permet d'intégrer facilement le service de paiement Cinetpay dans vos applications Node.js et TypeScript. Il fournit des fonctions pour initier et vérifier des paiements, et pour vérifier des jetons HMAC.
Installation
Vous pouvez installer le package via npm :
npm install cinetpay-node-sdkou via yarn :
yarn add cinetpay-node-sdkConfiguration
Avant d'utiliser le SDK, vous devez disposer d'une clé API et d'un ID de site que vous pouvez obtenir auprès de Cinetpay.
Utilisation
Importation
Commencez par importer le SDK dans votre fichier TypeScript :
import Cinetpay from 'cinetpay-node-sdk';Initialisation
Vous pouvez initialiser le SDK avec votre clé API et l'ID de votre site :
const cinetpay = new Cinetpay('YOUR_API_KEY', 'YOUR_SITE_ID');Initiation d'un paiement
Pour initier un paiement, utilisez la fonction initiatePayment avec les données de paiement requises :
en fonction du moyen de paiement choisi les paramètres devront être ajustés pourquoi ?
const paymentData = {
transaction_id: '123456789',
amount: 1000,
currency: 'XOF',
description: 'Achat de produits',
notify_url: 'https://votresite.com/notify',
return_url: 'https://votresite.com/return',
customer_name: 'John Doe',
customer_surname: 'Doe',
customer_phone_number: '+123456789',
customer_email: '[email protected]',
customer_address: '123 Rue Exemple',
customer_city: 'Abidjan',
customer_country: 'CI',
customer_state: 'État',
customer_zip_code: '00000',
channels: 'ALL', // ou 'CREDIT_CARD', 'MOBILE_MONEY', 'WALLET'
};
cinetpay
.initiatePayment(paymentData)
.then((response) => {
console.log('URL de paiement :', response.data.payment_url);
})
.catch((error) => {
console.error('Erreur lors de l’initiation du paiement :', error.message);
});Vérification d'une transaction
Pour vérifier l'état d'une transaction, utilisez la fonction checkTransaction :
cinetpay
.checkTransaction('123456789')
.then((response) => {
console.log('Statut de la transaction :', response.data.status);
})
.catch((error) => {
console.error(
'Erreur lors de la vérification de la transaction :',
error.message
);
});Vérification du jeton HMAC
Pour vérifier un jeton HMAC reçu dans la notification de paiement :
// webhook.ts
const body = req.body;
const token = req.headers.get('x-token');
const secret = process.env.CINETPAY_SECRET_KEY;
const isValid = await Cinetpay.verifyHMACToken(token, secret, body);
console.log('Jeton HMAC valide :', isValid); // true ou falsePersonnalisation
Vous pouvez utiliser une fonction interne pour généer l'ID de la transaction et personnaliser le préfixe avec la fonction generateTransactionId :
import { generateTransactionId } from 'cinetpay-node-sdk';
const transactionId = generateTransactionId({ prefix: 'MY_PREFIX' });
console.log('ID de transaction :', transactionId); // MY_PREFIX_188838287667287383Debugging
Le mode debug est activé par défaut. Pour le désactiver :
Cinetpay.enableDebug = false;Contribuer
Les contributions sont les bienvenues ! Veuillez soumettre vos modifications via une demande de fusion (pull request).
Licence
Ce projet est sous licence MIT. Voir le fichier LICENSE pour plus de détails.
