Services

API de transfert

introduction


Prérequis

Pour utiliser notre API, vous devrez :

1. Créer un compte

Visitez notre site Web et créez un compte.

2. Obtenir la clé API

Après vous être connecté, vous pourrez depuis votre tableau de bord obtenir votre PUBLIC_KEY et SECRET_KEY.


Calculer la commission du transfert

POST Copie

Calculer la commission de transfert.

Paramètres

Nom Taper Description
amount numeric Obligatoire Le montant à transférer, doit être supérieur à 100.

Réponse

Media Type: application/json

{
    "status"     : 200,
    "errors"     : 0,
    "success"    : 1,
    "msg"        : 0,
    "amount"     : 1040
}
Nom Taper Description
amount numeric Le montant total après commission calculée.
status numeric L'état HTTP de la réponse.
errors numeric Indiquera si des erreurs se sont produites, 0 pour faux et 1 pour vrai.
seccess numeric Indique si la requête a réussi, 0 pour faux et 1 pour vrai.
msg string Contiendra le message d'erreur dans le cas où errors est à 1 et success à 0.

Exemples

Veuillez considérer les exemples ci-dessous pour savoir comment interagir avec notre API.

<?php
$cURL = curl_init();

curl_setopt($cURL, CURLOPT_URL, "https://dev.transfer.slick-pay.com/api/user/transfer/commission");
curl_setopt($cURL, CURLOPT_POSTFIELDS, [
    'amount' => 1000,
]);
curl_setopt($cURL, CURLOPT_HTTPHEADER, array(
    "Accept: application/json",
    "Content-Type: application/json",
    "Authorization: Bearer {$YOUR_PUBLIC_KEY}",
));
curl_setopt($cURL, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
curl_setopt($cURL, CURLOPT_CONNECTTIMEOUT, 3);
curl_setopt($cURL, CURLOPT_TIMEOUT, 20);

$result = curl_exec($cURL);

curl_close($cURL);

var_dump(json_decode($result, true));
?>
const axios = require("axios");

axios.post("https://dev.transfer.slick-pay.com/api/user/transfer/commission", {
        'amount' : 1000,
    }, {
        headers: {
            'Content-Type': 'application/json',
            'Authorization': `Bearer ${YOUR_PUBLIC_KEY}`
        }
    })
    .then((result) => {
        let response = result.data;

        console.log(response);
    }).catch((error) => {
        console.log(error);
    });
import requests
import json

def commission():
    data = {
        'amount' : 1000,
    }
    headers = {
        "Content-Type": "application/json",
        "Authorization": "Bearer".YOUR_PUBLIC_KEY,
    }

    response = requests.get("https://transfer.slick-pay.com/api/user/transfer/commission", headers=headers)
    return json.loads(response.content)

Créer un paiement

POST Copie

Initier un nouveau paiement.

Paramètres

Nom Taper Description
amount numeric Obligatoire Le montant à transférer, doit être supérieur à 100.
returnUrl string L'URL de rappel une fois le processus de paiement terminé.
type string Obligatoire Le type de destinataire utilisé pour recevoir le montant peut être 'internal' pour les comptes bancaires des utilisateurs ou 'external' pour les destinataires externes.
transfer_id numeric Vous pouvez actualiser un transfert échoué précédent avec son ID.
receiver_uuid string L'UUID du compte du destinataire.
Envoyez un receiver_uuid ou créez un nouveau compte destinataire à la volée, les champs ci-dessous seront obligatoires lorsqu'aucun receiver_uuid n'est envoyé :
rib numeric L'ID de compte de la personne qui recevra le montant sera requis lorsqu'aucun receiver_uuid n'est envoyé.
fname string Le prénom du destinataire du transfert.
lname string Le nom de famille du destinataire du transfert.
email string L'adresse e-mail du destinataire du transfert, requise lorsqu'aucun receiver_uuid n'est envoyé et que le type est 'external'.
phone string Le numéro de téléphone du destinataire du transfert, requis lorsqu'aucun receiver_uuid n'est envoyé et que le type est 'external'.
address string L'adresse physique du destinataire du transfert.

Réponse

Media Type: application/json

{
    "transfer_id": 1,
    "url"        : "https://cib.satim.dz/payment/merchants/SATIM/payment_fr.html?mdOrder=ORDER_ID",
    "status"     : 200,
    "errors"     : 0,
    "success"    : 1,
    "msg"        : 0
}
Nom Taper Description
transfer_id numeric L'identifiant du nouveau transfert créé.
url string L'URL que vous redirigerez le client pour terminer le processus de paiement.
status numeric L'état HTTP de la réponse.
errors numeric Indiquera si des erreurs se sont produites, 0 pour faux et 1 pour vrai.
seccess numeric Indique si la requête a réussi, 0 pour faux et 1 pour vrai.
msg string Contiendra le message d'erreur dans le cas où errors est à 1 et success à 0.

Exemples

Veuillez considérer les exemples ci-dessous pour savoir comment interagir avec notre API.

<?php
$cURL = curl_init();

curl_setopt($cURL, CURLOPT_URL, "https://dev.transfer.slick-pay.com/api/user/transfer");
curl_setopt($cURL, CURLOPT_POSTFIELDS, [
    'amount'    => 1000,
    'type'      => "internal",
    'rib'       => "01234567890123456789",
    'fname'     => "Jhon",
    'lname'     => "Doe",
    'address'   => "Jhon Doe Address",
    'returnUrl' =>  "https://my-website.com/thank-you-page",
]);
curl_setopt($cURL, CURLOPT_HTTPHEADER, array(
    "Accept: application/json",
    "Content-Type: application/json",
    "Authorization: Bearer {$YOUR_PUBLIC_KEY}",
));
curl_setopt($cURL, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
curl_setopt($cURL, CURLOPT_CONNECTTIMEOUT, 3);
curl_setopt($cURL, CURLOPT_TIMEOUT, 20);

$result = curl_exec($cURL);

curl_close($cURL);

var_dump(json_decode($result, true));
?>
const axios = require("axios");

axios.post("https://dev.transfer.slick-pay.com/api/user/transfer", {
        'amount'       : 1000,
        'rib'          : "01234567890123456789",
        'receiver_uuid': "37990d08-fc51-4c32-ad40-1552d13c00d1",
        'returnUrl'    : "https://my-website.com/thank-you-page",
    }, {
        headers: {
            'Content-Type': 'application/json',
            'Authorization': `Bearer ${YOUR_PUBLIC_KEY}`
        }
    })
    .then((result) => {
        let response = result.data;

        console.log(response);
    }).catch((error) => {
        console.log(error);
    });
import requests
import json

def transfer():
    data = {
        'amount'       : 1000,
        'rib'          : "01234567890123456789",
        'receiver_uuid': "37990d08-fc51-4c32-ad40-1552d13c00d1",
        'returnUrl'    : "https://my-website.com/thank-you-page",
    }
    headers = {
        "Content-Type": "application/json",
        "Authorization": "Bearer".YOUR_PUBLIC_KEY,
    }

    response = requests.post("https://dev.transfer.slick-pay.com/api/user/transfer",headers=headers, json=data)

    return json.loads(response.content)

Vérifier l'état du paiement

GET Copie

Après avoir créé un paiement, vous devrez peut-être vérifier l'état de ce paiement.

Paramètres

Nom Taper Description
transfer_id numeric Obligatoire L'identifiant du virement.

Réponse

Media Type: application/json

{
    "errors"       : 0,
    "success"      : 1,
    "date"         : "2022-10-13 10:00:00",
    "amount"       : "1000.00",
    "orderId"      : "ORDER_ID",
    "orderNumber"  : "ORDER_NUMBER",
    "approvalCode" : "APPROVAL_CODE",
    "respCode_desc": "Your payment was accepted",
    "pdf"          : "https://aggregator.slick-pay.com/transfer/downloadPDFSatim/ORDER_ID",
    "msg"          : "Your payment was accepted"
}
Nom Taper Description
status numeric L'état HTTP de la réponse.
errors numeric Indiquera si des erreurs se sont produites, 0 pour faux et 1 pour vrai.
seccess numeric Indique si la requête a réussi, 0 pour faux et 1 pour vrai.
msg string Contiendra le message d'erreur dans le cas où errors est à 1 et success à 0.
date string The datetime when the transfer created.
amount numeric Le montant du transfert formaté.
orderId string Numéro de commande dans le portail de paiement. Unique dans la porte. Absent si l'enregistrement de la commande a échoué (l'erreur est décrite dans ErrorCode).
orderNumber numeric Numéro (identifiant) de la commande dans le système du marchand.
approvalCode string Code d'autorisation IPS. Le champ a une longueur fixe de six caractères, il peut contenir à la fois des chiffres et des lettres.

Exemples

Veuillez considérer les exemples ci-dessous pour savoir comment interagir avec notre API.

<?php
$cURL = curl_init();

curl_setopt($cURL, CURLOPT_URL, "https://transfer.slick-pay.com/api/user/transfer/{$transfer_id}");
curl_setopt($cURL, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
curl_setopt($cURL, CURLOPT_CONNECTTIMEOUT, 3);
curl_setopt($cURL, CURLOPT_HTTPHEADER, array(
    "Accept: application/json",
    "Content-Type: application/json",
    "Authorization: Bearer {$YOUR_PUBLIC_KEY}",
));
curl_setopt($cURL, CURLOPT_TIMEOUT, 20);

$result = curl_exec($cURL);

curl_close($cURL);

var_dump(json_decode($result, true));
?>
const axios = require("axios");

axios.get(`https://transfer.slick-pay.com/api/user/transfer/${transfer_id}`, {
        headers: {
            {
                'Content-Type': 'application/json',
                'Authorization': `Bearer ${YOUR_PUBLIC_KEY}`
            }
        }
    })
    .then((result) => {
        let response = result.data;

        console.log(response);
    }).catch((error) => {
        console.log(error);
    });
import requests
import json

def etat_verification():
    headers = {
        "Content-Type": "application/json",
        "Authorization": "Bearer".YOUR_PUBLIC_KEY,
    }

    response = requests.get("https://transfer.slick-pay.com/api/user/transfer/".transfer_id,headers=headers)
    return json.loads(response.content)

Historique des paiements

GET Copie

Vous avez la possibilité de charger tous les historiques de paiement des utilisateurs.

Paramètres

Nom Taper Description
offset numeric L'offset utilisé pour la pagination, s'il n'est pas envoyé, ou 0, les lignes ne seront pas paginées.

Réponse

Media Type: application/json

{
    "data"       : [{...}],
    "meta"       : {
        "current_page": 1,
        "from": 1,
        "last_page": 1,
        "path": "...",
        "per_page": 10,
        "to": 2,
        "total": 2,
    },
    "links"      : {
        "first": "...",
        "last": "...",
        "prev": null,
        "next": null,
    },
}
Nom Taper Description
data array Contenir les lignes de paiements.
meta object Contient des métadonnées de pagination, telles que : page_actuelle, total, par_page...
links object Contenir des liens de pagination.

Exemples

Veuillez considérer les exemples ci-dessous pour savoir comment interagir avec notre API.

<?php
$cURL = curl_init();

curl_setopt_array($cURL, array(
    CURLOPT_URL            => "https://dev.transfer.slick-pay.com/api/user/transfer?offset=10",
    CURLOPT_SSL_VERIFYHOST => false,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CONNECTTIMEOUT => 3,
    CURLOPT_TIMEOUT        => 20,
    CURLOPT_HTTPHEADER     => array(
        "Accept: application/json",
        "Content-Type: application/json",
        "Authorization: Bearer {$YOUR_PUBLIC_KEY}",
    ),
));

$result = curl_exec($cURL);

curl_close($cURL);

var_dump(json_decode($result, true));
?>
const axios = require("axios");

axios.get(`https://dev.transfer.slick-pay.com/api/slickapiv1/transfer?offset=10`, {
        headers: {
            'Content-Type': 'application/json',
            'Authorization': `Bearer ${YOUR_PUBLIC_KEY}`
        }
    })
    .then((result) => {
        let response = result.data;

        console.log(response);
    }).catch((error) => {
        console.log(error);
    });
import requests
import json

def etat_verification():
    headers = {
        "Content-Type": "application/json",
        "Authorization": "Bearer".YOUR_PUBLIC_KEY,
    }

    response = requests.get("https://dev.transfer.slick-pay.com/api/user/transfer?offset=10",headers=headers)

    return json.loads(response.content)

Créer un compte bancaire

POST Copie

Créez un nouveau compte bancaire interne pour l'utilisateur.

Paramètres

Nom Taper Description
title string Obligatoire Le titre du compte bancaire.
rib numeric Obligatoire ID de compte du compte bancaire.
fname string Obligatoire Le prénom du compte bancaire.
lname string Obligatoire Le nom de famille du compte bancaire.
address string Obligatoire L'adresse physique du compte bancaire.

Réponse

Media Type: application/json

{
    "status"     : 200,
    "errors"     : 0,
    "success"    : 1,
    "msg"        : 0,
    "data"        : {...},
}
Nom Taper Description
status numeric L'état HTTP de la réponse.
errors numeric Indiquera si des erreurs se sont produites, 0 pour faux et 1 pour vrai.
seccess numeric Indique si la requête a réussi, 0 pour faux et 1 pour vrai.
msg string Contiendra le message d'erreur dans le cas où errors est à 1 et success à 0.
data numeric Les données du nouveau compte bancaire créé.

Exemples

Veuillez considérer les exemples ci-dessous pour savoir comment interagir avec notre API.

<?php
$cURL = curl_init();

curl_setopt($cURL, CURLOPT_URL, "https://dev.transfer.slick-pay.com/api/user/bank-account");
curl_setopt($cURL, CURLOPT_POSTFIELDS, [
    'title'     => "My favorite bank account",
    'rib'       => "01234567890123456789",
    'fname'     => "Jhon",
    'lname'     => "Doe",
    'address'   => "Jhon Doe Address",
]);
curl_setopt($cURL, CURLOPT_HTTPHEADER, array(
    "Accept: application/json",
    "Content-Type: application/json",
    "Authorization: Bearer {$YOUR_PUBLIC_KEY}",
));
curl_setopt($cURL, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
curl_setopt($cURL, CURLOPT_CONNECTTIMEOUT, 3);
curl_setopt($cURL, CURLOPT_TIMEOUT, 20);

$result = curl_exec($cURL);

curl_close($cURL);

var_dump(json_decode($result, true));
?>
const axios = require("axios");

axios.post("https://dev.transfer.slick-pay.com/api/user/bank-account", {
        'title'  : "My favorite bank account",
        'rib'    : "01234567890123456789",
        'fname'  : "Jhon",
        'lname'  : "Doe",
        'address': "Jhon Doe Address",
    }, {
        headers: {
            'Content-Type': 'application/json',
            'Authorization': `Bearer ${YOUR_PUBLIC_KEY}`
        }
    })
    .then((result) => {
        let response = result.data;

        console.log(response);
    }).catch((error) => {
        console.log(error);
    });
import requests
import json

def createAccount():
    data = {
        'title'  : "My favorite bank account",
        'rib'    : "01234567890123456789",
        'fname'  : "Jhon",
        'lname'  : "Doe",
        'address': "Jhon Doe Address",
    }
    headers = {
        "Content-Type": "application/json",
        "Authorization": "Bearer".YOUR_PUBLIC_KEY,
    }

    response = requests.post("https://dev.transfer.slick-pay.com/api/user/bank-account",headers=headers, json=data)

    return json.loads(response.content)

Mettre à jour un compte

POST/PUT Copie

Mettre à jour le compte bancaire interne d'un utilisateur.

Paramètres

Nom Taper Description
uuid string Obligatoire L'UUID du compte bancaire.
title string Obligatoire Le titre du compte bancaire.
rib numeric Obligatoire ID de compte du compte bancaire.
fname string Obligatoire Le prénom du compte bancaire.
lname string Obligatoire Le nom de famille du compte bancaire.
address string Obligatoire L'adresse physique du compte bancaire.

Réponse

Media Type: application/json

{
    "status"     : 200,
    "errors"     : 0,
    "success"    : 1,
    "msg"        : 0,
    "data"        : {...},
}
Nom Taper Description
status numeric L'état HTTP de la réponse.
errors numeric Indiquera si des erreurs se sont produites, 0 pour faux et 1 pour vrai.
seccess numeric Indique si la requête a réussi, 0 pour faux et 1 pour vrai.
msg string Contiendra le message d'erreur dans le cas où errors est à 1 et success à 0.
data numeric Les données du nouveau compte bancaire créé.

Exemples

Veuillez considérer les exemples ci-dessous pour savoir comment interagir avec notre API.

<?php
$cURL = curl_init();

curl_setopt($cURL, CURLOPT_URL, "https://transfer.slick-pay.com/api/user/bank-account/{$uuid}");
curl_setopt($cURL, CURLOPT_POSTFIELDS, [
    'title'     => "My favorite bank account",
    'rib'       => "01234567890123456789",
    'fname'     => "Jhon",
    'lname'     => "Doe",
    'address'   => "Jhon Doe Address",
]);
curl_setopt($cURL, CURLOPT_HTTPHEADER, array(
    "Accept: application/json",
    "Content-Type: application/json",
    "Authorization: Bearer {$YOUR_PUBLIC_KEY}",
));
curl_setopt($cURL, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
curl_setopt($cURL, CURLOPT_CONNECTTIMEOUT, 3);
curl_setopt($cURL, CURLOPT_TIMEOUT, 20);

$result = curl_exec($cURL);

curl_close($cURL);

var_dump(json_decode($result, true));
?>
const axios = require("axios");

axios.post(`https://transfer.slick-pay.com/api/user/bank-account/${uuid}`, {
        'title'  : "Update my favorite bank account",
        'rib'    : "01234567890123456789",
        'fname'  : "Jhon",
        'lname'  : "Doe",
        'address': "Jhon Doe Address",
    }, {
        headers: {
            'Content-Type': 'application/json',
            'Authorization': `Bearer ${YOUR_PUBLIC_KEY}`
        }
    })
    .then((result) => {
        let response = result.data;

        console.log(response);
    }).catch((error) => {
        console.log(error);
    });
import requests
import json

def miseAjour():
    data = {
        'title'  : "Update my favorite bank account",
        'rib'    : "01234567890123456789",
        'fname'  : "Jhon",
        'lname'  : "Doe",
        'address': "Jhon Doe Address",
    }
    headers = {
        "Content-Type": "application/json",
        "Authorization": "Bearer".YOUR_PUBLIC_KEY,
    }

    response = requests.post("https://transfer.slick-pay.com/api/user/bank-account/".uuid,headers=headers, json=data)

    return json.loads(response.content)

Liste des comptes bancaires

GET Copie

Obtenir la liste des comptes bancaires créés par les utilisateurs.

Paramètres

Nom Taper Description
offset numeric L'offset utilisé pour la pagination, s'il n'est pas envoyé, ou 0, les lignes ne seront pas paginées.

Réponse

Media Type: application/json

{
    "data"       : [{...}],
    "meta"       : {
        "current_page": 1,
        "from": 1,
        "last_page": 1,
        "path": "...",
        "per_page": 10,
        "to": 2,
        "total": 2,
    },
    "links"      : {
        "first": "...",
        "last": "...",
        "prev": null,
        "next": null,
    },
}
Nom Taper Description
data array Contenir les lignes de paiements.
meta object Contient des métadonnées de pagination, telles que : page_actuelle, total, par_page...
links object Contenir des liens de pagination.

Exemples

Veuillez considérer les exemples ci-dessous pour savoir comment interagir avec notre API.

<?php
$cURL = curl_init();

curl_setopt_array($cURL, array(
    CURLOPT_URL            => "https://dev.transfer.slick-pay.com/api/user/bank-account?offset=10",
    CURLOPT_SSL_VERIFYHOST => false,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CONNECTTIMEOUT => 3,
    CURLOPT_TIMEOUT        => 20,
    CURLOPT_HTTPHEADER     => array(
        "Accept: application/json",
        "Content-Type: application/json",
        "Authorization: Bearer {$YOUR_PUBLIC_KEY}",
    ),
));

$result = curl_exec($cURL);

curl_close($cURL);

var_dump(json_decode($result, true));
?>
const axios = require("axios");

axios.get(`https://dev.transfer.slick-pay.com/api/slickapiv1/bank-account?offset=10`, {
        headers: {
            'Content-Type': 'application/json',
            'Authorization': `Bearer ${YOUR_PUBLIC_KEY}`
        }
    })
    .then((result) => {
        let response = result.data;

        console.log(response);
    }).catch((error) => {
        console.log(error);
    });
import requests
import json

def list():
    headers = {
        "Content-Type": "application/json",
        "Authorization": "Bearer".YOUR_PUBLIC_KEY,
    }

    response = requests.get("https://dev.transfer.slick-pay.com/api/slickapiv1/bank-account?offset=10",headers=headers)

    return json.loads(response.content)

Créer un récepteur

POST Copie

Créez un nouveau compte bancaire de récepteur externe d'utilisateur.

Paramètres

Nom Taper Description
title string Obligatoire Le titre du compte destinataire.
rib numeric Obligatoire ID de compte du compte destinataire.
fname string Obligatoire Le prénom du compte destinataire.
lname string Obligatoire Le nom de famille du compte destinataire.
email string L'adresse e-mail du compte destinataire.
phone string Le numéro de téléphone du compte destinataire.
address string Obligatoire L'adresse physique du compte destinataire.

Réponse

Media Type: application/json

{
    "status"     : 200,
    "errors"     : 0,
    "success"    : 1,
    "msg"        : 0,
    "data"        : {...},
}
Nom Taper Description
status numeric L'état HTTP de la réponse.
errors numeric Indiquera si des erreurs se sont produites, 0 pour faux et 1 pour vrai.
seccess numeric Indique si la requête a réussi, 0 pour faux et 1 pour vrai.
msg string Contiendra le message d'erreur dans le cas où errors est à 1 et success à 0.
data numeric Les données du nouveau compte bancaire créé.

Exemples

Veuillez considérer les exemples ci-dessous pour savoir comment interagir avec notre API.

<?php
$cURL = curl_init();

curl_setopt($cURL, CURLOPT_URL, "https://transfer.slick-pay.com/api/user/receiver");
curl_setopt($cURL, CURLOPT_POSTFIELDS, [
    'title'     => "A new receiver bank account",
    'rib'       => "01234567890123456789",
    'fname'     => "Jhon",
    'lname'     => "Doe",
    'email'     => "jhon.doe@gmail.com",
    'phone'     => "0666666666",
    'address'   => "Jhon Doe Address",
]);
curl_setopt($cURL, CURLOPT_HTTPHEADER, array(
    "Accept: application/json",
    "Content-Type: application/json",
    "Authorization: Bearer {$YOUR_PUBLIC_KEY}",
));
curl_setopt($cURL, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
curl_setopt($cURL, CURLOPT_CONNECTTIMEOUT, 3);
curl_setopt($cURL, CURLOPT_TIMEOUT, 20);

$result = curl_exec($cURL);

curl_close($cURL);

var_dump(json_decode($result, true));
?>
const axios = require("axios");

axios.post("https://transfer.slick-pay.com/api/user/receiver", {
        'title'  : "A new receiver bank account",
        'rib'    : "01234567890123456789",
        'fname'  : "Jhon",
        'lname'  : "Doe",
        'email'  : "jhon.doe@gmail.com",
        'phone'  : "0666666666",
        'address': "Jhon Doe Address",
    }, {
        headers: {
            'Content-Type': 'application/json',
            'Authorization': `Bearer ${YOUR_PUBLIC_KEY}`
        }
    })
    .then((result) => {
        let response = result.data;

        console.log(response);
    }).catch((error) => {
        console.log(error);
    });
import requests
import json

def createRecepteur():
    data = {
        'title'  : "A new receiver bank account",
        'rib'    : "01234567890123456789",
        'fname'  : "Jhon",
        'lname'  : "Doe",
        'email'  : "jhon.doe@gmail.com",
        'phone'  : "0666666666",
        'address': "Jhon Doe Address",
    }
    headers = {
        "Content-Type": "application/json",
        "Authorization": "Bearer".YOUR_PUBLIC_KEY,
    }

    response = requests.post("https://transfer.slick-pay.com/api/user/receiver",headers=headers, json=data)

    return json.loads(response.content)

Mettre à jour le récepteur

POST/PUT Copie

Mettre à jour le compte bancaire d'un destinataire externe d'utilisateur.

Paramètres

Nom Taper Description
title string Obligatoire Le titre du compte destinataire.
rib numeric Obligatoire ID de compte du compte destinataire.
fname string Obligatoire Le prénom du compte destinataire.
lname string Obligatoire Le nom de famille du compte destinataire.
email string L'adresse e-mail du compte destinataire.
phone string Le numéro de téléphone du compte destinataire.
address string Obligatoire L'adresse physique du compte destinataire.

Réponse

Media Type: application/json

{
    "status"     : 200,
    "errors"     : 0,
    "success"    : 1,
    "msg"        : 0,
    "data"        : {...},
}
Nom Taper Description
status numeric L'état HTTP de la réponse.
errors numeric Indiquera si des erreurs se sont produites, 0 pour faux et 1 pour vrai.
seccess numeric Indique si la requête a réussi, 0 pour faux et 1 pour vrai.
msg string Contiendra le message d'erreur dans le cas où errors est à 1 et success à 0.
data numeric Les données du compte récepteur mis à jour.

Exemples

Veuillez considérer les exemples ci-dessous pour savoir comment interagir avec notre API.

<?php
$cURL = curl_init();

curl_setopt($cURL, CURLOPT_URL, "https://dev.transfer.slick-pay.com/api/user/receiver/{$uuid}");
curl_setopt($cURL, CURLOPT_POSTFIELDS, [
    'title'     => "Update the receiver account",
    'rib'       => "01234567890123456789",
    'fname'     => "Jhon",
    'lname'     => "Doe",
    'email'     => "jhon.doe@gmail.com",
    'phone'     => "0666666666",
    'address'   => "Jhon Doe Address",
]);
curl_setopt($cURL, CURLOPT_HTTPHEADER, array(
    "Accept: application/json",
    "Content-Type: application/json",
    "Authorization: Bearer {$YOUR_PUBLIC_KEY}",
));
curl_setopt($cURL, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
curl_setopt($cURL, CURLOPT_CONNECTTIMEOUT, 3);
curl_setopt($cURL, CURLOPT_TIMEOUT, 20);

$result = curl_exec($cURL);

curl_close($cURL);

var_dump(json_decode($result, true));
?>
const axios = require("axios");

axios.post(`https://dev.transfer.slick-pay.com/api/user/receiver/${uid}`, {
        'title'  : "Update the receiver account",
        'rib'    : "01234567890123456789",
        'fname'  : "Jhon",
        'lname'  : "Doe",
        'email'  : "jhon.doe@gmail.com",
        'phone'  : "0666666666",
        'address': "Jhon Doe Address",
    }, {
        headers: {
            'Content-Type': 'application/json',
            'Authorization': `Bearer ${YOUR_PUBLIC_KEY}`
        }
    })
    .then((result) => {
        let response = result.data;

        console.log(response);
    }).catch((error) => {
        console.log(error);
    });
import requests
import json

def miseAjourReceptur():
    data = {
        'title'  : "Update the receiver account",
        'rib'    : "01234567890123456789",
        'fname'  : "Jhon",
        'lname'  : "Doe",
        'email'  : "jhon.doe@gmail.com",
        'phone'  : "0666666666",
        'address': "Jhon Doe Address",
    }
    headers = {
        "Content-Type": "application/json",
        "Authorization": "Bearer".YOUR_PUBLIC_KEY,
    }

    response = requests.post("https://transfer.slick-pay.com/api/user/receiver/".uuid,headers=headers, json=data)

    return json.loads(response.content)

Liste des destinataires

GET Copie

Obtenez la liste des comptes bancaires des destinataires.

Paramètres

Nom Taper Description
offset numeric L'offset utilisé pour la pagination, s'il n'est pas envoyé, ou 0, les lignes ne seront pas paginées.

Réponse

Media Type: application/json

{
    "data"       : [{...}],
    "meta"       : {
        "current_page": 1,
        "from": 1,
        "last_page": 1,
        "path": "...",
        "per_page": 10,
        "to": 2,
        "total": 2,
    },
    "links"      : {
        "first": "...",
        "last": "...",
        "prev": null,
        "next": null,
    },
}
Nom Taper Description
data array Contenir les lignes de paiements.
meta object Contient des métadonnées de pagination, telles que : page_actuelle, total, par_page...
links object Contenir des liens de pagination.

Exemples

Veuillez considérer les exemples ci-dessous pour savoir comment interagir avec notre API.

<?php
$cURL = curl_init();

curl_setopt_array($cURL, array(
    CURLOPT_URL            => "https://dev.transfer.slick-pay.com/api/user/receiver?offset=10",
    CURLOPT_SSL_VERIFYHOST => false,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CONNECTTIMEOUT => 3,
    CURLOPT_TIMEOUT        => 20,
    CURLOPT_HTTPHEADER     => array(
        "Accept: application/json",
        "Content-Type: application/json",
        "Authorization: Bearer {$YOUR_PUBLIC_KEY}",
    ),
));

$result = curl_exec($cURL);

curl_close($cURL);

var_dump(json_decode($result, true));
?>
const axios = require("axios");

axios.get(`https://dev.transfer.slick-pay.com/api/slickapiv1/receiver?offset=10`, {
        headers: {
            'Content-Type': 'application/json',
            'Authorization': `Bearer ${YOUR_PUBLIC_KEY}`
        }
    })
    .then((result) => {
        let response = result.data;

        console.log(response);
    }).catch((error) => {
        console.log(error);
    });
import requests
import json

def listDestinataires():
    headers = {
        "Content-Type": "application/json",
        "Authorization": "Bearer".YOUR_PUBLIC_KEY,
    }

    response = requests.get("https://dev.transfer.slick-pay.com/api/slickapiv1/receiver?offset=10", headers=headers)

    return json.loads(response.content)

Agrégateur de paiement

introduction


Prérequis

Pour utiliser notre API, vous devrez :

1. Créer un compte

Visitez notre site Web et créez un compte.

2. Obtenir la clé API

Après vous être connecté, vous pourrez depuis votre tableau de bord obtenir votre PUBLIC_KEY et SECRET_KEY.


Calculer la commission du transfert

POST Copie

Calculer la commission de transfert.

Paramètres

Nom Taper Description
type string Obligatoire Le type de transfert utilisé pour répartir le montant sur les destinataires peut être 'percentage' ou 'amount'.
total_amount numeric Obligatoire Le montant total à transférer, doit être supérieur à 100.
receivers array Obligatoire Les récepteurs qui bénéficieront du montant.
receivers.*.amount numeric Obligatoire Le montant pour chaque destinataire lorsque le type de transfert est 'amount'.
receivers.*.percentage numeric Obligatoire Le pourcentage au destinataire lorsque le type de transfert est 'percentage'.
receivers.*.rib numeric Obligatoire L'ID de compte de la personne qui recevra le montant.

Réponse

Media Type: application/json

{
    "status"       : 200,
    "errors"       : 0,
    "success"      : 1,
    "msg"          : 0,
    "amount"       : 1000,
    "commission"   : 80,
    "total_amount" : 1080,
    "receivers" : [
        {
            "rib": "12345678998765432100",
            "amount": 500,
            "commission": 40
        },
        {
            "rib": "12345678998765432111",
            "amount": 500,
            "commission": 40
        }
    ],
}
Nom Taper Description
status numeric L'état HTTP de la réponse.
errors numeric Indiquera si des erreurs se sont produites, 0 pour faux et 1 pour vrai.
seccess numeric Indique si la requête a réussi, 0 pour faux et 1 pour vrai.
msg string Contiendra le message d'erreur dans le cas où errors est à 1 et success à 0.
amount numeric Le montant total initial avant commission calculée.
commission numeric La commission totale calculée sur le montant des destinataires.
total_amount numeric Le montant total après commission calculée.
receivers array Les récepteurs qui bénéficieront du montant.
receivers.*.rib numeric L'ID de compte de la personne qui recevra le montant.
receivers.*.amount numeric Le montant du destinataire.
receivers.*.commission numeric La commission calculée sur le montant du destinataire.

Exemples

Veuillez considérer les exemples ci-dessous pour savoir comment interagir avec notre API.

<?php
$cURL = curl_init();

curl_setopt($cURL, CURLOPT_URL, "https://dev.aggregator.slick-pay.com/api/user/transfer/commission");

curl_setopt($cURL, CURLOPT_POSTFIELDS, [
    'amount'    => 1000,
    'type'      => 'percentage',
    'receivers' => [
        [
            'rib'        => '01234567890123456789',
            'percentage' => 50,
        ],
        [
            'rib'        => '01234567890123456789',
            'percentage' => 50,
        ]
    ]
]);
curl_setopt($cURL, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
curl_setopt($cURL, CURLOPT_CONNECTTIMEOUT, 3);
curl_setopt($cURL, CURLOPT_TIMEOUT, 20);

$result = curl_exec($cURL);

curl_close($cURL);

var_dump(json_decode($result, true));
?>
const axios = require("axios");

axios.post("https://dev.aggregator.slick-pay.com/api/user/transfer/commission", {
        'amount'   : 1000,
        'type'     : "percentage",
        'receivers': [
            {
                'rib'       : "01234567890123456789",
                'percentage': 50,
            },
            {
                'rib'       : "98765432109876543210",
                'percentage': 50,
            }
        ]
    }, {
        headers: {
            'Content-Type': 'application/json',
            'Authorization': `Bearer ${YOUR_PUBLIC_KEY}`
        }
    })
    .then((result) => {
        let response = result.data;

        console.log(response);
    }).catch((error) => {
        console.log(error);
    });
import requests
import json

def transfer():
    data = {
        "amount"  : 1000,
        "type" :  "percentage",
        "receivers" :
        [
            {
                "rib"     : "00012345678912345678",
                'percentage' : 50,
            },
            {
                "rib"     : "00012345678912345678",
                'percentage' : 50,
            },

        ]
    }
    headers = {
        "Accept": "application/json",
        "Content-Type": "application/json",
        "Authorization": "Bearer".YOUR_PUBLIC_KEY,
    }

    response = requests.post("https://aggregator.slick-pay.com/api/user/transfer/commission", headers=headers, json=data)

    return json.loads(response.content)

Créer un paiement

POST Copie

Initiez un nouveau paiement rapide.

Paramètres

Nom Taper Description
total_amount numeric Obligatoire Le montant total à transférer, doit être supérieur à 100.
type string Obligatoire Le type de transfert utilisé pour répartir le montant sur les destinataires peut être 'percentage' ou 'amount'.
receivers array Obligatoire Les récepteurs qui bénéficieront du montant.
receivers.*.amount numeric Obligatoire Le montant pour chaque destinataire lorsque le type de transfert est 'amount'.
receivers.*.percentage numeric Obligatoire Le pourcentage au destinataire lorsque le type de transfert est 'percentage'.
receivers.*.rib numeric Obligatoire L'ID de compte de la personne qui recevra le montant.
receivers.*.fname string Obligatoire Le prénom du destinataire du transfert.
receivers.*.lname string Obligatoire Le nom de famille du destinataire du transfert.
receivers.*.address string Obligatoire L'adresse physique du destinataire du transfert.
returnUrl string L'URL de rappel une fois le processus de paiement terminé.

Réponse

Media Type: application/json

{
    "transfer_id": 1,
    "url"        : "https://cib.satim.dz/payment/merchants/SATIM/payment_fr.html?mdOrder = ORDER_ID",
    "status"     : 200,
    "errors"     : 0,
    "success"    : 1,
    "msg"        : 0
}
Nom Taper Description
transfer_id numeric L'identifiant du nouveau transfert créé.
url string L'URL que vous redirigerez le client pour terminer le processus de paiement.
status numeric L'état HTTP de la réponse.
errors numeric Indiquera si des erreurs se sont produites, 0 pour faux et 1 pour vrai.
seccess numeric Indique si la requête a réussi, 0 pour faux et 1 pour vrai.
msg string Contiendra le message d'erreur dans le cas où errors est à 1 et success à 0.

Exemples

Veuillez considérer les exemples ci-dessous pour savoir comment interagir avec notre API.

<?php
$cURL = curl_init();

curl_setopt($cURL, CURLOPT_URL, "https://dev.aggregator.slick-pay.com/api/user/transfer/store");
curl_setopt($cURL, CURLOPT_POSTFIELDS, [
    'amount'    => 1000,
    'type'      => 'percentage',
    'receivers' => [
        [
            'rib'        => '01234567890123456789',
            'percentage' => 50,
            'fname'      => "Jhon",
            'lname'      => "Doe",
            'address'    => "Jhon Doe Address",
        ],
        [
            'rib'        => '01234567890123456789',
            'percentage' => 50,
            'fname'      => "Jane",
            'lname'      => "Doe",
            'address'    => "Jane Doe Address",
        ]
    ],
    'returnUrl' =>  "https://my-website.com/thank-you-page",
]);
curl_setopt($cURL, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
curl_setopt($cURL, CURLOPT_CONNECTTIMEOUT, 3);
curl_setopt($cURL, CURLOPT_TIMEOUT, 20);

$result = curl_exec($cURL);

curl_close($cURL);

var_dump(json_decode($result, true));
?>
const axios = require("axios");

axios.post("https://dev.aggregator.slick-pay.com/api/user/transfer/store", {
        'amount'   : 1000,
        'type'     : "percentage",
        'receivers': [
            {
                'rib'       : "01234567890123456789",
                'percentage': 50,
                'fname'     : "Jhon",
                'lname'     : "Doe",
                'address'   : "Jhon Doe Address",
            },
            {
                'rib'       : "98765432109876543210",
                'percentage': 50,
                'fname'     : "Jane",
                'lname'     : "Doe",
                'address'   : "Jane Doe Address",
            }
        ],
        'returnUrl': "https://my-website.com/thank-you-page",
    }, {
        headers: {
            'Content-Type': 'application/json',
            'Authorization': `Bearer ${YOUR_PUBLIC_KEY}`
        }
    })
    .then((result) => {
        let response = result.data;

        console.log(response);
    }).catch((error) => {
        console.log(error);
    });
import requests
import json


def transfer():
    data = {
        "amount"  : 100,
        "type" :  "percentage",
        "receivers" :
        [
            {
                "rib"     : "00012345678912345678",
                'percentage' : 50,
                "fname"   : "Adidas",
                "lname"   : "Last Name",
                "address" : "Adress",
            },
            {
                "rib"     : "00012345678912345678",
                'percentage' : 50,
                "fname"   : "Oppo",
                "lname"   : "Last Name",
                "address" : "Adress",
            },

        ],
        'returnUrl':"https://my-website.com/thank-you-page",
    }
    headers = {
        "Accept": "application/json",
        "Content-Type": "application/json",
        "Authorization": "Bearer".YOUR_PUBLIC_KEY,
    }

    response = requests.post("https://aggregator.slick-pay.com/api/user/transfer/store", headers=headers, json=data)

    return json.loads(response.content)

Vérifier l'état du paiement

POST Copie

Après avoir créé un paiement, vous devrez peut-être vérifier l'état de ce paiement.

Paramètres

Nom Taper Description
transfer_id numeric Obligatoire L'identifiant du virement.

Réponse

Media Type: application/json

{
    "errors"       : 0,
    "success"      : 1,
    "date"         : "2022-10-13 10:00:00",
    "amount"       : "1000.00",
    "orderId"      : "ORDER_ID",
    "orderNumber"  : "ORDER_NUMBER",
    "approvalCode" : "APPROVAL_CODE",
    "respCode_desc": "Your payment was accepted",
    "pdf"          : "https://aggregator.slick-pay.com/transfer/downloadPDFSatim/ORDER_ID",
    "msg"          : "Your payment was accepted"
}
Nom Taper Description
status numeric L'état HTTP de la réponse.
errors numeric Indiquera si des erreurs se sont produites, 0 pour faux et 1 pour vrai.
seccess numeric Indique si la requête a réussi, 0 pour faux et 1 pour vrai.
msg string Contiendra le message d'erreur dans le cas où errors est à 1 et success à 0.
date string The datetime when the transfer created.
amount numeric Le montant du transfert formaté.
orderId string Numéro de commande dans le portail de paiement. Unique dans la porte. Absent si l'enregistrement de la commande a échoué (l'erreur est décrite dans ErrorCode).
orderNumber numeric Numéro (identifiant) de la commande dans le système du marchand.
approvalCode string Code d'autorisation IPS. Le champ a une longueur fixe de six caractères, il peut contenir à la fois des chiffres et des lettres.

Exemples

Veuillez considérer les exemples ci-dessous pour savoir comment interagir avec notre API.

<?php
$cURL = curl_init();

curl_setopt($cURL, CURLOPT_URL, "https://dev.aggregator.slick-pay.com/api/user/transfer/transferPaymentSatimCheck");
curl_setopt($cURL, CURLOPT_POSTFIELDS, [
    'transfer_id' => 1,
]);
curl_setopt($cURL, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
curl_setopt($cURL, CURLOPT_CONNECTTIMEOUT, 3);
curl_setopt($cURL, CURLOPT_HTTPHEADER, array(
    "Accept: application/json",
    "Content-Type: application/json",
    "Authorization: Bearer {$YOUR_PUBLIC_KEY}",
));
curl_setopt($cURL, CURLOPT_TIMEOUT, 20);

$result = curl_exec($cURL);

curl_close($cURL);

var_dump(json_decode($result, true));
?>
const axios = require("axios");

axios.post("https://dev.aggregator.slick-pay.com/api/user/transfer/transferPaymentSatimCheck", {
        'transfer_id' : 1,
    }, {
        headers: {
            'Content-Type': 'application/json',
            'Authorization': `Bearer ${YOUR_PUBLIC_KEY}`
        }
    })
    .then((result) => {
        let response = result.data;

        console.log(response);
    }).catch((error) => {
        console.log(error);
    });
import requests
import json

def confirm():
    data = {
        "transfer_id"  : 123,
    }
    headers = {
        "Accept": "application/json",
        "Content-Type": "application/json",
        "Authorization": "Bearer".YOUR_PUBLIC_KEY,
    }

    response = requests.post("http://multipay.azimutbscenter.com/api/user/transfer/transferPaymentSatimCheck", headers=headers, json=data)

    return json.loads(response.content)

Historique des paiements

GET Copie

Vous avez la possibilité de charger tous les historiques de paiement des utilisateurs.

Paramètres

Nom Taper Description
offset numeric The offset used for the pagination, if not sent, or 0, the rows will not be paginated.

Réponse

Media Type: application/json

{
    "data"       : [{...}],
    "meta"       : {
        "current_page": 1,
        "from": 1,
        "last_page": 1,
        "path": "...",
        "per_page": 10,
        "to": 2,
        "total": 2,
    },
    "links"      : {
        "first": "...",
        "last": "...",
        "prev": null,
        "next": null,
    },
}
Nom Taper Description
data array Contenir les lignes de paiements.
meta object Contient des métadonnées de pagination, telles que : page_actuelle, total, par_page...
links object Contenir des liens de pagination.

Exemples

Veuillez considérer les exemples ci-dessous pour savoir comment interagir avec notre API.

<?php
$cURL = curl_init();

curl_setopt_array($cURL, array(
    CURLOPT_URL            => "https://dev.aggregator.slick-pay.com/api/user/transfer?offset=10",
    CURLOPT_SSL_VERIFYHOST => false,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CONNECTTIMEOUT => 3,
    CURLOPT_TIMEOUT        => 20,
    CURLOPT_HTTPHEADER     => array(
        "Accept: application/json",
        "Content-Type: application/json",
        "Authorization: Bearer {$YOUR_PUBLIC_KEY}",
    ),
));

$result = curl_exec($cURL);

curl_close($cURL);

var_dump(json_decode($result, true));
?>
const axios = require("axios");

axios.get(`https://dev.aggregator.slick-pay.com/api/slickapiv1/transfer?offset=10`, {
        headers: {
            'Content-Type': 'application/json',
            'Authorization': `Bearer ${YOUR_PUBLIC_KEY}`
        }
    })
    .then((result) => {
        let response = result.data;

        console.log(response);
    }).catch((error) => {
        console.log(error);
    });
import requests
import json

def historique():
    headers = {
        "Content-Type": "application/json",
        "Authorization": "Bearer".YOUR_PUBLIC_KEY,
    }

    response = requests.get("https://dev.aggregator.slick-pay.com/api/slickapiv1/transfer?offset=10", headers=headers)

    return json.loads(response.content)