Introduction

Bienvenue sur Pixdoc! Pixpay est un agrégateur de paiement moderne qui vous permet d’intégrer facilement plusieurs méthodes de paiement (mobile money, carte bancaire, etc.) dans vos applications ou sites web.

Pour commencer, vous devez disposer d’un compte partenaire. Si vous n’en avez pas encore, vous pouvez l'obtenir ici.

Ce guide vous accompagne étape par étape pour permettre aux développeurs et intégrateurs de tirer pleinement parti de la puissance de Pixpay, et ainsi proposer à leurs utilisateurs des paiements simples, rapides et sécurisés.

Intégration

L’intégration de Pixpay dans votre environnement technique se fait en quelques étapes simples et efficaces :

  1. Créer un compte partenaire sur Pixpay.
  2. Valider votre compte via notre service client.
  3. Obtenir votre clé API personnelle.
  4. Intégrer Pixpay dans votre site web ou application mobile selon notre documentation.
  5. Effectuer des tests en conditions réelles.

Grâce à Pixpay, vous pouvez accepter les paiements en toute sécurité, que ce soit par carte bancaire ou via les différents portefeuilles électroniques (mobile money) disponibles dans votre pays.

Orange CI

Type de requête : POST

Content-Type : application/json

URL d’appel : {{BASE_URL}}/airtime

URL de Test :

https://standbox-api.pixelinnov.net/api_v1/transaction/airtime

URL de Production :

https://proxy-coreapi.pixelinnov.net/api_v1/transaction/airtime

Paramètres de la requête

ParamètreDescription
amount1000
api_keyxxxxxxxxxxxxxxxxx
destination0000000000
ipn_urlhttps://your_ipn_url.com
service_idà remplacer par le service_id fourni
om_otp1234
custom_datayour_custom_data

Description des champs

ParamètreDescription
amountMontant de la transaction.
api_keyVotre clé d'API unique.
destinationNuméro de téléphone du destinataire.
ipn_urlURL de notification.
service_idLe numéro du service.
om_otpCode d'autorisation Orange Money (via #144*82# ou App Orange Money).
custom_dataDonnée optionnelle.

Exemple de corps de requête :

{
  amount: 2010,
  destination: "",
  api_key: "",
  ipn_url: "https://your_ipn_link",
  service_id: 1, // Voir votre dossier d'intégration
  om_otp: "1234",
  custom_data: "your_custom_data"
}

Réponse immédiate :

Une fois la requête reçue, nous retournons une première réponse.

{
  "data": {
    "transaction_id": "PIX_xxxxx",
    "amount": 119000,
    "benefice": 119000,
    "comission": 0,
    "destination": "0708126834",
    "fee": "0",
    "response": null,
    "service_id": 11,
    "customer_name": "easytransfert",
    "state": "PENDING1",
    "custom_data": "1233",
    "ipn_url": "your_ipn",
    "transaction_channel": null,
    "provider_id": null,
    "sms_link": null,
    "p_id": "id_partener",
    "p_last_wallet_amount": 139403535,
    "p_new_wallet_amount": null,
    "created_at": "2022-10-15T10:52:28.752+00:00",
    "updated_at": "2022-10-15T10:52:46.222+00:00"
  },
  "message": "Merci de valider la transaction.",
  "statut_code": 200
}
ParamètreDescription
transaction_idVotre identifiant unique pour cette transaction.
amountMontant de la transaction.
stateStatut de la transaction.
messageInstructions ou confirmation.
statut_code(200) OK | (500) Erreur.

Réponse IPN :

Lorsque l’opérateur finalise, nous vous transmettons le statut via l’IPN.

HTTP POST

{
     "transaction_id": "PIX_14435",
    "amount": 1000,
    "benefice": 1000,
    "comission": 0,
    "destination": "0500156008",
    "fee": 0,
    "response": "operation success",
    "error": "message de l'erreur",
    "state": "FAILED",
    "service_id": 14,
    "customer_name": "easytransfert",
    "custom_data": "custom_data",
    "ipn_url": "",
    "provider_id": null,
    "sms_link": 0,
    "created_at": "2022-10-18T02:38:44.000+00:00",
    "updated_at": "2022-10-18T02:38:44.000+00:00",
    "ipn_state": 0,
    "w_amount_after_transaction": "",
    "p_last_wallet_amount": 11,
    "p_new_wallet_amount": null,
    "p_id": "x",
    "hash": ""
}
ParamètreDescription
errorExplication de l'échec.
stateStatut de la transaction.
hashHash pour vérifier l'authenticité.
provider_idIdentifiant de l'opération.

MTN CI

Type de requête : POST

Content-Type : application/json

URL d’appel : {{BASE_URL}}/airtime

URL de Test :

https://standbox-api.pixelinnov.net/api_v1/transaction/airtime

URL de Production :

https://proxy-coreapi.pixelinnov.net/api_v1/transaction/airtime

Paramètres de la requête

ParamètreDescription
amount1000
api_keyxxxxxxxxxxxxxxxxx
destination0000000000
ipn_urlhttps://your_ipn_url.com
service_idà remplacer par le service_id fourni
custom_datayour_custom_data

Description des champs

ParamètreDescription
amountMontant de la transaction.
api_keyVotre clé d'API unique.
destinationNuméro de téléphone du destinataire.
ipn_urlURL de notification.
service_idLe numéro du service.
custom_dataDonnée optionnelle.

Exemple de corps de requête :

{
  amount: 2010,
  destination: "",
  api_key: "",
  ipn_url: "https://your_ipn_link",
  service_id: 1, // Voir votre dossier d'intégration
  
  custom_data: "your_custom_data"
}

Réponse immédiate :

Une fois la requête reçue, nous retournons une première réponse.

{
  "data": {
    "transaction_id": "PIX_xxxxx",
    "amount": 119000,
    "benefice": 119000,
    "comission": 0,
    "destination": "0708126834",
    "fee": "0",
    "response": null,
    "service_id": 11,
    "customer_name": "easytransfert",
    "state": "PENDING1",
    "custom_data": "1233",
    "ipn_url": "your_ipn",
    "transaction_channel": null,
    "provider_id": null,
    "sms_link": null,
    "p_id": "id_partener",
    "p_last_wallet_amount": 139403535,
    "p_new_wallet_amount": null,
    "created_at": "2022-10-15T10:52:28.752+00:00",
    "updated_at": "2022-10-15T10:52:46.222+00:00"
  },
  "message": "Merci de valider la transaction.",
  "statut_code": 200
}
ParamètreDescription
transaction_idVotre identifiant unique pour cette transaction.
amountMontant de la transaction.
stateStatut de la transaction.
messageInstructions ou confirmation.
statut_code(200) OK | (500) Erreur.

Réponse IPN :

Lorsque l’opérateur finalise, nous vous transmettons le statut via l’IPN.

HTTP POST

{
     "transaction_id": "PIX_14435",
    "amount": 1000,
    "benefice": 1000,
    "comission": 0,
    "destination": "0500156008",
    "fee": 0,
    "response": "operation success",
    "error": "message de l'erreur",
    "state": "FAILED",
    "service_id": 14,
    "customer_name": "easytransfert",
    "custom_data": "custom_data",
    "ipn_url": "",
    "provider_id": null,
    "sms_link": 0,
    "created_at": "2022-10-18T02:38:44.000+00:00",
    "updated_at": "2022-10-18T02:38:44.000+00:00",
    "ipn_state": 0,
    "w_amount_after_transaction": "",
    "p_last_wallet_amount": 11,
    "p_new_wallet_amount": null,
    "p_id": "x",
    "hash": ""
}
ParamètreDescription
errorExplication de l'échec.
stateStatut de la transaction.
hashHash pour vérifier l'authenticité.
provider_idIdentifiant de l'opération.

Moov CI

Type de requête : POST

Content-Type : application/json

URL d’appel : {{BASE_URL}}/airtime

URL de Test :

https://standbox-api.pixelinnov.net/api_v1/transaction/airtime

URL de Production :

https://proxy-coreapi.pixelinnov.net/api_v1/transaction/airtime

Paramètres de la requête

ParamètreDescription
amount1000
api_keyxxxxxxxxxxxxxxxxx
destination0000000000
ipn_urlhttps://your_ipn_url.com
service_idà remplacer par le service_id fourni
custom_datayour_custom_data

Description des champs

ParamètreDescription
amountMontant de la transaction.
api_keyVotre clé d'API unique.
destinationNuméro de téléphone du destinataire.
ipn_urlURL de notification.
service_idLe numéro du service.
custom_dataDonnée optionnelle.

