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 l’API Pixpay dans votre environnement technique se déroule en 6 étapes :
- Création du compte partenaire : le partenaire transmet une adresse e-mail valide afin de permettre la création de son compte.
- Configuration des comptes par devise : les comptes sont créés en fonction des devises souhaitées par le partenaire (ex. : XOF, XAF, CDF, etc.).
- Envoi des accès : une fois les comptes créés, le partenaire reçoit par e-mail sa clé API (commençant par PIX_), ses identifiants d’accès au dashboard et la documentation technique nécessaire à l’intégration.
- Intégration de l’API : le partenaire intègre l’API dans son site web ou son application mobile via les endpoints fournis, afin d’établir la communication avec notre système.
- Phase de tests : le partenaire effectue les tests pour vérifier le bon fonctionnement des requêtes API, valider les flux de paiement et s’assurer de la conformité de l’intégration avant la mise en production.
- Mise en production : une fois les tests validés, les accès de production sont activés pour permettre l’utilisation réelle du service.
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 |
| custom_data | your_custom_data |
| redirect_url | your_redirect_url |
| redirect_error_url | your_redirect_error_url |
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. |
| redirect_url | URL de redirection (succès). |
| redirect_error_url | URL de redirection (échec). |
Exemple de corps de requête :
{
amount: 2000,
destination: "xxxxxxxxxx",
api_key: "PIX_***",
ipn_url: "https://your_ipn_link",
service_id: 1,
custom_data: "your_custom_data"
redirect_url:'url de redirection après paiement réussi',
redirect_error_url:'url de redirection en cas d'erreur de paiement',
}Réponse immédiate :
Une fois la requête reçue, nous retournons une première réponse.
Pas d'OTP — validation par lien SMS
Pour Orange Money Côte d'Ivoire, il n'y a plus de code OTP à saisir. À la place, un lien de validation est retourné dans le champ sms_link de la 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. |
| redirect_url | URL de redirection (succès). |
| sms_link | Lien envoyé par SMS au client pour valider le paiement (remplace l'OTP pour Orange CI). |
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 |
| redirect_url | your_redirect_url |
| redirect_error_url | your_redirect_error_url |
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. |
| redirect_url | URL de redirection (succès). |
| redirect_error_url | URL de redirection (échec). |
Exemple de corps de requête :
{
amount: 2000,
destination: "xxxxxxxxxx",
api_key: "PIX_***",
ipn_url: "https://your_ipn_link",
service_id: 1,
custom_data: "your_custom_data"
redirect_url:'url de redirection après paiement réussi',
redirect_error_url:'url de redirection en cas d'erreur de paiement',
}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 |
| redirect_url | your_redirect_url |
| redirect_error_url | your_redirect_error_url |
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. |
| redirect_url | URL de redirection (succès). |
| redirect_error_url | URL de redirection (échec). |
Exemple de corps de requête :
{
amount: 2000,
destination: "xxxxxxxxxx",
api_key: "PIX_***",
ipn_url: "https://your_ipn_link",
service_id: 1,
custom_data: "your_custom_data"
redirect_url:'url de redirection après paiement réussi',
redirect_error_url:'url de redirection en cas d'erreur de paiement',
}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: 2000,
destination: "xxxxxxxxxx",
api_key: "PIX_***",
ipn_url: "https://your_ipn_link",
service_id: 1,
custom_data: "your_custom_data"
redirect_url:'url de redirection après paiement réussi',
redirect_error_url:'url de redirection en cas d'erreur de paiement',
}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: 2000,
destination: "xxxxxxxxxx",
api_key: "PIX_***",
ipn_url: "https://your_ipn_link",
service_id: 1,
custom_data: "your_custom_data"
redirect_url:'url de redirection après paiement réussi',
redirect_error_url:'url de redirection en cas d'erreur de paiement',
}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 |
| redirect_url | your_redirect_url |
| redirect_error_url | your_redirect_error_url |
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. |
| redirect_url | URL de redirection (succès). |
| redirect_error_url | URL de redirection (échec). |
Exemple de corps de requête :
{
amount: 2000,
destination: "xxxxxxxxxx",
api_key: "PIX_***",
ipn_url: "https://your_ipn_link",
service_id: 1,
custom_data: "your_custom_data"
redirect_url:'url de redirection après paiement réussi',
redirect_error_url:'url de redirection en cas d'erreur de paiement',
}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. |
Mix 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 |
| redirect_url | your_redirect_url |
| redirect_error_url | your_redirect_error_url |
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. |
| redirect_url | URL de redirection (succès). |
| redirect_error_url | URL de redirection (échec). |
Exemple de corps de requête :
{
amount: 2000,
destination: "xxxxxxxxxx",
api_key: "PIX_***",
ipn_url: "https://your_ipn_link",
service_id: 1,
custom_data: "your_custom_data"
redirect_url:'url de redirection après paiement réussi',
redirect_error_url:'url de redirection en cas d'erreur de paiement',
}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 |
| redirect_url | your_redirect_url |
| redirect_error_url | your_redirect_error_url |
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. |
| redirect_url | URL de redirection (succès). |
| redirect_error_url | URL de redirection (échec). |
Exemple de corps de requête :
{
amount: 2000,
destination: "xxxxxxxxxx",
api_key: "PIX_***",
ipn_url: "https://your_ipn_link",
service_id: 1,
custom_data: "your_custom_data"
redirect_url:'url de redirection après paiement réussi',
redirect_error_url:'url de redirection en cas d'erreur de paiement',
}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 |
| om_otp | 1234 |
| custom_data | your_custom_data |
| redirect_url | your_redirect_url |
| redirect_error_url | your_redirect_error_url |
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. |
| redirect_url | URL de redirection (succès). |
| redirect_error_url | URL de redirection (échec). |
Exemple de corps de requête :
{
amount: 2000,
destination: "xxxxxxxxxx",
api_key: "PIX_***",
ipn_url: "https://your_ipn_link",
service_id: 1,
custom_data: "your_custom_data"
redirect_url:'url de redirection après paiement réussi',
redirect_error_url:'url de redirection en cas d'erreur de paiement',
}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 |
| redirect_url | your_redirect_url |
| redirect_error_url | your_redirect_error_url |
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. |
| redirect_url | URL de redirection (succès). |
| redirect_error_url | URL de redirection (échec). |
Exemple de corps de requête :
{
amount: 2000,
destination: "xxxxxxxxxx",
api_key: "PIX_***",
ipn_url: "https://your_ipn_link",
service_id: 1,
custom_data: "your_custom_data"
redirect_url:'url de redirection après paiement réussi',
redirect_error_url:'url de redirection en cas d'erreur de paiement',
}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 |
| redirect_url | your_redirect_url |
| redirect_error_url | your_redirect_error_url |
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. |
| redirect_url | URL de redirection (succès). |
| redirect_error_url | URL de redirection (échec). |
Exemple de corps de requête :
{
amount: 2000,
destination: "xxxxxxxxxx",
api_key: "PIX_***",
ipn_url: "https://your_ipn_link",
service_id: 1,
custom_data: "your_custom_data"
redirect_url:'url de redirection après paiement réussi',
redirect_error_url:'url de redirection en cas d'erreur de paiement',
}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 |
| redirect_url | your_redirect_url |
| redirect_error_url | your_redirect_error_url |
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. |
| redirect_url | URL de redirection (succès). |
| redirect_error_url | URL de redirection (échec). |
Exemple de corps de requête :
{
amount: 2000,
destination: "xxxxxxxxxx",
api_key: "PIX_***",
ipn_url: "https://your_ipn_link",
service_id: 1,
custom_data: "your_custom_data"
redirect_url:'url de redirection après paiement réussi',
redirect_error_url:'url de redirection en cas d'erreur de paiement',
}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. |
mpesa
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 |
| redirect_url | your_redirect_url |
| redirect_error_url | your_redirect_error_url |
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. |
| redirect_url | URL de redirection (succès). |
| redirect_error_url | URL de redirection (échec). |
Exemple de corps de requête :
{
amount: 2000,
destination: "xxxxxxxxxx",
api_key: "PIX_***",
ipn_url: "https://your_ipn_link",
service_id: 1,
custom_data: "your_custom_data"
redirect_url:'url de redirection après paiement réussi',
redirect_error_url:'url de redirection en cas d'erreur de paiement',
}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. |
Airtel
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 |
| redirect_url | your_redirect_url |
| redirect_error_url | your_redirect_error_url |
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. |
| redirect_url | URL de redirection (succès). |
| redirect_error_url | URL de redirection (échec). |
Exemple de corps de requête :
{
amount: 2000,
destination: "xxxxxxxxxx",
api_key: "PIX_***",
ipn_url: "https://your_ipn_link",
service_id: 1,
custom_data: "your_custom_data"
redirect_url:'url de redirection après paiement réussi',
redirect_error_url:'url de redirection en cas d'erreur de paiement',
}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
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 |
| redirect_url | your_redirect_url |
| redirect_error_url | your_redirect_error_url |
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. |
| redirect_url | URL de redirection (succès). |
| redirect_error_url | URL de redirection (échec). |
Exemple de corps de requête :
{
amount: 2000,
destination: "xxxxxxxxxx",
api_key: "PIX_***",
ipn_url: "https://your_ipn_link",
service_id: 1,
custom_data: "your_custom_data"
redirect_url:'url de redirection après paiement réussi',
redirect_error_url:'url de redirection en cas d'erreur de paiement',
}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. |
AfriMoney
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 |
| redirect_url | your_redirect_url |
| redirect_error_url | your_redirect_error_url |
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. |
| redirect_url | URL de redirection (succès). |
| redirect_error_url | URL de redirection (échec). |
Exemple de corps de requête :
{
amount: 2000,
destination: "xxxxxxxxxx",
api_key: "PIX_***",
ipn_url: "https://your_ipn_link",
service_id: 1,
custom_data: "your_custom_data"
redirect_url:'url de redirection après paiement réussi',
redirect_error_url:'url de redirection en cas d'erreur de paiement',
}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
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 |
| redirect_url | your_redirect_url |
| redirect_error_url | your_redirect_error_url |
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. |
| redirect_url | URL de redirection (succès). |
| redirect_error_url | URL de redirection (échec). |
Exemple de corps de requête :
{
amount: 2000,
destination: "xxxxxxxxxx",
api_key: "PIX_***",
ipn_url: "https://your_ipn_link",
service_id: 1,
custom_data: "your_custom_data"
redirect_url:'url de redirection après paiement réussi',
redirect_error_url:'url de redirection en cas d'erreur de paiement',
}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. |
Airtel
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 |
| redirect_url | your_redirect_url |
| redirect_error_url | your_redirect_error_url |
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. |
| redirect_url | URL de redirection (succès). |
| redirect_error_url | URL de redirection (échec). |
Exemple de corps de requête :
{
amount: 2000,
destination: "xxxxxxxxxx",
api_key: "PIX_***",
ipn_url: "https://your_ipn_link",
service_id: 1,
custom_data: "your_custom_data"
redirect_url:'url de redirection après paiement réussi',
redirect_error_url:'url de redirection en cas d'erreur de paiement',
}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. |
Qmoney
Processus en deux étapes
Ce moyen de paiement est un cas particulier nécessitant une validation en deux temps : l'initiation de la transaction puis sa confirmation par code OTP.
Étape 1 : Initiation de la transaction
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 |
| redirect_url | your_redirect_url |
| redirect_error_url | your_redirect_error_url |
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. |
| redirect_url | URL de redirection (succès). |
| redirect_error_url | URL de redirection (échec). |
Exemple de corps de requête :
{
amount: 2000,
destination: "xxxxxxxxxx",
api_key: "PIX_***",
ipn_url: "https://your_ipn_link",
service_id: 1,
custom_data: "your_custom_data"
redirect_url:'url de redirection après paiement réussi',
redirect_error_url:'url de redirection en cas d'erreur de paiement',
}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. |
Étape 2 : Confirmation de la transaction
Type de requête : POST
URL d’appel : {{BASE_URL}}/confirm/cashout/qmoney
URL de Production :
https://proxy-coreapi.pixelinnov.net/api_v1/confirm/cashout/qmoney
| Paramètre | Description |
|---|---|
| transaction_id | PIX_xxxxx |
| otp | 123456 |
{
"transaction_id": "PIX_xxxxx",
"otp": "1234"
}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 |
| redirect_url | your_redirect_url |
| redirect_error_url | your_redirect_error_url |
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. |
| redirect_url | URL de redirection (succès). |
| redirect_error_url | URL de redirection (échec). |
Exemple de corps de requête :
{
amount: 2000,
destination: "xxxxxxxxxx",
api_key: "PIX_***",
ipn_url: "https://your_ipn_link",
service_id: 1,
custom_data: "your_custom_data"
redirect_url:'url de redirection après paiement réussi',
redirect_error_url:'url de redirection en cas d'erreur de paiement',
}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 |
| redirect_url | your_redirect_url |
| redirect_error_url | your_redirect_error_url |
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. |
| redirect_url | URL de redirection (succès). |
| redirect_error_url | URL de redirection (échec). |
Exemple de corps de requête :
{
amount: 2000,
destination: "xxxxxxxxxx",
api_key: "PIX_***",
ipn_url: "https://your_ipn_link",
service_id: 1,
custom_data: "your_custom_data"
redirect_url:'url de redirection après paiement réussi',
redirect_error_url:'url de redirection en cas d'erreur de paiement',
}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 |
| redirect_url | your_redirect_url |
| redirect_error_url | your_redirect_error_url |
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. |
| redirect_url | URL de redirection (succès). |
| redirect_error_url | URL de redirection (échec). |
Exemple de corps de requête :
{
amount: 2000,
destination: "xxxxxxxxxx",
api_key: "PIX_***",
ipn_url: "https://your_ipn_link",
service_id: 1,
custom_data: "your_custom_data"
redirect_url:'url de redirection après paiement réussi',
redirect_error_url:'url de redirection en cas d'erreur de paiement',
}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 |
| redirect_url | your_redirect_url |
| redirect_error_url | your_redirect_error_url |
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. |
| redirect_url | URL de redirection (succès). |
| redirect_error_url | URL de redirection (échec). |
Exemple de corps de requête :
{
amount: 2000,
destination: "xxxxxxxxxx",
api_key: "PIX_***",
ipn_url: "https://your_ipn_link",
service_id: 1,
custom_data: "your_custom_data"
redirect_url:'url de redirection après paiement réussi',
redirect_error_url:'url de redirection en cas d'erreur de paiement',
}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 |
| redirect_url | your_redirect_url |
| redirect_error_url | your_redirect_error_url |
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. |
| redirect_url | URL de redirection (succès). |
| redirect_error_url | URL de redirection (échec). |
Exemple de corps de requête :
{
amount: 2000,
destination: "xxxxxxxxxx",
api_key: "PIX_***",
ipn_url: "https://your_ipn_link",
service_id: 1,
custom_data: "your_custom_data"
redirect_url:'url de redirection après paiement réussi',
redirect_error_url:'url de redirection en cas d'erreur de paiement',
}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). |
Gestion des montants (`type`)
- `type: 0` (Fixe) : Champ `amount` obligatoire.
- `type: 1` (Variable) : Champs `amount_min` et `amount_max` obligatoires.
Format de date
Le format attendu pour expired_at est YYYY-MM-DD HH:MM:SS.
Sans valeur, le lien reste permanent.
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"]
}
]
}Processus de validation du paiement
Une URL de paiement est générée après l'initialisation de la transaction. Le client final est redirigé vers cette page sécurisée afin de finaliser le paiement. Aucun code OTP n'est désormais requis dans la requête API.
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
}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*Montant*PIN# | 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 |