API de transfert Standard


Paramètre API Token

Toute requête vers l'API WiniPayer doit contenir les tokens d'authentification du compte marchand dans le Header de la requête. Les Tokens de l'API sont disponibles sur la page de detail de chaque compte marchand dans votre Manager.

Paramètres Headers Obligatoire Exemple
X-Merchant-Apply Oui 5NqZlFTbi12YsSWbGbg6
X-Merchant-Token Oui 828219b9-a457-4b06-9645-35dc46687330

{info} NB : Les transferts sont disponibles uniquement en environnement PROD

Générer une liste de transfert

Pour générer une liste de transfert vous aurez besoin des éléments suivants :

1 - Endpoint API Standard

Pour générer une liste de transfert standard, vous devez effectuer une requête HTTP POST sur l'URL suivant :

https://api-v2.winipayer.com/payout/standard/create

2 - Paramètres Body de la requête

En plus des parametres Headers, vous devez utiliser en paramètres Body les clés suivantes:

Paramètres Body Type Obligatoire Exemple
env string Oui prod pour un transfert en PRODUCTION
operator string Oui wave-cote-divoire Liste des opérateurs ici
description string Non Virement salaire Juillet
custom_data json Non {"month":"july","amount":350000}
callback_url url Non https://tester.winipayer.com/callback
Lien a target si transfert terminé
recipients json Oui Liste des bénéficiaires. Exemple ci-dessous

Exemple de paramètre recipients

[
  {
    "name": "Kouassi Angela",
    "account": "0707971629",
    "amount": 120000
  },
  ...
]

Exemple de requête cURL

curl --location 'https://api-v2.winipayer.com/payout/standard/create' \
--header 'X-Merchant-Apply: 5NqZlFTbi12YsSWbGbg6' \
--header 'X-Merchant-Token: 828219b9-a457-4b06-9645-35dc46687330' \
--form 'env="prod"' \
--form 'operator="wave-cote-divoire"' \
--form 'description="Virement salaire JUIN"' \
--form 'custom_data="{\"code\":\"4b84a5e323d0\"}"' \
--form 'callback_url="https://tester.winipayer.com/callback"' \
--form 'recipients="[{\"name\":\"Kouakou Bernard\",\"account\":\"0765854523\",\"amount\":100}]"'

Exemple de réponse succès

{success} Si les paramètres sont valides vous devez obtenir une réponse au format JSON :

{
    "uuid": "c312601d-0944-54df-a467-783c5bc41bcb",
    "crypto": "payout_prod_a2c3729035e3d87655de471d27e130c1430afec95383b100dca20493afdd0d13bf9b1080b1b8e43d5cfe8bf5102eb11d97365323",
    "merchant": {
        "uuid": "af0169d8-fdb4-4df8-bf8e-6b16ab321379",
        "name": "WiniHost"
    },
    "env": "prod",
    "version": "v2",
    "operator": "wave-cote-divoire",
    "currency": "xof",
    "amount": 100,
    "commission_rate": 2,
    "commission_fee": 0,
    "commission_amount": 5,
    "amount_total": 105,
    "description": "Virement salaire JUIN",
    "recipients": [
        {
            "uuid": "795c866e-6448-49ad-a2cf-c7dad15ce5c1",
            "name": "Kouakou Bernard",
            "account": "+2250765854523",
            "amount": 100,
            "commission_amount": 5,
            "amount_total": 105,
            "operator_ref": null,
            "state": "waitting",
            "state_at": null
        }
    ],
    "custom_data": [],
    "callback_url": null,
    "ipn_call": null,
    "queue": 0,
    "finish": 1,
    "valide": true,
    "valide_at": "2024-07-05 18:57:21",
    "state": "success",
    "state_at": "2024-07-05 18:58:04",
    "created_at": "2024-07-05 18:56:52"
}

Exemple de réponse erreur

{
    "success": false,
    "results": [],
    "errors": {
        "code": 2000,
        "key": "operator",
        "msg": "The operator field is required."
    },
    "messages": []
}

Vérifier les détails du transfert

Endpoint API de vérification

Pour obtenir les détails d'un lien de paiement, vous devez effectuer une requête HTTP POST sur l'URL suivant :

https://api-v2.winipayer.com/payout/standard/detail/:uuid


Attention !

:uuid remplacer cette clé par la valeur de la reference UUID de la facture :

Exemple : `https://api-v2.winipayer.com/checkout/invoice/detail/c312601d-0944-54df-a467-783c5bc41bcb

Paramètres Body

En plus des parametres Headers, vous devez utiliser en paramètres Body les clés suivantes:

Paramètres Body Type Obligatoire Exemple
env string Oui prod pour un paiement en PRODUCTION

Exemple de réponse succès

{
    "uuid": "c312601d-0944-44df-a467-783c5bc41bcb",
    "crypto": "payout_prod_a2c3729035e3d87755de471d27e130c1430afec97383b100dca20493afdd0d13bf9b1080b1b8e43d5cfe8bf5102eb11d97365323",
    "merchant": {
        "uuid": "af0169d8-fdb4-4df8-bf8e-6b16ab321379",
        "name": "WiniHost"
    },
    "env": "prod",
    "version": "v2",
    "operator": "wave-cote-divoire",
    "currency": "xof",
    "amount": 100,
    "commission_rate": 2,
    "commission_fee": 0,
    "commission_amount": 5,
    "amount_total": 105,
    "description": "Virement salaire JUIN",
    "recipients": [
        {
            "uuid": "795c866e-6448-49ad-a2cf-c7dad15ce5c1",
            "name": "Kouakou Bernard",
            "account": "+2250765854523",
            "amount": 100,
            "commission_amount": 5,
            "amount_total": 105,
            "operator_ref": null,
            "state": "waitting",
            "state_at": null
        }
    ],
    "custom_data": [],
    "callback_url": null,
    "ipn_call": null,
    "queue": 0,
    "finish": 1,
    "valide": true,
    "valide_at": "2024-07-05 18:57:21",
    "state": "success",
    "state_at": "2024-07-05 18:58:04",
    "created_at": "2024-07-05 18:56:52"
}