Exemple de corps de requête :

{
  amount: 2010,
  destination: "",
  api_key: "",
  ipn_url: "https://your_ipn_link",
  service_id: 1, // Voir votre dossier d'intégration
  
  custom_data: "your_custom_data"
}

Réponse immédiate :

Une fois la requête reçue, nous retournons une première réponse.

{
  "data": {
    "transaction_id": "PIX_xxxxx",
    "amount": 119000,
    "benefice": 119000,
    "comission": 0,
    "destination": "0708126834",
    "fee": "0",
    "response": null,
    "service_id": 11,
    "customer_name": "easytransfert",
    "state": "PENDING1",
    "custom_data": "1233",
    "ipn_url": "your_ipn",
    "transaction_channel": null,
    "provider_id": null,
    "sms_link": null,
    "p_id": "id_partener",
    "p_last_wallet_amount": 139403535,
    "p_new_wallet_amount": null,
    "created_at": "2022-10-15T10:52:28.752+00:00",
    "updated_at": "2022-10-15T10:52:46.222+00:00"
  },
  "message": "Merci de valider la transaction.",
  "statut_code": 200
}
ParamètreDescription
transaction_idVotre identifiant unique pour cette transaction.
amountMontant de la transaction.
stateStatut de la transaction.
messageInstructions ou confirmation.
statut_code(200) OK | (500) Erreur.

Réponse IPN :

Lorsque l’opérateur finalise, nous vous transmettons le statut via l’IPN.

HTTP POST

{
     "transaction_id": "PIX_14435",
    "amount": 1000,
    "benefice": 1000,
    "comission": 0,
    "destination": "0500156008",
    "fee": 0,
    "response": "operation success",
    "error": "message de l'erreur",
    "state": "FAILED",
    "service_id": 14,
    "customer_name": "easytransfert",
    "custom_data": "custom_data",
    "ipn_url": "",
    "provider_id": null,
    "sms_link": 0,
    "created_at": "2022-10-18T02:38:44.000+00:00",
    "updated_at": "2022-10-18T02:38:44.000+00:00",
    "ipn_state": 0,
    "w_amount_after_transaction": "",
    "p_last_wallet_amount": 11,
    "p_new_wallet_amount": null,
    "p_id": "x",
    "hash": ""
}
ParamètreDescription
errorExplication de l'échec.
stateStatut de la transaction.
hashHash pour vérifier l'authenticité.
provider_idIdentifiant de l'opération.

Wave CI

Type de requête : POST

Content-Type : application/json

URL d’appel : {{BASE_URL}}/airtime

URL de Test :

https://standbox-api.pixelinnov.net/api_v1/transaction/airtime

URL de Production :

https://proxy-coreapi.pixelinnov.net/api_v1/transaction/airtime

Paramètres de la requête

ParamètreDescription
amount1000
api_keyxxxxxxxxxxxxxxxxx
destination0000000000
ipn_urlhttps://your_ipn_url.com
service_idà remplacer par le service_id fourni
business_name_idyour_business_name_id
redirect_urlyour_success_url
redirect_error_urlyour_error_url
custom_datayour_custom_data

Description des champs

ParamètreDescription
amountMontant de la transaction.
api_keyVotre clé d'API unique.
destinationNuméro de téléphone du destinataire.
ipn_urlURL de notification.
service_idLe numéro du service.
business_name_idIdentifiant Wave du partenaire.
redirect_urlURL de redirection (succès).
redirect_error_urlURL de redirection (échec).
custom_dataDonnée optionnelle.

Exemple de corps de requête :

{
  amount: 2010,
  destination: "",
  api_key: "",
  ipn_url: "https://your_ipn_link",
  service_id: 1, // Voir votre dossier d'intégration
  
  custom_data: "your_custom_data"
}

Réponse immédiate :

Une fois la requête reçue, nous retournons une première réponse.

{
  "data": {
    "transaction_id": "PIX_xxxxx",
    "amount": 119000,
    "benefice": 119000,
    "comission": 0,
    "destination": "0708126834",
    "fee": "0",
    "response": null,
    "service_id": 11,
    "customer_name": "easytransfert",
    "state": "PENDING1",
    "custom_data": "1233",
    "ipn_url": "your_ipn",
    "transaction_channel": null,
    "provider_id": null,
    "sms_link": null,
    "p_id": "id_partener",
    "p_last_wallet_amount": 139403535,
    "p_new_wallet_amount": null,
    "created_at": "2022-10-15T10:52:28.752+00:00",
    "updated_at": "2022-10-15T10:52:46.222+00:00"
  },
  "message": "Merci de valider la transaction.",
  "statut_code": 200
}
ParamètreDescription
transaction_idVotre identifiant unique pour cette transaction.
amountMontant de la transaction.
stateStatut de la transaction.
messageInstructions ou confirmation.
statut_code(200) OK | (500) Erreur.

Réponse IPN :

Lorsque l’opérateur finalise, nous vous transmettons le statut via l’IPN.

HTTP POST

{
     "transaction_id": "PIX_14435",
    "amount": 1000,
    "benefice": 1000,
    "comission": 0,
    "destination": "0500156008",
    "fee": 0,
    "response": "operation success",
    "error": "message de l'erreur",
    "state": "FAILED",
    "service_id": 14,
    "customer_name": "easytransfert",
    "custom_data": "custom_data",
    "ipn_url": "",
    "provider_id": null,
    "sms_link": 0,
    "created_at": "2022-10-18T02:38:44.000+00:00",
    "updated_at": "2022-10-18T02:38:44.000+00:00",
    "ipn_state": 0,
    "w_amount_after_transaction": "",
    "p_last_wallet_amount": 11,
    "p_new_wallet_amount": null,
    "p_id": "x",
    "hash": ""
}
ParamètreDescription
errorExplication de l'échec.
stateStatut de la transaction.
hashHash pour vérifier l'authenticité.
provider_idIdentifiant de l'opération.

Wave SN

Type de requête : POST

Content-Type : application/json

URL d’appel : {{BASE_URL}}/airtime

URL de Test :

https://standbox-api.pixelinnov.net/api_v1/transaction/airtime

URL de Production :

https://proxy-coreapi.pixelinnov.net/api_v1/transaction/airtime

Paramètres de la requête

ParamètreDescription
amount1000
api_keyxxxxxxxxxxxxxxxxx
destination0000000000
ipn_urlhttps://your_ipn_url.com
service_idà remplacer par le service_id fourni
business_name_idyour_business_name_id
redirect_urlyour_success_url
redirect_error_urlyour_error_url
custom_datayour_custom_data

Description des champs

ParamètreDescription
amountMontant de la transaction.
api_keyVotre clé d'API unique.
destinationNuméro de téléphone du destinataire.
ipn_urlURL de notification.
service_idLe numéro du service.
business_name_idIdentifiant Wave du partenaire.
redirect_urlURL de redirection (succès).
redirect_error_urlURL de redirection (échec).
custom_dataDonnée optionnelle.

Exemple de corps de requête :

{
  amount: 2010,
  destination: "",
  api_key: "",
  ipn_url: "https://your_ipn_link",
  service_id: 1, // Voir votre dossier d'intégration
  
  custom_data: "your_custom_data"
}

Réponse immédiate :

Une fois la requête reçue, nous retournons une première réponse.

{
  "data": {
    "transaction_id": "PIX_xxxxx",
    "amount": 119000,
    "benefice": 119000,
    "comission": 0,
    "destination": "0708126834",
    "fee": "0",
    "response": null,
    "service_id": 11,
    "customer_name": "easytransfert",
    "state": "PENDING1",
    "custom_data": "1233",
    "ipn_url": "your_ipn",
    "transaction_channel": null,
    "provider_id": null,
    "sms_link": null,
    "p_id": "id_partener",
    "p_last_wallet_amount": 139403535,
    "p_new_wallet_amount": null,
    "created_at": "2022-10-15T10:52:28.752+00:00",
    "updated_at": "2022-10-15T10:52:46.222+00:00"
  },
  "message": "Merci de valider la transaction.",
  "statut_code": 200
}
ParamètreDescription
transaction_idVotre identifiant unique pour cette transaction.
amountMontant de la transaction.
stateStatut de la transaction.
messageInstructions ou confirmation.
statut_code(200) OK | (500) Erreur.

Réponse IPN :

Lorsque l’opérateur finalise, nous vous transmettons le statut via l’IPN.

HTTP POST

