Hub
Integration
Ce guide d’intégration décrit ce processus étape par étape:1. Demander un paiement
2. (Optionnel) Côté client, authentifier la tentative de paiement
3. Côté BMI: traitement du paiement auprès des fournisseurs
4. Notification sur l'IPN
5. Récupération du statut du paiement
Ci-après en détail comment procéder à ces étapes.
Demander un paiement
L’objet de paymentRequest est utilisé pour représenter la demande de collecter un paiement auprès d’un client. Il conserve une trace des frais et des différentes tentatives de paiement tout au long du traitement.Le paymentRequest doit être créée sur notre serveur avec certaines informations du client, la référence de l’achat et l'URL de notification du marchand.
Postman du PAYLoad
PAYLoad a transmettre à notre API pour traitement authentification de création du paymentRequest
curl --location --request POST 'https://rwbkrest.paysecurehub.com/api/airtime/hosted-checkout/pay' \
--header 'ApiKey: [REDACTED]' \
--header 'MerchantId: [REDACTED]' \
--header 'Content-Type: application/json' \
--data-raw '{
"paymentCode": "021220251647",
"amount": 100,
"article_label": "Redevance Immobiliere",
"return_url": "https://nom_de_domaine/ma_page_de_retour",
"Url_Callback": "https://nom_de_domaine/end_point_notification_paiement/",
"bill_to_forename": "Dosso",
"bill_to_surname": "Menougba",
"bill_to_phone": "0757411021",
"bill_to_email": "dossmeno41@gmail.com",
"bill_to_address_line1": "Angre Chateau Terrain Sotra",
"bill_to_address_city": "Abidjan",
"bill_to_address_state": "CIV",
"bill_to_address_country": "CIV"
}'
Headers
ApiKey string requisVotre clé API. Transmise par mail après création de votre identifiant marchand. Si vous n'y avez pas eut accès, veuillez contacter l'équipe d'assistance.
MerchantId string requis
Votre identifiant marchand. Ces informations sont disponibles dans votre tableau de bord. Si vous n'y avez pas accès, veuillez contacter l'équipe d'assistance.
Body
paymentCode string requisIl s'agit d'un champ personnalisé que vous pouvez remplir avec n'importe quelle référence que vous avez de votre côté correspondant à cette requête de paiement. Il peut vous permettre d'établir une correspondance avec cette requête de paiement dans votre système. Ce champ est particulièrement utile pour les références d'achat, comme une commande passée par votre client.
NB : Cette données vous sera retourné dans le callback.
bill_to_forename string requis
Nom du tiers auprès duquel la collecte sera faite.
bill_to_surname string requis
Prenoms du tiers auprès duquel la collecte sera faite.
bill_to_phone string requis
Contact du tiers auprès duquel la collecte sera faite.
bill_to_email string requis
Adresse email du tiers auprès duquel la collecte sera faite.
bill_to_address_line1 string requis
Adresse de localisation du tiers auprès duquel la collecte sera faite.
bill_to_address_city string requis
Ville du tiers auprès duquel la collecte sera faite.
bill_to_address_state string requis
Etat du tiers auprès duquel la collecte sera faite.
bill_to_address_country string requis
Code Pays du tiers auprès duquel la collecte sera faite.
article_label string requis
Designation de l'article à payer.
amount number requis
Montant que ce PaymentRequest doit collecter. Un entier positif représentant le montant à facturer dans la plus petite unité monétaire (par exemple, 100 pour facturer 100 FCFA, une devise à décimale zéro). A cela sera ajouté les frais de la plateforme en fonction du parametrage qui a été fait à savoir si c'est le client qui supportera les frais ou le marchand.
return_url string requis
URL de redirection du client vers une de vos page après avoir accompli toutes étapes du paiement.
Url_Callback string requis
URL callback sert à vous notifier de façon instantané toutes les transactions concernées par l'identifiant du marchand.
Reponse
- link est le lien du hub de paiement vers lequel le client doit être redirigé pour faire son paiement.
{
"link": "https://rwbkpay.paysecurehub.com/hosted-checkout/6ZW250102P1647179488/rb_iyU72210hoTbnI4114Gk0/MTczNTgzNjQzN3ZwZTY1UU1KSGRoamRkWWRXZnRJTlFnNTlZZDBVYVlBQUVXclVYZjNNUGd5ZHJ1/ax6-e6t35n",
"merchantId": "ax6-e6t35n",
"paymentCode": "021220251647",
"BusinessName": "Immobilier Store",
"payments": [],
"createdAt": "2025-01-02T16:47:18.643Z",
"updatedAt": "2025-01-02T16:47:18.643Z",
"code": 200,
"message": "success"
}
Notification sur l'IPN
Vous serez notifiez lorsque :- Valide le paiement
- Le client annuler/abandonne le paiement
- Mise à jour de paiement après verification d'un paiement déjà notifié en FAILED mais qui est passé en SUCCESSFUL
{
"codePaiement":"021220251647",
"referencePaiement":"B402409282227.000001",
"montant":200,
"benefice":0,
"service_id":5,
"moyenPaiement":"MasterCard"
"numTel":"512345xxxxxx0008",
"no_transation":"512345xxxxxx0008",
"p_last_wallet_amount":500,
"p_new_wallet_amount":700,
"datePaiement":"2024-09-28",
"HeurePaiement":"22:27:19",
"code":200,
"cleretour":"",
}
Recupérez le statut de la transaction
Nous vous mettons un endPoint pour recuperer le statut d'une transaction
curl --location --request POST 'https://rwbkrest.paysecurehub.com/api/airtime/status/transact' \
-header 'ApiKey: [REDACTED]' \
--header 'MerchantId: [REDACTED]' \
--header 'Content-Type: application/json' \
--data-raw '{
"codePaiement":"100120250909"
}'
Headers
ApiKey string requisVotre clé API. Transmise par mail après création de votre identifiant marchand. Si vous n'y avez pas eut accès, veuillez contacter l'équipe d'assistance.
MerchantId string requis
Votre identifiant marchand. Ces informations sont disponibles dans votre tableau de bord. Si vous n'y avez pas accès, veuillez contacter l'équipe d'assistance.
Body
codePaiement string requisIl s'agit d'un champ personnalisé que vous pouvez remplir avec n'importe quelle référence que vous avez de votre côté correspondant à cette requête de paiement. Il peut vous permettre d'établir une correspondance avec cette requête de paiement dans votre système. Ce champ est particulièrement utile pour les références d'achat, comme une commande passée par votre client.
Reponse
{
"pmId": "rb_rsDCdhB0rQhAnbGzm2QtH",
"merchantId": "ax6-e6t35n",
"BusinessName": "Immobilier Store",
"providerId": "100120250909",
"ipn_url": "https://nom_de_domaine/end_point_notification_paiement/",
"createdAt": "2025-01-10T12:37:40",
"payments": {
"transactionId": "KJK250110P123740756J",
"amount": 5,
"fees": 5,
"currency": "USD",
"numTransaction": "0757411021",
"serviceId": 11,
"serviceName": "non defini",
"state": "CANCEL",
"nextAction": "",
"method": "",
"link": "",
"error": "Transaction annulée par le client",
"createdAt": "2025-01-10T12:37:58",
"updatedAt": "2025-01-10T12:38:19"
},
"code": 500,
"message": "transaction echouée"
}
Introduction Hub