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 :
- Créer un compte partenaire sur Pixpay.
- Valider votre compte via notre service client.
- Obtenir votre clé API personnelle.
- Intégrer Pixpay dans votre site web ou application mobile selon notre documentation.
- 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ètre | Description |
|---|---|
| amount | 1000 |
| api_key | xxxxxxxxxxxxxxxxx |
| destination | 0000000000 |
| ipn_url | https://your_ipn_url.com |
| service_id | à remplacer par le service_id fourni |
| om_otp | 1234 |
| custom_data | your_custom_data |
Description des champs
| Paramètre | Description |
|---|---|
| amount | Montant de la transaction. |
| api_key | Votre clé d'API unique. |
| destination | Numéro de téléphone du destinataire. |
| ipn_url | URL de notification. |
| service_id | Le numéro du service. |
| om_otp | Code d'autorisation Orange Money (via #144*82# ou App Orange Money). |
| custom_data | Donné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ètre | Description |
|---|---|
| transaction_id | Votre identifiant unique pour cette transaction. |
| amount | Montant de la transaction. |
| state | Statut de la transaction. |
| message | Instructions 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ètre | Description |
|---|---|
| error | Explication de l'échec. |
| state | Statut de la transaction. |
| hash | Hash pour vérifier l'authenticité. |
| provider_id | Identifiant 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ètre | Description |
|---|---|
| amount | 1000 |
| api_key | xxxxxxxxxxxxxxxxx |
| destination | 0000000000 |
| ipn_url | https://your_ipn_url.com |
| service_id | à remplacer par le service_id fourni |
| custom_data | your_custom_data |
Description des champs
| Paramètre | Description |
|---|---|
| amount | Montant de la transaction. |
| api_key | Votre clé d'API unique. |
| destination | Numéro de téléphone du destinataire. |
| ipn_url | URL de notification. |
| service_id | Le numéro du service. |
| custom_data | Donné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ètre | Description |
|---|---|
| transaction_id | Votre identifiant unique pour cette transaction. |
| amount | Montant de la transaction. |
| state | Statut de la transaction. |
| message | Instructions 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ètre | Description |
|---|---|
| error | Explication de l'échec. |
| state | Statut de la transaction. |
| hash | Hash pour vérifier l'authenticité. |
| provider_id | Identifiant 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ètre | Description |
|---|---|
| amount | 1000 |
| api_key | xxxxxxxxxxxxxxxxx |
| destination | 0000000000 |
| ipn_url | https://your_ipn_url.com |
| service_id | à remplacer par le service_id fourni |
| custom_data | your_custom_data |
Description des champs
| Paramètre | Description |
|---|---|
| amount | Montant de la transaction. |
| api_key | Votre clé d'API unique. |
| destination | Numéro de téléphone du destinataire. |
| ipn_url | URL de notification. |
| service_id | Le numéro du service. |
| custom_data | Donné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ètre | Description |
|---|---|
| transaction_id | Votre identifiant unique pour cette transaction. |
| amount | Montant de la transaction. |
| state | Statut de la transaction. |
| message | Instructions 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ètre | Description |
|---|---|
| error | Explication de l'échec. |
| state | Statut de la transaction. |
| hash | Hash pour vérifier l'authenticité. |
| provider_id | Identifiant 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ètre | Description |
|---|---|
| amount | 1000 |
| api_key | xxxxxxxxxxxxxxxxx |
| destination | 0000000000 |
| ipn_url | https://your_ipn_url.com |
| service_id | à remplacer par le service_id fourni |
| business_name_id | your_business_name_id |
| redirect_url | your_success_url |
| redirect_error_url | your_error_url |
| custom_data | your_custom_data |
Description des champs
| Paramètre | Description |
|---|---|
| amount | Montant de la transaction. |
| api_key | Votre clé d'API unique. |
| destination | Numéro de téléphone du destinataire. |
| ipn_url | URL de notification. |
| service_id | Le numéro du service. |
| business_name_id | Identifiant Wave du partenaire. |
| redirect_url | URL de redirection (succès). |
| redirect_error_url | URL de redirection (échec). |
| custom_data | Donné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ètre | Description |
|---|---|
| transaction_id | Votre identifiant unique pour cette transaction. |
| amount | Montant de la transaction. |
| state | Statut de la transaction. |
| message | Instructions 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ètre | Description |
|---|---|
| error | Explication de l'échec. |
| state | Statut de la transaction. |
| hash | Hash pour vérifier l'authenticité. |
| provider_id | Identifiant 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ètre | Description |
|---|---|
| amount | 1000 |
| api_key | xxxxxxxxxxxxxxxxx |
| destination | 0000000000 |
| ipn_url | https://your_ipn_url.com |
| service_id | à remplacer par le service_id fourni |
| business_name_id | your_business_name_id |
| redirect_url | your_success_url |
| redirect_error_url | your_error_url |
| custom_data | your_custom_data |
Description des champs
| Paramètre | Description |
|---|---|
| amount | Montant de la transaction. |
| api_key | Votre clé d'API unique. |
| destination | Numéro de téléphone du destinataire. |
| ipn_url | URL de notification. |
| service_id | Le numéro du service. |
| business_name_id | Identifiant Wave du partenaire. |
| redirect_url | URL de redirection (succès). |
| redirect_error_url | URL de redirection (échec). |
| custom_data | Donné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ètre | Description |
|---|---|
| transaction_id | Votre identifiant unique pour cette transaction. |
| amount | Montant de la transaction. |
| state | Statut de la transaction. |
| message | Instructions 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ètre | Description |
|---|---|
| error | Explication de l'échec. |
| state | Statut de la transaction. |
| hash | Hash pour vérifier l'authenticité. |
| provider_id | Identifiant 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ètre | Description |
|---|---|
| amount | 1000 |
| api_key | xxxxxxxxxxxxxxxxx |
| destination | 0000000000 |
| ipn_url | https://your_ipn_url.com |
| service_id | à remplacer par le service_id fourni |
| custom_data | your_custom_data |
Description des champs
| Paramètre | Description |
|---|---|
| amount | Montant de la transaction. |
| api_key | Votre clé d'API unique. |
| destination | Numéro de téléphone du destinataire. |
| ipn_url | URL de notification. |
| service_id | Le numéro du service. |
| custom_data | Donné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ètre | Description |
|---|---|
| transaction_id | Votre identifiant unique pour cette transaction. |
| amount | Montant de la transaction. |
| state | Statut de la transaction. |
| message | Instructions 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ètre | Description |
|---|---|
| error | Explication de l'échec. |
| state | Statut de la transaction. |
| hash | Hash pour vérifier l'authenticité. |
| provider_id | Identifiant 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ètre | Description |
|---|---|
| amount | 1000 |
| api_key | xxxxxxxxxxxxxxxxx |
| destination | 0000000000 |
| ipn_url | https://your_ipn_url.com |
| service_id | à remplacer par le service_id fourni |
| custom_data | your_custom_data |
Description des champs
| Paramètre | Description |
|---|---|
| amount | Montant de la transaction. |
| api_key | Votre clé d'API unique. |
| destination | Numéro de téléphone du destinataire. |
| ipn_url | URL de notification. |
| service_id | Le numéro du service. |
| custom_data | Donné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ètre | Description |
|---|---|
| transaction_id | Votre identifiant unique pour cette transaction. |
| amount | Montant de la transaction. |
| state | Statut de la transaction. |
| message | Instructions 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ètre | Description |
|---|---|
| error | Explication de l'échec. |
| state | Statut de la transaction. |
| hash | Hash pour vérifier l'authenticité. |
| provider_id | Identifiant 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ètre | Description |
|---|---|
| amount | 1000 |
| api_key | xxxxxxxxxxxxxxxxx |
| destination | 0000000000 |
| ipn_url | https://your_ipn_url.com |
| service_id | à remplacer par le service_id fourni |
| custom_data | your_custom_data |
Description des champs
| Paramètre | Description |
|---|---|
| amount | Montant de la transaction. |
| api_key | Votre clé d'API unique. |
| destination | Numéro de téléphone du destinataire. |
| ipn_url | URL de notification. |
| service_id | Le numéro du service. |
| custom_data | Donné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ètre | Description |
|---|---|
| transaction_id | Votre identifiant unique pour cette transaction. |
| amount | Montant de la transaction. |
| state | Statut de la transaction. |
| message | Instructions 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ètre | Description |
|---|---|
| error | Explication de l'échec. |
| state | Statut de la transaction. |
| hash | Hash pour vérifier l'authenticité. |
| provider_id | Identifiant 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ètre | Description |
|---|---|
| amount | 1000 |
| api_key | xxxxxxxxxxxxxxxxx |
| destination | 0000000000 |
| ipn_url | https://your_ipn_url.com |
| service_id | à remplacer par le service_id fourni |
| custom_data | your_custom_data |
Description des champs
| Paramètre | Description |
|---|---|
| amount | Montant de la transaction. |
| api_key | Votre clé d'API unique. |
| destination | Numéro de téléphone du destinataire. |
| ipn_url | URL de notification. |
| service_id | Le numéro du service. |
| custom_data | Donné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ètre | Description |
|---|---|
| transaction_id | Votre identifiant unique pour cette transaction. |
| amount | Montant de la transaction. |
| state | Statut de la transaction. |
| message | Instructions 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ètre | Description |
|---|---|
| error | Explication de l'échec. |
| state | Statut de la transaction. |
| hash | Hash pour vérifier l'authenticité. |
| provider_id | Identifiant 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ètre | Description |
|---|---|
| amount | 1000 |
| api_key | xxxxxxxxxxxxxxxxx |
| destination | 0000000000 |
| ipn_url | https://your_ipn_url.com |
| service_id | à remplacer par le service_id fourni |
| custom_data | your_custom_data |
Description des champs
| Paramètre | Description |
|---|---|
| amount | Montant de la transaction. |
| api_key | Votre clé d'API unique. |
| destination | Numéro de téléphone du destinataire. |
| ipn_url | URL de notification. |
| service_id | Le numéro du service. |
| custom_data | Donné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ètre | Description |
|---|---|
| transaction_id | Votre identifiant unique pour cette transaction. |
| amount | Montant de la transaction. |
| state | Statut de la transaction. |
| message | Instructions 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ètre | Description |
|---|---|
| error | Explication de l'échec. |
| state | Statut de la transaction. |
| hash | Hash pour vérifier l'authenticité. |
| provider_id | Identifiant 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ètre | Description |
|---|---|
| amount | 1000 |
| api_key | xxxxxxxxxxxxxxxxx |
| destination | 0000000000 |
| ipn_url | https://your_ipn_url.com |
| service_id | à remplacer par le service_id fourni |
| custom_data | your_custom_data |
Description des champs
| Paramètre | Description |
|---|---|
| amount | Montant de la transaction. |
| api_key | Votre clé d'API unique. |
| destination | Numéro de téléphone du destinataire. |
| ipn_url | URL de notification. |
| service_id | Le numéro du service. |
| custom_data | Donné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ètre | Description |
|---|---|
| transaction_id | Votre identifiant unique pour cette transaction. |
| amount | Montant de la transaction. |
| state | Statut de la transaction. |
| message | Instructions 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ètre | Description |
|---|---|
| error | Explication de l'échec. |
| state | Statut de la transaction. |
| hash | Hash pour vérifier l'authenticité. |
| provider_id | Identifiant 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ètre | Description |
|---|---|
| amount | 1000 |
| api_key | xxxxxxxxxxxxxxxxx |
| destination | 0000000000 |
| ipn_url | https://your_ipn_url.com |
| service_id | à remplacer par le service_id fourni |
| custom_data | your_custom_data |
Description des champs
| Paramètre | Description |
|---|---|
| amount | Montant de la transaction. |
| api_key | Votre clé d'API unique. |
| destination | Numéro de téléphone du destinataire. |
| ipn_url | URL de notification. |
| service_id | Le numéro du service. |
| custom_data | Donné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ètre | Description |
|---|---|
| transaction_id | Votre identifiant unique pour cette transaction. |
| amount | Montant de la transaction. |
| state | Statut de la transaction. |
| message | Instructions 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ètre | Description |
|---|---|
| error | Explication de l'échec. |
| state | Statut de la transaction. |
| hash | Hash pour vérifier l'authenticité. |
| provider_id | Identifiant 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ètre | Description |
|---|---|
| amount | 1000 |
| api_key | xxxxxxxxxxxxxxxxx |
| destination | 0000000000 |
| ipn_url | https://your_ipn_url.com |
| service_id | à remplacer par le service_id fourni |
| custom_data | your_custom_data |
Description des champs
| Paramètre | Description |
|---|---|
| amount | Montant de la transaction. |
| api_key | Votre clé d'API unique. |
| destination | Numéro de téléphone du destinataire. |
| ipn_url | URL de notification. |
| service_id | Le numéro du service. |
| custom_data | Donné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ètre | Description |
|---|---|
| transaction_id | Votre identifiant unique pour cette transaction. |
| amount | Montant de la transaction. |
| state | Statut de la transaction. |
| message | Instructions 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ètre | Description |
|---|---|
| error | Explication de l'échec. |
| state | Statut de la transaction. |
| hash | Hash pour vérifier l'authenticité. |
| provider_id | Identifiant 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ètre | Description |
|---|---|
| amount | 1000 |
| api_key | xxxxxxxxxxxxxxxxx |
| destination | 0000000000 |
| ipn_url | https://your_ipn_url.com |
| service_id | à remplacer par le service_id fourni |
| custom_data | your_custom_data |
Description des champs
| Paramètre | Description |
|---|---|
| amount | Montant de la transaction. |
| api_key | Votre clé d'API unique. |
| destination | Numéro de téléphone du destinataire. |
| ipn_url | URL de notification. |
| service_id | Le numéro du service. |
| custom_data | Donné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ètre | Description |
|---|---|
| transaction_id | Votre identifiant unique pour cette transaction. |
| amount | Montant de la transaction. |
| state | Statut de la transaction. |
| message | Instructions 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ètre | Description |
|---|---|
| error | Explication de l'échec. |
| state | Statut de la transaction. |
| hash | Hash pour vérifier l'authenticité. |
| provider_id | Identifiant 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ètre | Description |
|---|---|
| amount | 1000 |
| api_key | xxxxxxxxxxxxxxxxx |
| destination | 0000000000 |
| ipn_url | https://your_ipn_url.com |
| service_id | à remplacer par le service_id fourni |
| custom_data | your_custom_data |
Description des champs
| Paramètre | Description |
|---|---|
| amount | Montant de la transaction. |
| api_key | Votre clé d'API unique. |
| destination | Numéro de téléphone du destinataire. |
| ipn_url | URL de notification. |
| service_id | Le numéro du service. |
| custom_data | Donné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ètre | Description |
|---|---|
| transaction_id | Votre identifiant unique pour cette transaction. |
| amount | Montant de la transaction. |
| state | Statut de la transaction. |
| message | Instructions 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ètre | Description |
|---|---|
| error | Explication de l'échec. |
| state | Statut de la transaction. |
| hash | Hash pour vérifier l'authenticité. |
| provider_id | Identifiant 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ètre | Description |
|---|---|
| amount | 1000 |
| api_key | xxxxxxxxxxxxxxxxx |
| destination | 0000000000 |
| ipn_url | https://your_ipn_url.com |
| service_id | à remplacer par le service_id fourni |
| custom_data | your_custom_data |
Description des champs
| Paramètre | Description |
|---|---|
| amount | Montant de la transaction. |
| api_key | Votre clé d'API unique. |
| destination | Numéro de téléphone du destinataire. |
| ipn_url | URL de notification. |
| service_id | Le numéro du service. |
| custom_data | Donné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ètre | Description |
|---|---|
| transaction_id | Votre identifiant unique pour cette transaction. |
| amount | Montant de la transaction. |
| state | Statut de la transaction. |
| message | Instructions 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ètre | Description |
|---|---|
| error | Explication de l'échec. |
| state | Statut de la transaction. |
| hash | Hash pour vérifier l'authenticité. |
| provider_id | Identifiant 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ètre | Description |
|---|---|
| amount | 1000 |
| api_key | xxxxxxxxxxxxxxxxx |
| destination | 0000000000 |
| ipn_url | https://your_ipn_url.com |
| service_id | à remplacer par le service_id fourni |
| custom_data | your_custom_data |
Description des champs
| Paramètre | Description |
|---|---|
| amount | Montant de la transaction. |
| api_key | Votre clé d'API unique. |
| destination | Numéro de téléphone du destinataire. |
| ipn_url | URL de notification. |
| service_id | Le numéro du service. |
| custom_data | Donné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ètre | Description |
|---|---|
| transaction_id | Votre identifiant unique pour cette transaction. |
| amount | Montant de la transaction. |
| state | Statut de la transaction. |
| message | Instructions 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ètre | Description |
|---|---|
| error | Explication de l'échec. |
| state | Statut de la transaction. |
| hash | Hash pour vérifier l'authenticité. |
| provider_id | Identifiant 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ètre | Description |
|---|---|
| amount | 1000 |
| api_key | xxxxxxxxxxxxxxxxx |
| destination | 0000000000 |
| ipn_url | https://your_ipn_url.com |
| service_id | à remplacer par le service_id fourni |
| custom_data | your_custom_data |
Description des champs
| Paramètre | Description |
|---|---|
| amount | Montant de la transaction. |
| api_key | Votre clé d'API unique. |
| destination | Numéro de téléphone du destinataire. |
| ipn_url | URL de notification. |
| service_id | Le numéro du service. |
| custom_data | Donné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ètre | Description |
|---|---|
| transaction_id | Votre identifiant unique pour cette transaction. |
| amount | Montant de la transaction. |
| state | Statut de la transaction. |
| message | Instructions 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ètre | Description |
|---|---|
| error | Explication de l'échec. |
| state | Statut de la transaction. |
| hash | Hash pour vérifier l'authenticité. |
| provider_id | Identifiant de l'opération. |
Endpoint : Génération de Lien de Paiement
Cet endpoint vous permet de créer un lien de paiement unique que vous pouvez partager avec vos clients.
Authentification
L'authentification se fait via une clé API fournie dans l'en-tête : Authorization: Bearer VOTRE_CLÉ_API.
Type de requête : POST
URL d’appel : https://paylink.pixelinnov.net/api/create-link
Paramètres du Corps de la Requête (Body)
| Paramètre | Description |
|---|---|
| type | Définit le type de lien : `0` pour un montant fixe (utilise `amount`), `1` pour un montant variable (utilise `amount_min` et `amount_max`). |
| amount | Montant de la transaction. |
| amount_min | Montant minimum . |
| amount_max | Montant maximum . |
| description | Description de l'achat ou du service. |
| services | Tableau d'objets définissant les pays et opérateurs autorisés. |
| callback_url | URL où rediriger le client après le paiement. |
| customer_name | Nom complet du client. |
| customer_email | Adresse email du client. |
| allow_comment | Autoriser le client à laisser un commentaire (true/false). |
| comment_titles | Titres pour les champs de commentaire (tableau de chaînes). |
| expired_at | Date et heure d'expiration du lien (format YYYY-MM-DD HH:MM:SS). |
Précisions sur les paramètres
Gestion des montants avec le champ `type`
- `type: 0` (Montant Fixe) : Pour un paiement unique. Le champ `amount` est alors obligatoire.
- `type: 1` (Montant Variable) : Pour permettre au client de choisir un montant. Les champs `amount_min` et `amount_max` sont alors obligatoires.
Format de la date `expired_at`
Le format de date attendu est YYYY-MM-DD HH:MM:SS. Si ce champ est omis, le lien n'expirera pas.
L'objet `services`
Ce tableau définit les options de paiement à proposer au client.
| Paramètre | Description |
|---|---|
| countryCode | Code du pays sur 2 caractères (ISO 3166-1 alpha-2). |
| operatorNames | Tableau de noms d'opérateurs pour restreindre le choix. |
Exemple Complet : Options Avancées
{
"type": 0,
"amount": 5,
"description": "Achat crédit téléphonique",
"customer_name": "eudes",
"callback_url": "https://votresite.com/confirmation",
"expired_at": "2025-09-15T23:59:59Z",
"allow_comment": true,
"comment_titles": ["Numéro client", "Référence"],
"services": [
{
"countryCode": "CI",
"operatorNames": ["Orange", "Wave"]
},
{
"countryCode": "SN",
"operatorNames": ["Wave"]
}
]
}Clarification sur l'OTP
Le paramètre `om_otp` n'est pas utilisé lors de la création du lien de paiement. La validation par OTP, si nécessaire, se fait par le client final sur la page de paiement générée par le lien.
Exemple de Réponse (Succès)
Si la requête est valide, l'API retourne une réponse avec le statut et le lien de paiement généré.
{
"data": {
"id": 424,
"p_id": 93,
"customer_name": "Confort_XAFf",
"token": "************************************************************",
"link": "pay.paylink.sn/payment/v1/************************************************************",
"type": "0",
"amount": 200,
"amount_min": 0,
"amount_max": 0,
"created_at": "2025-09-10T08:36:38.000+00:00",
"expired_at": null,
"updated_at": "2025-09-10T08:36:38.000+00:00",
"is_active": 1
},
"message": "link is generated success ...",
"statut_code": 200
}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ètre | Description |
|---|---|
| destination | Numéro de téléphone du destinataire. |
| amount | Montant de la transaction. |
| country_code | Code ISO du pays (ex: 'CI', 'SN', 'ML', 'BF', 'BJ', 'GC', 'TG', 'CM'). |
| operator_name | Nom de l'opérateur en minuscules (ex: 'orange', 'wave'). |
| recipient_name | Nom 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 ?
- Concaténation:
cléAPI + transaction_id - Hachage: Appliquez l’algorithme
SHA256. - 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
Clé API invalide ou non reconnue. Le partenaire n'existe pas ou a été mal identifié.
Le partenaire n’a pas accès à ce service car le service_id ne lui est pas attribué.
Aucune clé API transmise ou clé invalide. Accès refusé à la ressource demandée.
Le compte du partenaire est blacklisté et n’est plus autorisé à utiliser l’API.
La clé d’administration envoyée n’est pas valide ou ne figure pas dans le registre.
L’API ou la ressource demandée n’est pas enregistrée pour ce partenaire.
Le partenaire tente d'interroger un service qui ne lui est pas autorisé.
Une erreur interne est survenue pendant le traitement de la transaction.
Moyens de paiement
| Pays | Moyen de paiement | Description | Devise | Statut |
|---|---|---|---|---|
| Côte d'Ivoire | OM | Orange Money CI | XOF | OK |
| MOMO | MTN Mobile Money CI | |||
| FLOOZ | Moov Money CI | |||
| WAVE | WAVE CI | |||
| VISAM | VISA/MasterCard | |||
| Sénégal | WAVE | WAVE SN | XOF | OK |
| OM | Orange Money SN | |||
| FREE | Free Money SN | |||
| VISAM | VISA/MasterCard | |||
| Mali | OM | Orange Money Mali | XOF | OK |
| FLOOZ | Moov Money Mali | |||
| VISAM | VISA/MasterCard | |||
| Burkina Faso | OM | Orange Money Burkina | XOF | OK |
| FLOOZ | Moov Money Burkina | |||
| VISAM | VISA/MasterCard | |||
| Bénin | MOMO | MTN Mobile Money Bénin | XOF | OK |
| FLOOZ | Moov Money Bénin | |||
| VISAM | VISA/MasterCard | |||
| Guinée Conakry | MOMO | MTN Mobile Money Guinée | GNF | OK |
| OM | Orange Money Guinée | |||
| Togo | TMONEY | Tmoney Togo | XOF | OK |
| FLOOZ | Moov Money Togo | |||
| VISAM | VISA/MasterCard | |||
| Cameroun | OM | Orange Money Cameroun | XAF | OK |
| FLOOZ | Moov Money Cameroun | |||
| VISAM | VISA/MasterCard |
Gammes de montants par pays
| Pays | Montant Min | Montant Max | Devise |
|---|---|---|---|
| Côte d'Ivoire | 200 | 1 500 000 | XOF |
| Sénégal | 200 | 200 000 (si compte plafonné) 2 000 000 (si compte déplafonné) | |
| Togo | 500 | 1 500 000 | |
| Bénin | 500 | 1 500 000 | |
| Mali | 500 | 1 500 000 | |
| Burkina Faso | 500 | 1 500 000 | |
| Cameroun (XOF) | 500 | 1 500 000 | |
| Cameroun (XAF) | 500 | 1 500 000 | XAF |
| Guinée | 1 000 | 15 000 000 | GNF |
Codes USSD par pays/opérateur
| Pays | Opérateur | Syntaxe | Note |
|---|---|---|---|
| Côte d'Ivoire | Orange 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 CI | NON | Confirmation par code secret après réception du SMS push | |
| Wave CI | NON | Confirmation par QR Code | |
| Sénégal | Orange Money SN | #144#391# | Paiement par code OTP |
| EXPRESSOSN | *444*3*3# | À composer après réception du SMS de débit | |
| FreeSn | NON | Confirmation par code secret après réception du SMS push | |
| Wave SN | NON | Confirmation par QR Code | |
| Mali | Orange Money ML | #144#77# | Paiement par code OTP |
| Moov Money ML | NON | Confirmation par code secret après réception du SMS push | |
| Togo | Tmoney TG | NON | Confirmation par code secret après réception du SMS push |
| Flooz TG | NON | Confirmation par code secret après réception du SMS push | |
| Benin | Moov BJ | *855*7*8# | Confirmation par code secret après réception du SMS push |
| MTN BJ | NON | Confirmation par code secret après réception du SMS push | |
| Burkina Faso | Orange 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 | |
| Cameroun | Orange Money CM | #150*50# | Confirmation par code secret après réception du SMS push |
| Express union CM | NON | Confirmation depuis l'application | |
| Mtn Money CM | *126# | Confirmation par code secret après réception du SMS push | |
| RD Congo | Orange Money CD | NON | Confirmation par code secret après réception du SMS push |
| M PESA CD | NON | Confirmation par code secret après réception du SMS push | |
| Airtel Money CD | NON | Confirmation par code secret après réception du SMS push | |
| Guinée | Orange Money ML | #144#, Choix option 4 et l'option 2 | Paiement par code OTP |
| MTN GN | NON | Confirmation par code secret après réception du SMS push |