{
     "transaction_id": "PIX_14435",
    "amount": 1000,
    "benefice": 1000,
    "comission": 0,
    "destination": "0500156008",
    "fee": 0,
    "response": "operation success",
    "error": "message de l'erreur",
    "state": "FAILED",
    "service_id": 14,
    "customer_name": "easytransfert",
    "custom_data": "custom_data",
    "ipn_url": "",
    "provider_id": null,
    "sms_link": 0,
    "created_at": "2022-10-18T02:38:44.000+00:00",
    "updated_at": "2022-10-18T02:38:44.000+00:00",
    "ipn_state": 0,
    "w_amount_after_transaction": "",
    "p_last_wallet_amount": 11,
    "p_new_wallet_amount": null,
    "p_id": "x",
    "hash": ""
}
ParamètreDescription
errorExplication de l'échec.
stateStatut de la transaction.
hashHash pour vérifier l'authenticité.
provider_idIdentifiant de l'opération.

Orange SN

Type de requête : POST

Content-Type : application/json

URL d’appel : {{BASE_URL}}/airtime

URL de Test :

https://standbox-api.pixelinnov.net/api_v1/transaction/airtime

URL de Production :

https://proxy-coreapi.pixelinnov.net/api_v1/transaction/airtime

Paramètres de la requête

ParamètreDescription
amount1000
api_keyxxxxxxxxxxxxxxxxx
destination0000000000
ipn_urlhttps://your_ipn_url.com
service_idà remplacer par le service_id fourni
custom_datayour_custom_data

Description des champs

ParamètreDescription
amountMontant de la transaction.
api_keyVotre clé d'API unique.
destinationNuméro de téléphone du destinataire.
ipn_urlURL de notification.
service_idLe numéro du service.
custom_dataDonnée optionnelle.

Exemple de corps de requête :

{
  amount: 2010,
  destination: "",
  api_key: "",
  ipn_url: "https://your_ipn_link",
  service_id: 1, // Voir votre dossier d'intégration
  
  custom_data: "your_custom_data"
}

Réponse immédiate :

Une fois la requête reçue, nous retournons une première réponse.

{
  "data": {
    "transaction_id": "PIX_xxxxx",
    "amount": 119000,
    "benefice": 119000,
    "comission": 0,
    "destination": "0708126834",
    "fee": "0",
    "response": null,
    "service_id": 11,
    "customer_name": "easytransfert",
    "state": "PENDING1",
    "custom_data": "1233",
    "ipn_url": "your_ipn",
    "transaction_channel": null,
    "provider_id": null,
    "sms_link": null,
    "p_id": "id_partener",
    "p_last_wallet_amount": 139403535,
    "p_new_wallet_amount": null,
    "created_at": "2022-10-15T10:52:28.752+00:00",
    "updated_at": "2022-10-15T10:52:46.222+00:00"
  },
  "message": "Merci de valider la transaction.",
  "statut_code": 200
}
ParamètreDescription
transaction_idVotre identifiant unique pour cette transaction.
amountMontant de la transaction.
stateStatut de la transaction.
messageInstructions ou confirmation.
statut_code(200) OK | (500) Erreur.

Réponse IPN :

Lorsque l’opérateur finalise, nous vous transmettons le statut via l’IPN.

HTTP POST

{
     "transaction_id": "PIX_14435",
    "amount": 1000,
    "benefice": 1000,
    "comission": 0,
    "destination": "0500156008",
    "fee": 0,
    "response": "operation success",
    "error": "message de l'erreur",
    "state": "FAILED",
    "service_id": 14,
    "customer_name": "easytransfert",
    "custom_data": "custom_data",
    "ipn_url": "",
    "provider_id": null,
    "sms_link": 0,
    "created_at": "2022-10-18T02:38:44.000+00:00",
    "updated_at": "2022-10-18T02:38:44.000+00:00",
    "ipn_state": 0,
    "w_amount_after_transaction": "",
    "p_last_wallet_amount": 11,
    "p_new_wallet_amount": null,
    "p_id": "x",
    "hash": ""
}
ParamètreDescription
errorExplication de l'échec.
stateStatut de la transaction.
hashHash pour vérifier l'authenticité.
provider_idIdentifiant de l'opération.

Free SN

Type de requête : POST

Content-Type : application/json

URL d’appel : {{BASE_URL}}/airtime

URL de Test :

https://standbox-api.pixelinnov.net/api_v1/transaction/airtime

URL de Production :

https://proxy-coreapi.pixelinnov.net/api_v1/transaction/airtime

Paramètres de la requête

ParamètreDescription
amount1000
api_keyxxxxxxxxxxxxxxxxx
destination0000000000
ipn_urlhttps://your_ipn_url.com
service_idà remplacer par le service_id fourni
custom_datayour_custom_data

Description des champs

ParamètreDescription
amountMontant de la transaction.
api_keyVotre clé d'API unique.
destinationNuméro de téléphone du destinataire.
ipn_urlURL de notification.
service_idLe numéro du service.
custom_dataDonnée optionnelle.

Exemple de corps de requête :

{
  amount: 2010,
  destination: "",
  api_key: "",
  ipn_url: "https://your_ipn_link",
  service_id: 1, // Voir votre dossier d'intégration
  
  custom_data: "your_custom_data"
}

Réponse immédiate :

Une fois la requête reçue, nous retournons une première réponse.

{
  "data": {
    "transaction_id": "PIX_xxxxx",
    "amount": 119000,
    "benefice": 119000,
    "comission": 0,
    "destination": "0708126834",
    "fee": "0",
    "response": null,
    "service_id": 11,
    "customer_name": "easytransfert",
    "state": "PENDING1",
    "custom_data": "1233",
    "ipn_url": "your_ipn",
    "transaction_channel": null,
    "provider_id": null,
    "sms_link": null,
    "p_id": "id_partener",
    "p_last_wallet_amount": 139403535,
    "p_new_wallet_amount": null,
    "created_at": "2022-10-15T10:52:28.752+00:00",
    "updated_at": "2022-10-15T10:52:46.222+00:00"
  },
  "message": "Merci de valider la transaction.",
  "statut_code": 200
}
ParamètreDescription
transaction_idVotre identifiant unique pour cette transaction.
amountMontant de la transaction.
stateStatut de la transaction.
messageInstructions ou confirmation.
statut_code(200) OK | (500) Erreur.

Réponse IPN :

Lorsque l’opérateur finalise, nous vous transmettons le statut via l’IPN.

HTTP POST

{
     "transaction_id": "PIX_14435",
    "amount": 1000,
    "benefice": 1000,
    "comission": 0,
    "destination": "0500156008",
    "fee": 0,
    "response": "operation success",
    "error": "message de l'erreur",
    "state": "FAILED",
    "service_id": 14,
    "customer_name": "easytransfert",
    "custom_data": "custom_data",
    "ipn_url": "",
    "provider_id": null,
    "sms_link": 0,
    "created_at": "2022-10-18T02:38:44.000+00:00",
    "updated_at": "2022-10-18T02:38:44.000+00:00",
    "ipn_state": 0,
    "w_amount_after_transaction": "",
    "p_last_wallet_amount": 11,
    "p_new_wallet_amount": null,
    "p_id": "x",
    "hash": ""
}
ParamètreDescription
errorExplication de l'échec.
stateStatut de la transaction.
hashHash pour vérifier l'authenticité.
provider_idIdentifiant de l'opération.

Orange Mali

Type de requête : POST

Content-Type : application/json

URL d’appel : {{BASE_URL}}/airtime

URL de Test :

https://standbox-api.pixelinnov.net/api_v1/transaction/airtime

URL de Production :

https://proxy-coreapi.pixelinnov.net/api_v1/transaction/airtime

Paramètres de la requête

ParamètreDescription
amount1000
api_keyxxxxxxxxxxxxxxxxx
destination0000000000
ipn_urlhttps://your_ipn_url.com
service_idà remplacer par le service_id fourni
custom_datayour_custom_data

Description des champs

ParamètreDescription
amountMontant de la transaction.
api_keyVotre clé d'API unique.
destinationNuméro de téléphone du destinataire.
ipn_urlURL de notification.
service_idLe numéro du service.
custom_dataDonnée optionnelle.

Exemple de corps de requête :

{
  amount: 2010,
  destination: "",
  api_key: "",
  ipn_url: "https://your_ipn_link",
  service_id: 1, // Voir votre dossier d'intégration
  
  custom_data: "your_custom_data"
}

Réponse immédiate :

Une fois la requête reçue, nous retournons une première réponse.

{
  "data": {
    "transaction_id": "PIX_xxxxx",
    "amount": 119000,
    "benefice": 119000,
    "comission": 0,
    "destination": "0708126834",
    "fee": "0",
    "response": null,
    "service_id": 11,
    "customer_name": "easytransfert",
    "state": "PENDING1",
    "custom_data": "1233",
    "ipn_url": "your_ipn",
    "transaction_channel": null,
    "provider_id": null,
    "sms_link": null,
    "p_id": "id_partener",
    "p_last_wallet_amount": 139403535,
    "p_new_wallet_amount": null,
    "created_at": "2022-10-15T10:52:28.752+00:00",
    "updated_at": "2022-10-15T10:52:46.222+00:00"
  },
  "message": "Merci de valider la transaction.",
  "statut_code": 200
}
ParamètreDescription
transaction_idVotre identifiant unique pour cette transaction.
amountMontant de la transaction.
stateStatut de la transaction.
messageInstructions ou confirmation.
statut_code(200) OK | (500) Erreur.

Réponse IPN :

Lorsque l’opérateur finalise, nous vous transmettons le statut via l’IPN.

HTTP POST

{
     "transaction_id": "PIX_14435",
    "amount": 1000,
    "benefice": 1000,
    "comission": 0,
    "destination": "0500156008",
    "fee": 0,
    "response": "operation success",
    "error": "message de l'erreur",
    "state": "FAILED",
    "service_id": 14,
    "customer_name": "easytransfert",
    "custom_data": "custom_data",
    "ipn_url": "",
    "provider_id": null,
    "sms_link": 0,
    "created_at": "2022-10-18T02:38:44.000+00:00",
    "updated_at": "2022-10-18T02:38:44.000+00:00",
    "ipn_state": 0,
    "w_amount_after_transaction": "",
    "p_last_wallet_amount": 11,
    "p_new_wallet_amount": null,
    "p_id": "x",
    "hash": ""
}
ParamètreDescription
errorExplication de l'échec.
stateStatut de la transaction.
hashHash pour vérifier l'authenticité.
provider_idIdentifiant de l'opération.

Moov Mali

Type de requête : POST

Content-Type : application/json

URL d’appel : {{BASE_URL}}/airtime

URL de Test :

https://standbox-api.pixelinnov.net/api_v1/transaction/airtime

URL de Production :

https://proxy-coreapi.pixelinnov.net/api_v1/transaction/airtime

Paramètres de la requête

ParamètreDescription
amount1000
api_keyxxxxxxxxxxxxxxxxx
destination0000000000
ipn_urlhttps://your_ipn_url.com
service_idà remplacer par le service_id fourni
custom_datayour_custom_data

Description des champs

ParamètreDescription
amountMontant de la transaction.
api_keyVotre clé d'API unique.
destinationNuméro de téléphone du destinataire.
ipn_urlURL de notification.
service_idLe numéro du service.
custom_dataDonnée optionnelle.

Exemple de corps de requête :

{
  amount: 2010,
  destination: "",
  api_key: "",
  ipn_url: "https://your_ipn_link",
  service_id: 1, // Voir votre dossier d'intégration
  
  custom_data: "your_custom_data"
}

Réponse immédiate :

Une fois la requête reçue, nous retournons une première réponse.

{
  "data": {
    "transaction_id": "PIX_xxxxx",
    "amount": 119000,
    "benefice": 119000,
    "comission": 0,
    "destination": "0708126834",
    "fee": "0",
    "response": null,
    "service_id": 11,
    "customer_name": "easytransfert",
    "state": "PENDING1",
    "custom_data": "1233",
    "ipn_url": "your_ipn",
    "transaction_channel": null,
    "provider_id": null,
    "sms_link": null,
    "p_id": "id_partener",
    "p_last_wallet_amount": 139403535,
    "p_new_wallet_amount": null,
    "created_at": "2022-10-15T10:52:28.752+00:00",
    "updated_at": "2022-10-15T10:52:46.222+00:00"
  },
  "message": "Merci de valider la transaction.",
  "statut_code": 200
}
ParamètreDescription
transaction_idVotre identifiant unique pour cette transaction.
amountMontant de la transaction.
stateStatut de la transaction.
messageInstructions ou confirmation.
statut_code(200) OK | (500) Erreur.

Réponse IPN :

Lorsque l’opérateur finalise, nous vous transmettons le statut via l’IPN.

HTTP POST

{
     "transaction_id": "PIX_14435",
    "amount": 1000,
    "benefice": 1000,
    "comission": 0,
    "destination": "0500156008",
    "fee": 0,
    "response": "operation success",
    "error": "message de l'erreur",
    "state": "FAILED",
    "service_id": 14,
    "customer_name": "easytransfert",
    "custom_data": "custom_data",
    "ipn_url": "",
    "provider_id": null,
    "sms_link": 0,
    "created_at": "2022-10-18T02:38:44.000+00:00",
    "updated_at": "2022-10-18T02:38:44.000+00:00",
    "ipn_state": 0,
    "w_amount_after_transaction": "",
    "p_last_wallet_amount": 11,
    "p_new_wallet_amount": null,
    "p_id": "x",
    "hash": ""
}
ParamètreDescription
errorExplication de l'échec.
stateStatut de la transaction.
hashHash pour vérifier l'authenticité.
provider_idIdentifiant de l'opération.

Orange Burkina Faso

Type de requête : POST

Content-Type : application/json

URL d’appel : {{BASE_URL}}/airtime

URL de Test :

https://standbox-api.pixelinnov.net/api_v1/transaction/airtime

URL de Production :

https://proxy-coreapi.pixelinnov.net/api_v1/transaction/airtime

Paramètres de la requête

ParamètreDescription
amount1000
api_keyxxxxxxxxxxxxxxxxx
destination0000000000
ipn_urlhttps://your_ipn_url.com
service_idà remplacer par le service_id fourni
custom_datayour_custom_data

Description des champs

ParamètreDescription
amountMontant de la transaction.
api_keyVotre clé d'API unique.
destinationNuméro de téléphone du destinataire.
ipn_urlURL de notification.
service_idLe numéro du service.
custom_dataDonnée optionnelle.

Exemple de corps de requête :

{
  amount: 2010,
  destination: "",
  api_key: "",
  ipn_url: "https://your_ipn_link",
  service_id: 1, // Voir votre dossier d'intégration
  
  custom_data: "your_custom_data"
}

Réponse immédiate :

Une fois la requête reçue, nous retournons une première réponse.

{
  "data": {
    "transaction_id": "PIX_xxxxx",
    "amount": 119000,
    "benefice": 119000,
    "comission": 0,
    "destination": "0708126834",
    "fee": "0",
    "response": null,
    "service_id": 11,
    "customer_name": "easytransfert",
    "state": "PENDING1",
    "custom_data": "1233",
    "ipn_url": "your_ipn",
    "transaction_channel": null,
    "provider_id": null,
    "sms_link": null,
    "p_id": "id_partener",
    "p_last_wallet_amount": 139403535,
    "p_new_wallet_amount": null,
    "created_at": "2022-10-15T10:52:28.752+00:00",
    "updated_at": "2022-10-15T10:52:46.222+00:00"
  },
  "message": "Merci de valider la transaction.",
  "statut_code": 200
}
ParamètreDescription
transaction_idVotre identifiant unique pour cette transaction.
amountMontant de la transaction.
stateStatut de la transaction.
messageInstructions ou confirmation.
statut_code(200) OK | (500) Erreur.

Réponse IPN :

Lorsque l’opérateur finalise, nous vous transmettons le statut via l’IPN.

HTTP POST

{
     "transaction_id": "PIX_14435",
    "amount": 1000,
    "benefice": 1000,
    "comission": 0,
    "destination": "0500156008",
    "fee": 0,
    "response": "operation success",
    "error": "message de l'erreur",
    "state": "FAILED",
    "service_id": 14,
    "customer_name": "easytransfert",
    "custom_data": "custom_data",
    "ipn_url": "",
    "provider_id": null,
    "sms_link": 0,
    "created_at": "2022-10-18T02:38:44.000+00:00",
    "updated_at": "2022-10-18T02:38:44.000+00:00",
    "ipn_state": 0,
    "w_amount_after_transaction": "",
    "p_last_wallet_amount": 11,
    "p_new_wallet_amount": null,
    "p_id": "x",
    "hash": ""
}
ParamètreDescription
errorExplication de l'échec.
stateStatut de la transaction.
hashHash pour vérifier l'authenticité.
provider_idIdentifiant de l'opération.

Moov Burkina Faso

Type de requête : POST

Content-Type : application/json

URL d’appel : {{BASE_URL}}/airtime

URL de Test :

https://standbox-api.pixelinnov.net/api_v1/transaction/airtime

URL de Production :

https://proxy-coreapi.pixelinnov.net/api_v1/transaction/airtime

Paramètres de la requête

ParamètreDescription
amount1000
api_keyxxxxxxxxxxxxxxxxx
destination0000000000
ipn_urlhttps://your_ipn_url.com
service_idà remplacer par le service_id fourni
custom_datayour_custom_data

Description des champs

ParamètreDescription
amountMontant de la transaction.
api_keyVotre clé d'API unique.
destinationNuméro de téléphone du destinataire.
ipn_urlURL de notification.
service_idLe numéro du service.
custom_dataDonnée optionnelle.

Exemple de corps de requête :

{
  amount: 2010,
  destination: "",
  api_key: "",
  ipn_url: "https://your_ipn_link",
  service_id: 1, // Voir votre dossier d'intégration
  
  custom_data: "your_custom_data"
}

Réponse immédiate :

Une fois la requête reçue, nous retournons une première réponse.

{
  "data": {
    "transaction_id": "PIX_xxxxx",
    "amount": 119000,
    "benefice": 119000,
    "comission": 0,
    "destination": "0708126834",
    "fee": "0",
    "response": null,
    "service_id": 11,
    "customer_name": "easytransfert",
    "state": "PENDING1",
    "custom_data": "1233",
    "ipn_url": "your_ipn",
    "transaction_channel": null,
    "provider_id": null,
    "sms_link": null,
    "p_id": "id_partener",
    "p_last_wallet_amount": 139403535,
    "p_new_wallet_amount": null,
    "created_at": "2022-10-15T10:52:28.752+00:00",
    "updated_at": "2022-10-15T10:52:46.222+00:00"
  },
  "message": "Merci de valider la transaction.",
  "statut_code": 200
}
ParamètreDescription
transaction_idVotre identifiant unique pour cette transaction.
amountMontant de la transaction.
stateStatut de la transaction.
messageInstructions ou confirmation.
statut_code(200) OK | (500) Erreur.

Réponse IPN :

Lorsque l’opérateur finalise, nous vous transmettons le statut via l’IPN.

HTTP POST

{
     "transaction_id": "PIX_14435",
    "amount": 1000,
    "benefice": 1000,
    "comission": 0,
    "destination": "0500156008",
    "fee": 0,
    "response": "operation success",
    "error": "message de l'erreur",
    "state": "FAILED",
    "service_id": 14,
    "customer_name": "easytransfert",
    "custom_data": "custom_data",
    "ipn_url": "",
    "provider_id": null,
    "sms_link": 0,
    "created_at": "2022-10-18T02:38:44.000+00:00",
    "updated_at": "2022-10-18T02:38:44.000+00:00",
    "ipn_state": 0,
    "w_amount_after_transaction": "",
    "p_last_wallet_amount": 11,
    "p_new_wallet_amount": null,
    "p_id": "x",
    "hash": ""
}
ParamètreDescription
errorExplication de l'échec.
stateStatut de la transaction.
hashHash pour vérifier l'authenticité.
provider_idIdentifiant de l'opération.

MTN Bénin

Type de requête : POST

Content-Type : application/json

URL d’appel : {{BASE_URL}}/airtime

URL de Test :

https://standbox-api.pixelinnov.net/api_v1/transaction/airtime

URL de Production :

https://proxy-coreapi.pixelinnov.net/api_v1/transaction/airtime

Paramètres de la requête

ParamètreDescription
amount1000
api_keyxxxxxxxxxxxxxxxxx
destination0000000000
ipn_urlhttps://your_ipn_url.com
service_idà remplacer par le service_id fourni
custom_datayour_custom_data

Description des champs

ParamètreDescription
amountMontant de la transaction.
api_keyVotre clé d'API unique.
destinationNuméro de téléphone du destinataire.
ipn_urlURL de notification.
service_idLe numéro du service.
custom_dataDonnée optionnelle.

Exemple de corps de requête :

{
  amount: 2010,
  destination: "",
  api_key: "",
  ipn_url: "https://your_ipn_link",
  service_id: 1, // Voir votre dossier d'intégration
  
  custom_data: "your_custom_data"
}

Réponse immédiate :

Une fois la requête reçue, nous retournons une première réponse.

{
  "data": {
    "transaction_id": "PIX_xxxxx",
    "amount": 119000,
    "benefice": 119000,
    "comission": 0,
    "destination": "0708126834",
    "fee": "0",
    "response": null,
    "service_id": 11,
    "customer_name": "easytransfert",
    "state": "PENDING1",
    "custom_data": "1233",
    "ipn_url": "your_ipn",
    "transaction_channel": null,
    "provider_id": null,
    "sms_link": null,
    "p_id": "id_partener",
    "p_last_wallet_amount": 139403535,
    "p_new_wallet_amount": null,
    "created_at": "2022-10-15T10:52:28.752+00:00",
    "updated_at": "2022-10-15T10:52:46.222+00:00"
  },
  "message": "Merci de valider la transaction.",
  "statut_code": 200
}
ParamètreDescription
transaction_idVotre identifiant unique pour cette transaction.
amountMontant de la transaction.
stateStatut de la transaction.
messageInstructions ou confirmation.
statut_code(200) OK | (500) Erreur.

Réponse IPN :

Lorsque l’opérateur finalise, nous vous transmettons le statut via l’IPN.

HTTP POST

{
     "transaction_id": "PIX_14435",
    "amount": 1000,
    "benefice": 1000,
    "comission": 0,
    "destination": "0500156008",
    "fee": 0,
    "response": "operation success",
    "error": "message de l'erreur",
    "state": "FAILED",
    "service_id": 14,
    "customer_name": "easytransfert",
    "custom_data": "custom_data",
    "ipn_url": "",
    "provider_id": null,
    "sms_link": 0,
    "created_at": "2022-10-18T02:38:44.000+00:00",
    "updated_at": "2022-10-18T02:38:44.000+00:00",
    "ipn_state": 0,
    "w_amount_after_transaction": "",
    "p_last_wallet_amount": 11,
    "p_new_wallet_amount": null,
    "p_id": "x",
    "hash": ""
}
ParamètreDescription
errorExplication de l'échec.
stateStatut de la transaction.
hashHash pour vérifier l'authenticité.
provider_idIdentifiant de l'opération.

Moov Bénin

Type de requête : POST

Content-Type : application/json

URL d’appel : {{BASE_URL}}/airtime

URL de Test :

https://standbox-api.pixelinnov.net/api_v1/transaction/airtime

URL de Production :

https://proxy-coreapi.pixelinnov.net/api_v1/transaction/airtime

Paramètres de la requête

ParamètreDescription
amount1000
api_keyxxxxxxxxxxxxxxxxx
destination0000000000
ipn_urlhttps://your_ipn_url.com
service_idà remplacer par le service_id fourni
custom_datayour_custom_data

Description des champs

ParamètreDescription
amountMontant de la transaction.
api_keyVotre clé d'API unique.
destinationNuméro de téléphone du destinataire.
ipn_urlURL de notification.
service_idLe numéro du service.
custom_dataDonnée optionnelle.

Exemple de corps de requête :

{
  amount: 2010,
  destination: "",
  api_key: "",
  ipn_url: "https://your_ipn_link",
  service_id: 1, // Voir votre dossier d'intégration
  
  custom_data: "your_custom_data"
}

Réponse immédiate :

Une fois la requête reçue, nous retournons une première réponse.

{
  "data": {
    "transaction_id": "PIX_xxxxx",
    "amount": 119000,
    "benefice": 119000,
    "comission": 0,
    "destination": "0708126834",
    "fee": "0",
    "response": null,
    "service_id": 11,
    "customer_name": "easytransfert",
    "state": "PENDING1",
    "custom_data": "1233",
    "ipn_url": "your_ipn",
    "transaction_channel": null,
    "provider_id": null,
    "sms_link": null,
    "p_id": "id_partener",
    "p_last_wallet_amount": 139403535,
    "p_new_wallet_amount": null,
    "created_at": "2022-10-15T10:52:28.752+00:00",
    "updated_at": "2022-10-15T10:52:46.222+00:00"
  },
  "message": "Merci de valider la transaction.",
  "statut_code": 200
}
ParamètreDescription
transaction_idVotre identifiant unique pour cette transaction.
amountMontant de la transaction.
stateStatut de la transaction.
messageInstructions ou confirmation.
statut_code(200) OK | (500) Erreur.

Réponse IPN :

Lorsque l’opérateur finalise, nous vous transmettons le statut via l’IPN.

HTTP POST

{
     "transaction_id": "PIX_14435",
    "amount": 1000,
    "benefice": 1000,
    "comission": 0,
    "destination": "0500156008",
    "fee": 0,
    "response": "operation success",
    "error": "message de l'erreur",
    "state": "FAILED",
    "service_id": 14,
    "customer_name": "easytransfert",
    "custom_data": "custom_data",
    "ipn_url": "",
    "provider_id": null,
    "sms_link": 0,
    "created_at": "2022-10-18T02:38:44.000+00:00",
    "updated_at": "2022-10-18T02:38:44.000+00:00",
    "ipn_state": 0,
    "w_amount_after_transaction": "",
    "p_last_wallet_amount": 11,
    "p_new_wallet_amount": null,
    "p_id": "x",
    "hash": ""
}
ParamètreDescription
errorExplication de l'échec.
stateStatut de la transaction.
hashHash pour vérifier l'authenticité.
provider_idIdentifiant de l'opération.

MTN Guinée Conakry

Type de requête : POST

Content-Type : application/json

URL d’appel : {{BASE_URL}}/airtime

URL de Test :

https://standbox-api.pixelinnov.net/api_v1/transaction/airtime

URL de Production :

https://proxy-coreapi.pixelinnov.net/api_v1/transaction/airtime

Paramètres de la requête

ParamètreDescription
amount1000
api_keyxxxxxxxxxxxxxxxxx
destination0000000000
ipn_urlhttps://your_ipn_url.com
service_idà remplacer par le service_id fourni
custom_datayour_custom_data

Description des champs

ParamètreDescription
amountMontant de la transaction.
api_keyVotre clé d'API unique.
destinationNuméro de téléphone du destinataire.
ipn_urlURL de notification.
service_idLe numéro du service.
custom_dataDonnée optionnelle.

Exemple de corps de requête :

{
  amount: 2010,
  destination: "",
  api_key: "",
  ipn_url: "https://your_ipn_link",
  service_id: 1, // Voir votre dossier d'intégration
  
  custom_data: "your_custom_data"
}

Réponse immédiate :

Une fois la requête reçue, nous retournons une première réponse.

{
  "data": {
    "transaction_id": "PIX_xxxxx",
    "amount": 119000,
    "benefice": 119000,
    "comission": 0,
    "destination": "0708126834",
    "fee": "0",
    "response": null,
    "service_id": 11,
    "customer_name": "easytransfert",
    "state": "PENDING1",
    "custom_data": "1233",
    "ipn_url": "your_ipn",
    "transaction_channel": null,
    "provider_id": null,
    "sms_link": null,
    "p_id": "id_partener",
    "p_last_wallet_amount": 139403535,
    "p_new_wallet_amount": null,
    "created_at": "2022-10-15T10:52:28.752+00:00",
    "updated_at": "2022-10-15T10:52:46.222+00:00"
  },
  "message": "Merci de valider la transaction.",
  "statut_code": 200
}
ParamètreDescription
transaction_idVotre identifiant unique pour cette transaction.
amountMontant de la transaction.
stateStatut de la transaction.
messageInstructions ou confirmation.
statut_code(200) OK | (500) Erreur.

Réponse IPN :

Lorsque l’opérateur finalise, nous vous transmettons le statut via l’IPN.

HTTP POST

{
     "transaction_id": "PIX_14435",
    "amount": 1000,
    "benefice": 1000,
    "comission": 0,
    "destination": "0500156008",
    "fee": 0,
    "response": "operation success",
    "error": "message de l'erreur",
    "state": "FAILED",
    "service_id": 14,
    "customer_name": "easytransfert",
    "custom_data": "custom_data",
    "ipn_url": "",
    "provider_id": null,
    "sms_link": 0,
    "created_at": "2022-10-18T02:38:44.000+00:00",
    "updated_at": "2022-10-18T02:38:44.000+00:00",
    "ipn_state": 0,
    "w_amount_after_transaction": "",
    "p_last_wallet_amount": 11,
    "p_new_wallet_amount": null,
    "p_id": "x",
    "hash": ""
}
ParamètreDescription
errorExplication de l'échec.
stateStatut de la transaction.
hashHash pour vérifier l'authenticité.
provider_idIdentifiant de l'opération.

Orange Guinée Conakry

Type de requête : POST

Content-Type : application/json

URL d’appel : {{BASE_URL}}/airtime

URL de Test :

https://standbox-api.pixelinnov.net/api_v1/transaction/airtime

URL de Production :

https://proxy-coreapi.pixelinnov.net/api_v1/transaction/airtime

Paramètres de la requête

ParamètreDescription
amount1000
api_keyxxxxxxxxxxxxxxxxx
destination0000000000
ipn_urlhttps://your_ipn_url.com
service_idà remplacer par le service_id fourni
custom_datayour_custom_data

Description des champs

ParamètreDescription
amountMontant de la transaction.
api_keyVotre clé d'API unique.
destinationNuméro de téléphone du destinataire.
ipn_urlURL de notification.
service_idLe numéro du service.
custom_dataDonnée optionnelle.

Exemple de corps de requête :

{
  amount: 2010,
  destination: "",
  api_key: "",
  ipn_url: "https://your_ipn_link",
  service_id: 1, // Voir votre dossier d'intégration
  
  custom_data: "your_custom_data"
}

Réponse immédiate :

Une fois la requête reçue, nous retournons une première réponse.

{
  "data": {
    "transaction_id": "PIX_xxxxx",
    "amount": 119000,
    "benefice": 119000,
    "comission": 0,
    "destination": "0708126834",
    "fee": "0",
    "response": null,
    "service_id": 11,
    "customer_name": "easytransfert",
    "state": "PENDING1",
    "custom_data": "1233",
    "ipn_url": "your_ipn",
    "transaction_channel": null,
    "provider_id": null,
    "sms_link": null,
    "p_id": "id_partener",
    "p_last_wallet_amount": 139403535,
    "p_new_wallet_amount": null,
    "created_at": "2022-10-15T10:52:28.752+00:00",
    "updated_at": "2022-10-15T10:52:46.222+00:00"
  },
  "message": "Merci de valider la transaction.",
  "statut_code": 200
}
ParamètreDescription
transaction_idVotre identifiant unique pour cette transaction.
amountMontant de la transaction.
stateStatut de la transaction.
messageInstructions ou confirmation.
statut_code(200) OK | (500) Erreur.

Réponse IPN :

Lorsque l’opérateur finalise, nous vous transmettons le statut via l’IPN.

HTTP POST

{
     "transaction_id": "PIX_14435",
    "amount": 1000,
    "benefice": 1000,
    "comission": 0,
    "destination": "0500156008",
    "fee": 0,
    "response": "operation success",
    "error": "message de l'erreur",
    "state": "FAILED",
    "service_id": 14,
    "customer_name": "easytransfert",
    "custom_data": "custom_data",
    "ipn_url": "",
    "provider_id": null,
    "sms_link": 0,
    "created_at": "2022-10-18T02:38:44.000+00:00",
    "updated_at": "2022-10-18T02:38:44.000+00:00",
    "ipn_state": 0,
    "w_amount_after_transaction": "",
    "p_last_wallet_amount": 11,
    "p_new_wallet_amount": null,
    "p_id": "x",
    "hash": ""
}
ParamètreDescription
errorExplication de l'échec.
stateStatut de la transaction.
hashHash pour vérifier l'authenticité.
provider_idIdentifiant de l'opération.

Moov Togo

Type de requête : POST

Content-Type : application/json

URL d’appel : {{BASE_URL}}/airtime

URL de Test :

https://standbox-api.pixelinnov.net/api_v1/transaction/airtime

URL de Production :

https://proxy-coreapi.pixelinnov.net/api_v1/transaction/airtime

Paramètres de la requête

ParamètreDescription
amount1000
api_keyxxxxxxxxxxxxxxxxx
destination0000000000
ipn_urlhttps://your_ipn_url.com
service_idà remplacer par le service_id fourni
custom_datayour_custom_data

Description des champs

ParamètreDescription
amountMontant de la transaction.
api_keyVotre clé d'API unique.
destinationNuméro de téléphone du destinataire.
ipn_urlURL de notification.
service_idLe numéro du service.
custom_dataDonnée optionnelle.

Exemple de corps de requête :

{
  amount: 2010,
  destination: "",
  api_key: "",
  ipn_url: "https://your_ipn_link",
  service_id: 1, // Voir votre dossier d'intégration
  
  custom_data: "your_custom_data"
}

Réponse immédiate :

Une fois la requête reçue, nous retournons une première réponse.

{
  "data": {
    "transaction_id": "PIX_xxxxx",
    "amount": 119000,
    "benefice": 119000,
    "comission": 0,
    "destination": "0708126834",
    "fee": "0",
    "response": null,
    "service_id": 11,
    "customer_name": "easytransfert",
    "state": "PENDING1",
    "custom_data": "1233",
    "ipn_url": "your_ipn",
    "transaction_channel": null,
    "provider_id": null,
    "sms_link": null,
    "p_id": "id_partener",
    "p_last_wallet_amount": 139403535,
    "p_new_wallet_amount": null,
    "created_at": "2022-10-15T10:52:28.752+00:00",
    "updated_at": "2022-10-15T10:52:46.222+00:00"
  },
  "message": "Merci de valider la transaction.",
  "statut_code": 200
}
ParamètreDescription
transaction_idVotre identifiant unique pour cette transaction.
amountMontant de la transaction.
stateStatut de la transaction.
messageInstructions ou confirmation.
statut_code(200) OK | (500) Erreur.

Réponse IPN :

Lorsque l’opérateur finalise, nous vous transmettons le statut via l’IPN.

HTTP POST

{
     "transaction_id": "PIX_14435",
    "amount": 1000,
    "benefice": 1000,
    "comission": 0,
    "destination": "0500156008",
    "fee": 0,
    "response": "operation success",
    "error": "message de l'erreur",
    "state": "FAILED",
    "service_id": 14,
    "customer_name": "easytransfert",
    "custom_data": "custom_data",
    "ipn_url": "",
    "provider_id": null,
    "sms_link": 0,
    "created_at": "2022-10-18T02:38:44.000+00:00",
    "updated_at": "2022-10-18T02:38:44.000+00:00",
    "ipn_state": 0,
    "w_amount_after_transaction": "",
    "p_last_wallet_amount": 11,
    "p_new_wallet_amount": null,
    "p_id": "x",
    "hash": ""
}
ParamètreDescription
errorExplication de l'échec.
stateStatut de la transaction.
hashHash pour vérifier l'authenticité.
provider_idIdentifiant de l'opération.

Orange Cameroun

Type de requête : POST

Content-Type : application/json

URL d’appel : {{BASE_URL}}/airtime

URL de Test :

https://standbox-api.pixelinnov.net/api_v1/transaction/airtime

URL de Production :

https://proxy-coreapi.pixelinnov.net/api_v1/transaction/airtime

Paramètres de la requête

ParamètreDescription
amount1000
api_keyxxxxxxxxxxxxxxxxx
destination0000000000
ipn_urlhttps://your_ipn_url.com
service_idà remplacer par le service_id fourni
custom_datayour_custom_data

Description des champs

ParamètreDescription
amountMontant de la transaction.
api_keyVotre clé d'API unique.
destinationNuméro de téléphone du destinataire.
ipn_urlURL de notification.
service_idLe numéro du service.
custom_dataDonnée optionnelle.

Exemple de corps de requête :

{
  amount: 2010,
  destination: "",
  api_key: "",
  ipn_url: "https://your_ipn_link",
  service_id: 1, // Voir votre dossier d'intégration
  
  custom_data: "your_custom_data"
}

Réponse immédiate :

Une fois la requête reçue, nous retournons une première réponse.

{
  "data": {
    "transaction_id": "PIX_xxxxx",
    "amount": 119000,
    "benefice": 119000,
    "comission": 0,
    "destination": "0708126834",
    "fee": "0",
    "response": null,
    "service_id": 11,
    "customer_name": "easytransfert",
    "state": "PENDING1",
    "custom_data": "1233",
    "ipn_url": "your_ipn",
    "transaction_channel": null,
    "provider_id": null,
    "sms_link": null,
    "p_id": "id_partener",
    "p_last_wallet_amount": 139403535,
    "p_new_wallet_amount": null,
    "created_at": "2022-10-15T10:52:28.752+00:00",
    "updated_at": "2022-10-15T10:52:46.222+00:00"
  },
  "message": "Merci de valider la transaction.",
  "statut_code": 200
}
ParamètreDescription
transaction_idVotre identifiant unique pour cette transaction.
amountMontant de la transaction.
stateStatut de la transaction.
messageInstructions ou confirmation.
statut_code(200) OK | (500) Erreur.

Réponse IPN :

Lorsque l’opérateur finalise, nous vous transmettons le statut via l’IPN.

HTTP POST

{
     "transaction_id": "PIX_14435",
    "amount": 1000,
    "benefice": 1000,
    "comission": 0,
    "destination": "0500156008",
    "fee": 0,
    "response": "operation success",
    "error": "message de l'erreur",
    "state": "FAILED",
    "service_id": 14,
    "customer_name": "easytransfert",
    "custom_data": "custom_data",
    "ipn_url": "",
    "provider_id": null,
    "sms_link": 0,
    "created_at": "2022-10-18T02:38:44.000+00:00",
    "updated_at": "2022-10-18T02:38:44.000+00:00",
    "ipn_state": 0,
    "w_amount_after_transaction": "",
    "p_last_wallet_amount": 11,
    "p_new_wallet_amount": null,
    "p_id": "x",
    "hash": ""
}
ParamètreDescription
errorExplication de l'échec.
stateStatut de la transaction.
hashHash pour vérifier l'authenticité.
provider_idIdentifiant de l'opération.

MTN Cameroun

Type de requête : POST

Content-Type : application/json

URL d’appel : {{BASE_URL}}/airtime

URL de Test :

https://standbox-api.pixelinnov.net/api_v1/transaction/airtime

URL de Production :

https://proxy-coreapi.pixelinnov.net/api_v1/transaction/airtime

Paramètres de la requête

ParamètreDescription
amount1000
api_keyxxxxxxxxxxxxxxxxx
destination0000000000
ipn_urlhttps://your_ipn_url.com
service_idà remplacer par le service_id fourni
custom_datayour_custom_data

Description des champs

ParamètreDescription
amountMontant de la transaction.
api_keyVotre clé d'API unique.
destinationNuméro de téléphone du destinataire.
ipn_urlURL de notification.
service_idLe numéro du service.
custom_dataDonnée optionnelle.

Exemple de corps de requête :

{
  amount: 2010,
  destination: "",
  api_key: "",
  ipn_url: "https://your_ipn_link",
  service_id: 1, // Voir votre dossier d'intégration
  
  custom_data: "your_custom_data"
}

Réponse immédiate :

Une fois la requête reçue, nous retournons une première réponse.

{
  "data": {
    "transaction_id": "PIX_xxxxx",
    "amount": 119000,
    "benefice": 119000,
    "comission": 0,
    "destination": "0708126834",
    "fee": "0",
    "response": null,
    "service_id": 11,
    "customer_name": "easytransfert",
    "state": "PENDING1",
    "custom_data": "1233",
    "ipn_url": "your_ipn",
    "transaction_channel": null,
    "provider_id": null,
    "sms_link": null,
    "p_id": "id_partener",
    "p_last_wallet_amount": 139403535,
    "p_new_wallet_amount": null,
    "created_at": "2022-10-15T10:52:28.752+00:00",
    "updated_at": "2022-10-15T10:52:46.222+00:00"
  },
  "message": "Merci de valider la transaction.",
  "statut_code": 200
}
ParamètreDescription
transaction_idVotre identifiant unique pour cette transaction.
amountMontant de la transaction.
stateStatut de la transaction.
messageInstructions ou confirmation.
statut_code(200) OK | (500) Erreur.

Réponse IPN :

Lorsque l’opérateur finalise, nous vous transmettons le statut via l’IPN.

HTTP POST

{
     "transaction_id": "PIX_14435",
    "amount": 1000,
    "benefice": 1000,
    "comission": 0,
    "destination": "0500156008",
    "fee": 0,
    "response": "operation success",
    "error": "message de l'erreur",
    "state": "FAILED",
    "service_id": 14,
    "customer_name": "easytransfert",
    "custom_data": "custom_data",
    "ipn_url": "",
    "provider_id": null,
    "sms_link": 0,
    "created_at": "2022-10-18T02:38:44.000+00:00",
    "updated_at": "2022-10-18T02:38:44.000+00:00",
    "ipn_state": 0,
    "w_amount_after_transaction": "",
    "p_last_wallet_amount": 11,
    "p_new_wallet_amount": null,
    "p_id": "x",
    "hash": ""
}
ParamètreDescription
errorExplication de l'échec.
stateStatut de la transaction.
hashHash pour vérifier l'authenticité.
provider_idIdentifiant de l'opération.

Endpoint : Reversement (Payout)

Cet endpoint est utilisé pour initier un transfert d'argent (cash-out) depuis votre compte partenaire vers le compte mobile money d'un bénéficiaire.

Authentification

L'authentification se fait via votre clé API partenaire, fournie dans l'en-tête (header) de la requête. Le format attendu est : Authorization: Bearer VOTRE_CLÉ_API.

⏳ Important : Temps de Réponse Variable

Cet endpoint ne retourne pas une réponse immédiate. Il attend activement le statut final de la transaction (Succès ou Échec) pendant un maximum de 20 secondes.

Nous vous conseillons de configurer un timeout d'au moins 30 secondes sur votre client HTTP pour éviter les erreurs de connexion expirée.

Le champ `state` dans la réponse

Le champ `state` dans la réponse finale peut avoir 3 valeurs :

  • SUCCESSFUL : Le reversement a été effectué avec succès.
  • FAILED : Le reversement a échoué.
  • PENDING : Le statut final n'a pas pu être obtenu après 20 secondes. Le statut final sera notifié plus tard sur votre URL d'IPN si elle est configurée.

URL complète :

https://paylink.pixelinnov.net/api/public-reversement

Paramètres du Corps de la Requête

ParamètreDescription
destinationNuméro de téléphone du destinataire.
amountMontant de la transaction.
country_codeCode ISO du pays (ex: 'CI', 'SN', 'ML', 'BF', 'BJ', 'GC', 'TG', 'CM').
operator_nameNom de l'opérateur en minuscules (ex: 'orange', 'wave').
recipient_nameNom complet du bénéficiaire.

Exemple de Requête (cURL)

curl --location 'https://paylink.pixelinnov.net/api/public-reversement' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer VOTRE_CLÉ_API' \
--data '{
    "destination": "0778261090",
    "country_code": "CI",
    "operator_name": "wave",
    "amount": 20,
    "recipient_name": "Nom du Bénéficiaire"
}'

Exemple de Réponse (Succès)

{
    "success": true,
    "message": "Reversement public enregistré.",
    "reversement": {
        "_id": "68c15298a5cf56d6867b448f",
        "userId": "6890c8068dc2bddee412bf5c",
        "client_name": "reversement pub paylink",
        "destination": "0778261090",
        "operator_name": "wave",
        "country_code": "CI",
        "amount": 20,
        "transaction_id": "PIXPAY_19275913",
        "state": "SUCCESSFUL",
        "createdAt": "2025-09-10T10:27:36.658Z"
    }
}

Vérification du Hash

Pour garantir l'authenticité des notifications IPN, un hash est inclus.

🔐 Comment vérifier le hash ?

  1. Concaténation: cléAPI + transaction_id
  2. Hachage: Appliquez l’algorithme SHA256.
  3. Vérification: Comparez le résultat avec le hash reçu.

Ce mécanisme sécurise vos traitements.

Statut des transactions

Cette API n'est pas le canal dédié pour l'obtention des statuts. Vous devez configurer dans votre payload un lien fonctionnel pour recevoir les statuts.

À utiliser avec parcimonie (abus = blocage).

URL : https://proxy-coreapi.pixelinnov.net/api_v1/transaction/status

Verbe : POST

Content-Type : application/json

Corps de la requête :

{
  "api_key": "xxx",
  "transaction_ids": "xxx"
}

Exemple de réponse :

{
  "data": {
    "transaction_id": "EFB.001158",
    "amount": 3005,
    "benefice": 3005,
    "comission": 0,
    "destination": "0777321219",
    "fee": 0,
    "error": "",
    "service_id": 10,
    "customer_name": "easytransfert",
    "state": "FAILED",
    "custom_data": "custom_data",
    "ipn_url": "",
    "provider_id": null,
    "created_at": "2022-09-27T07:07:47.000+00:00",
    "updated_at": "2022-09-27T07:07:47.000+00:00",
    "p_last_wallet_amount": "xxx",
    "p_new_wallet_amount": null,
    "p_id": 1,
    "hash": null
  },
  "message": "",
  "statut_code": 200
}

Liste des Erreurs

you are not authorize

Clé API invalide ou non reconnue. Le partenaire n'existe pas ou a été mal identifié.

you are not authorized to view this ressource

Le partenaire n’a pas accès à ce service car le service_id ne lui est pas attribué.

access denied to this ressource

Aucune clé API transmise ou clé invalide. Accès refusé à la ressource demandée.

related partners is blaklisted to system.

Le compte du partenaire est blacklisté et n’est plus autorisé à utiliser l’API.

related admin_key not found in registry.

La clé d’administration envoyée n’est pas valide ou ne figure pas dans le registre.

you dont have permission to access this ressources. please contact su.

L’API ou la ressource demandée n’est pas enregistrée pour ce partenaire.

you are not authorize to query this service

Le partenaire tente d'interroger un service qui ne lui est pas autorisé.

Erreur lors de la transaction

Une erreur interne est survenue pendant le traitement de la transaction.

Moyens de paiement

PaysMoyen de paiementDescriptionDeviseStatut
Côte d'IvoireOMOrange Money CIXOFOK
MOMOMTN Mobile Money CI
FLOOZMoov Money CI
WAVEWAVE CI
VISAMVISA/MasterCard
SénégalWAVEWAVE SNXOFOK
OMOrange Money SN
FREEFree Money SN
VISAMVISA/MasterCard
MaliOMOrange Money MaliXOFOK
FLOOZMoov Money Mali
VISAMVISA/MasterCard
Burkina FasoOMOrange Money BurkinaXOFOK
FLOOZMoov Money Burkina
VISAMVISA/MasterCard
BéninMOMOMTN Mobile Money BéninXOFOK
FLOOZMoov Money Bénin
VISAMVISA/MasterCard
Guinée ConakryMOMOMTN Mobile Money GuinéeGNFOK
OMOrange Money Guinée
TogoTMONEYTmoney TogoXOFOK
FLOOZMoov Money Togo
VISAMVISA/MasterCard
CamerounOMOrange Money CamerounXAFOK
FLOOZMoov Money Cameroun
VISAMVISA/MasterCard

Gammes de montants par pays

PaysMontant MinMontant MaxDevise
Côte d'Ivoire2001 500 000XOF
Sénégal200200 000 (si compte plafonné) 2 000 000 (si compte déplafonné)
Togo5001 500 000
Bénin5001 500 000
Mali5001 500 000
Burkina Faso5001 500 000
Cameroun (XOF)5001 500 000
Cameroun (XAF)5001 500 000XAF
Guinée1 00015 000 000GNF

Codes USSD par pays/opérateur

PaysOpérateurSyntaxeNote
Côte d'IvoireOrange Money CI#144*82#Paiement par code OTP
Mtn Mobile Money CI*133#À composer après réception du SMS de débit
Moov money CINONConfirmation par code secret après réception du SMS push
Wave CINONConfirmation par QR Code
SénégalOrange Money SN#144#391#Paiement par code OTP
EXPRESSOSN*444*3*3#À composer après réception du SMS de débit
FreeSnNONConfirmation par code secret après réception du SMS push
Wave SNNONConfirmation par QR Code
MaliOrange Money ML#144#77#Paiement par code OTP
Moov Money MLNONConfirmation par code secret après réception du SMS push
TogoTmoney TGNONConfirmation par code secret après réception du SMS push
Flooz TGNONConfirmation par code secret après réception du SMS push
BeninMoov BJ*855*7*8#Confirmation par code secret après réception du SMS push
MTN BJNONConfirmation par code secret après réception du SMS push
Burkina FasoOrange Money BF*144*4*6*100#Paiement par code OTP
Moov money BF*555*6#Confirmation par code secret après réception du SMS push
CamerounOrange Money CM#150*50#Confirmation par code secret après réception du SMS push
Express union CMNONConfirmation depuis l'application
Mtn Money CM*126#Confirmation par code secret après réception du SMS push
RD CongoOrange Money CDNONConfirmation par code secret après réception du SMS push
M PESA CDNONConfirmation par code secret après réception du SMS push
Airtel Money CDNONConfirmation par code secret après réception du SMS push
GuinéeOrange Money ML#144#, Choix option 4 et l'option 2Paiement par code OTP
MTN GNNONConfirmation par code secret après réception du SMS push