Authentification


Introduction

Afin de pouvoir utiliser notre API, vous devrez vous authentifier à chaque fois que vous souhaitez l'utiliser.


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é, depuis votre tableau de bord, vous pourrez obtenir votre PUBLIC_KEY. (Test Key : 48|e38u499dLrh94cPipLkranYXjHdUjWGsbEb9o2ud)


Comment s'authentifier ?

Vous devez ajouter une en-tête Authorization à chaque appel d'API.

Veuillez considérer les exemples ci-dessous.

<?php
$cURL = curl_init();

curl_setopt($cURL, CURLOPT_URL, "{$ANY_API_URL}");
curl_setopt($cURL, CURLOPT_HTTPHEADER, array(
    "Accept: 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);

$response = curl_exec($cURL);

curl_close($cURL);

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

axios.get(`${ANY_API_URL}`, {
    headers: {
        "Accept": "application/json",
        "Authorization": `Bearer ${YOUR_PUBLIC_KEY}`
    }
})
.then((result) => {
    let response = result.data;

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

def example():
    headers = {
        "Accept": "application/json",
        "Authorization": "Bearer " . YOUR_PUBLIC_KEY,
    }

    response = requests.get(ANY_API_URL, headers=headers)
    return json.loads(response.content)

Comptes


Introduction

 


Créer un compte

POST Copier

Création d'un nouveau compte.

Paramètres

Nom Tape Description
rib numeric Requis Le RIB de compte. Doit être unique, numérique et avoir une longueur de 20 caractères.
title string Requis Le titre du compte destinataire.
firstname string Requis Le prénom du compte destinataire.
lastname string Requis Le nom de famille du compte destinataire.
address string Requis L'adresse physique du compte destinataire.
default boolean Définissez le nouveau compte créé comme compte par défaut.

Réponse

Media Type: application/json

{
    "success": 1,
    "message": "Account created successfully.",
    "uuid"   : "37990d08-fc51-4c32-ad40-1552d13c0000"
}
Nom Tape Description
success numeric L'état de la réponse HTTP, 0 pour faux et 1 pour vrai.
message string Contenir la réponse au message de réussite.
uuid uuid L'UUID du compte créé.

Media Type: application/json

{
    "message": "The rib field is required.",
    "errors": {
        "rib": [
            "The rib field is required."
        ]
    }
}
Nom Tape Description
message string Contenir le message d'erreur principal.
errors array Contenir tous les messages d'erreur.

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://devapi.slick-pay.com/api/v2/users/accounts");
curl_setopt($cURL, CURLOPT_POSTFIELDS, json_encode([
    'title'     => "Lorem Ipsum",
    'firstname' => "Lorem",
    'lastname'  => "Ipsum",
    'address'   => "Lorem Ipsum Address",
    'rib'       => "12345678912345678900",
]));
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);

$response = curl_exec($cURL);

curl_close($cURL);

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

axios.post("https://devapi.slick-pay.com/api/v2/users/accounts", {
        "rib": "12345678912345678900"
        "title": "Lorem Ipsum",
        "lastname": "Lorem",
        "firstname": "Ipsum",
        "address": "Lorem Ipsum Address",
    }, {
        headers: {
            "Accept": "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 create():
    data = {
        "title" : "Lorem Ipsum",
        "lastname": "Lorem",
        "firstname": "Ipsum",
        "address": "Lorem Ipsum Address",
        "rib": "12345678912345678900"
    }
    headers = {
        "Accept": "application/json",
        "Authorization": "Bearer " . YOUR_PUBLIC_KEY,
    }

    response = requests.post("https://devapi.slick-pay.com/api/v2/users/accounts", headers=headers, json=data)

    return json.loads(response.content)

Détails du compte

GET Copier

Obtenir les détails du compte.

Paramètres

Nom Tape Description
uuid UUID Requis L'UUID du compte.

Réponse

Media Type: application/json

{
    "success": 1,
    "data"   : {...}
}
Nom Tape Description
success numeric L'état de la réponse HTTP, 0 pour faux et 1 pour vrai.
data object Les détails relatives au compte.

Media Type: application/json

{
    "success": 0,
    "message": "Account not found.",
    "errors": [
        "Account not found."
    ]
}
Nom Tape Description
success numeric L'état de la réponse HTTP, 0 pour faux et 1 pour vrai.
message string Contenir le message d'erreur principal.
errors array Contenir tous les messages d'erreur.

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://devapi.slick-pay.com/api/v2/users/accounts/{$uuid}");
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",
    "Authorization: Bearer {$YOUR_PUBLIC_KEY}",
));
curl_setopt($cURL, CURLOPT_TIMEOUT, 20);

$response = curl_exec($cURL);

curl_close($cURL);

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

axios.get(`https://devapi.slick-pay.com/api/v2/users/accounts/${uuid}`, {
        headers: {
            {
                "Accept": "application/json",
                "Authorization": `Bearer ${YOUR_PUBLIC_KEY}`
            }
        }
    })
    .then((result) => {
        let response = result.data;

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

def find():
    headers = {
        "Accept": "application/json",
        "Authorization": "Bearer ".  YOUR_PUBLIC_KEY,
    }

    response = requests.get("https://devapi.slick-pay.com/api/v2/users/accounts/" . uuid, headers=headers)
    return json.loads(response.content)

Liste des comptes

GET Copier

Charger la liste de tous les comptes.

Paramètres

Nom Tape Description
offset numeric Le décalage utilisé pour la pagination, s'il n'est pas spécifié, ou 0, les lignes ne seront pas paginées.
page numeric Définissez la page actuelle pour les lignes paginées.

Réponse

Media Type: application/json

{
    "data"       : [{...}],
    "meta"       : {
        "current_page": 1,
        "from": 1,
        "last_page": 1,
        "per_page": 10,
        "to": 2,
        "total": 2,
    }
}
Nom Tape Description
data array Les lignes avec pagination.
meta object Contenir des métadonnées de pagination, telles que : current_page, total, per_page...

Media Type: application/json

{
    "message": "The page must be an integer.",
    "errors": {
        "page": [
            "The page must be an integer."
        ]
    }
}
Nom Tape Description
message string Contenir le message d'erreur principal.
errors array Contenir tous les messages d'erreur.

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://devapi.slick-pay.com/api/v2/users/accounts?offset=5&page=2",
    CURLOPT_SSL_VERIFYHOST => false,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CONNECTTIMEOUT => 3,
    CURLOPT_TIMEOUT        => 20,
    CURLOPT_HTTPHEADER     => array(
        "Accept: application/json",
        "Authorization: Bearer {$YOUR_PUBLIC_KEY}",
    ),
));

$response = curl_exec($cURL);

curl_close($cURL);

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

axios.get(`https://devapi.slick-pay.com/api/v2/users/accounts?offset=5&page=2`, {
        headers: {
            "Accept": "application/json",
            "Authorization": `Bearer ${YOUR_PUBLIC_KEY}`
        }
    })
    .then((result) => {
        let response = result.data;

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

def get():
    headers = {
        "Accept": "application/json",
        "Authorization": "Bearer " . YOUR_PUBLIC_KEY,
    }

    response = requests.get("https://devapi.slick-pay.com/api/v2/users/accounts?offset=5&page=2", headers=headers)

    return json.loads(response.content)

Compte mis à jour

PUT/PATCH Copier

Mettre à jour tout compte existant.

Paramètres

Nom Tape Description
uuid uuid Requis L'UUID du compte.
rib numeric Le RIB de compte. Doit être unique, numérique et avoir une longueur de 20 caractères.
title string Le titre du compte destinataire.
firstname string Le prénom du compte destinataire.
lastname string Le nom de famille du compte destinataire.
address string L'adresse physique du compte destinataire.
default boolean Définissez le nouveau compte créé comme compte par défaut.

Réponse

Media Type: application/json

{
    "success": 1,
    "message": "Account updated successfully.",
    "uuid"   : "37990d08-fc51-4c32-ad40-1552d13c00d1"
}
Nom Tape Description
success numeric L'état de la réponse HTTP, 0 pour faux et 1 pour vrai.
message string Contenir la réponse au message de réussite.
uuid uuid UUID du compte mis à jour.

Media Type: application/json

{
    "message": "The rib field is required.",
    "errors": {
        "rib": [
            "The rib field is required."
        ]
    }
}
Nom Tape Description
message string Contenir le message d'erreur principal.
errors array Contenir tous les messages d'erreur.

Media Type: application/json

{
    "success": 0,
    "message": "Account not found.",
    "errors": [
        "Account not found."
    ]
}
Nom Tape Description
success numeric L'état de la réponse HTTP, 0 pour faux et 1 pour vrai.
message string Contenir le message d'erreur principal.
errors array Contenir tous les messages d'erreur.

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://devapi.slick-pay.com/api/v2/users/accounts/{$uuid}");
curl_setopt($cURL, CURLOPT_POSTFIELDS, json_encode([
    'default' => 1
]));
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);

$response = curl_exec($cURL);

curl_close($cURL);

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

axios.post(`https://devapi.slick-pay.com/api/v2/users/accounts/${uuid}`, {
        "default": 1
    }, {
        headers: {
            "Accept": "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 update():
    data = {
        "default": 1
    }
    headers = {
        "Accept": "application/json",
        "Authorization": "Bearer " . YOUR_PUBLIC_KEY,
    }

    response = requests.post("https://devapi.slick-pay.com/api/v2/users/accounts/" . uuid, headers=headers, json=data)

    return json.loads(response.content)

Supprimer le compte

DELETE Copier

Supprimer tout compte créé.

Paramètres

Nom Tape Description
uuid uuid Requis L'UUID du compte.

Réponse

Media Type: application/json

{
    "success": 1,
    "message": "Account deleted successfully."
}
Nom Tape Description
success numeric L'état de la réponse HTTP, 0 pour faux et 1 pour vrai.
message string Contiendra le message principal de réussite.

Media Type: application/json

{
    "success": 0,
    "message": "Account cannot be deleted.",
    "errors": [
        "Account cannot be deleted."
    ]
}
Nom Tape Description
success numeric L'état de la réponse HTTP, 0 pour faux et 1 pour vrai.
message string Contenir le message d'erreur principal.
errors array Contenir tous les messages d'erreur.

Media Type: application/json

{
    "success": 0,
    "message": "Account not found.",
    "errors": [
        "Account not found."
    ]
}
Nom Tape Description
success numeric L'état de la réponse HTTP, 0 pour faux et 1 pour vrai.
message string Contenir le message d'erreur principal.
errors array Contenir tous les messages d'erreur.

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://devapi.slick-pay.com/api/v2/users/accounts/{$uuid}");
curl_setopt($cURL, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
curl_setopt($cURL, CURLOPT_CONNECTTIMEOUT, 3);
curl_setopt($cURL, CURLOPT_CUSTOMREQUEST, 'DELETE');
curl_setopt($cURL, CURLOPT_HTTPHEADER, array(
    "Accept: application/json",
    "Authorization: Bearer {$YOUR_PUBLIC_KEY}",
));
curl_setopt($cURL, CURLOPT_TIMEOUT, 20);

$response = curl_exec($cURL);

curl_close($cURL);

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

axios.delete(`https://devapi.slick-pay.com/api/v2/users/accounts/${uuid}`, {
        headers: {
            {
                "Accept": "application/json",
                "Authorization": `Bearer ${YOUR_PUBLIC_KEY}`
            }
        }
    })
    .then((result) => {
        let response = result.data;

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

def delete():
    headers = {
        "Accept": "application/json",
        "Authorization": "Bearer " . YOUR_PUBLIC_KEY,
    }

    response = requests.delete("https://devapi.slick-pay.com/api/v2/users/accounts/" . uuid, headers=headers)
    return json.loads(response.content)

Contacts


Introduction

 


Créer un contact

POST Copier

Création d'un nouveau contact.

Paramètres

Nom Tape Description
rib numeric Requis Le RIB Contact. Doit être unique, numérique et avoir une longueur de 20 caractères.
title string Titre du contact. Si vide, le nom complet du contact sera pris.
firstname string Requis Le prénom du contact.
lastname string Requis Le nom de famille du contact.
phone string Le téléphone du contact. Sera requis si le champ e-mail est vide.
email string L'Email du contact. Sera requis si le champ téléphone est vide.
address string Requis L'adresse physique du contact.

Réponse

Media Type: application/json

{
    "success": 1,
    "message": "Contact created successfully.",
    "uuid"   : "37990d08-fc51-4c32-ad40-1552d13c00d1"
}
Nom Tape Description
success numeric L'état de la réponse HTTP, 0 pour faux et 1 pour vrai.
message string Contenir la réponse au message de réussite.
uuid uuid UUID du contact créé.

Media Type: application/json

{
    "message": "The rib field is required.",
    "errors": {
        "rib": [
            "The rib field is required."
        ]
    }
}
Nom Tape Description
message string Contenir le message d'erreur principal.
errors array Contenir tous les messages d'erreur.

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://devapi.slick-pay.com/api/v2/users/contacts");
curl_setopt($cURL, CURLOPT_POSTFIELDS, json_encode([
    'title'     => "Lorem Ipsum",
    'firstname' => "Lorem",
    'lastname'  => "Ipsum",
    'email'     => "lorem@ipsum.com",
    'address'   => "Lorem Ipsum Address",
    'rib'       => "12345678912345678900",
]));
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);

$response = curl_exec($cURL);

curl_close($cURL);

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

axios.post("https://devapi.slick-pay.com/api/v2/users/contacts", {
        "title" : "Lorem Ipsum",
        "lastname": "Lorem",
        "firstname": "Ipsum",
        "email": "lorem@ipsum.com",
        "address": "Lorem Ipsum Address",
        "rib": "12345678912345678900"
    }, {
        headers: {
            "Accept": "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 create():
    data = {
        "title" : "Lorem Ipsum",
        "lastname": "Lorem",
        "firstname": "Ipsum",
        "email": "lorem@ipsum.com",
        "address": "Lorem Ipsum Address",
        "rib": "12345678912345678900"
    }
    headers = {
        "Accept": "application/json",
        "Authorization": "Bearer " . YOUR_PUBLIC_KEY,
    }

    response = requests.post("https://devapi.slick-pay.com/api/v2/users/contacts", headers=headers, json=data)

    return json.loads(response.content)

Détails du contact

GET Copier

Obtenir les coordonnées du contact.

Paramètres

Nom Tape Description
uuid uuid Requis L'UUID du contact.

Réponse

Media Type: application/json

{
    "success": 1,
    "data"   : {...}
}
Nom Tape Description
success numeric L'état de la réponse HTTP, 0 pour faux et 1 pour vrai.
data object Les détails relatives au contact.

Media Type: application/json

{
    "success": 0,
    "message": "Contact not found.",
    "errors": [
        "Contact not found."
    ]
}
Nom Tape Description
success numeric L'état de la réponse HTTP, 0 pour faux et 1 pour vrai.
message string Contenir le message d'erreur principal.
errors array Contenir tous les messages d'erreur.

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://devapi.slick-pay.com/api/v2/users/contacts/{$uuid}");
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",
    "Authorization: Bearer {$YOUR_PUBLIC_KEY}",
));
curl_setopt($cURL, CURLOPT_TIMEOUT, 20);

$response = curl_exec($cURL);

curl_close($cURL);

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

axios.get(`https://devapi.slick-pay.com/api/v2/users/contacts/${uuid}`, {
        headers: {
            {
                "Accept": "application/json",
                "Authorization": `Bearer ${YOUR_PUBLIC_KEY}`
            }
        }
    })
    .then((result) => {
        let response = result.data;

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

def find():
    headers = {
        "Accept": "application/json",
        "Authorization": "Bearer ".  YOUR_PUBLIC_KEY,
    }

    response = requests.get("https://devapi.slick-pay.com/api/v2/users/contacts/" . uuid, headers=headers)
    return json.loads(response.content)

Liste de contacts

GET Copier

Charger la liste de tous les contacts.

Paramètres

Nom Tape Description
offset numeric Le décalage utilisé pour la pagination, s'il n'est pas spécifié, ou 0, les lignes ne seront pas paginées.
page numeric Définissez la page actuelle pour les lignes paginées.

Réponse

Media Type: application/json

{
    "data"       : [{...}],
    "meta"       : {
        "current_page": 1,
        "from": 1,
        "last_page": 1,
        "per_page": 10,
        "to": 2,
        "total": 2,
    }
}
Nom Tape Description
data array Les lignes avec pagination.
meta object Contenir des métadonnées de pagination, telles que : current_page, total, per_page...

Media Type: application/json

{
    "message": "The page must be an integer.",
    "errors": {
        "page": [
            "The page must be an integer."
        ]
    }
}
Nom Tape Description
message string Contenir le message d'erreur principal.
errors array Contenir tous les messages d'erreur.

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://devapi.slick-pay.com/api/v2/users/contacts?offset=5&page=2",
    CURLOPT_SSL_VERIFYHOST => false,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CONNECTTIMEOUT => 3,
    CURLOPT_TIMEOUT        => 20,
    CURLOPT_HTTPHEADER     => array(
        "Accept: application/json",
        "Authorization: Bearer {$YOUR_PUBLIC_KEY}",
    ),
));

$response = curl_exec($cURL);

curl_close($cURL);

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

axios.get(`https://devapi.slick-pay.com/api/v2/users/contacts?offset=5&page=2`, {
        headers: {
            "Accept": "application/json",
            "Authorization": `Bearer ${YOUR_PUBLIC_KEY}`
        }
    })
    .then((result) => {
        let response = result.data;

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

def get():
    headers = {
        "Accept": "application/json",
        "Authorization": "Bearer " . YOUR_PUBLIC_KEY,
    }

    response = requests.get("https://devapi.slick-pay.com/api/v2/users/contacts?offset=5&page=2", headers=headers)

    return json.loads(response.content)

Mettre à jour un contact

PUT/PATCH Copier

Mettre à jour tout contact existant.

Paramètres

Nom Tape Description
uuid uuid Requis L'UUID du contact.
rib numeric Requis Le RIB Contact. Doit être unique, numérique et avoir une longueur de 20 caractères.
title string Requis Titre du contact.
firstname string Requis Le prénom du contact.
lastname string Requis Le nom de famille du contact.
phone string Le téléphone du contact.
email string L'Email du contact.
address string Requis L'adresse physique du contact.

Réponse

Media Type: application/json

{
    "success": 1,
    "message": "Contact updated successfully.",
    "uuid"   : "37990d08-fc51-4c32-ad40-1552d13c0000"
}
Nom Tape Description
success numeric L'état de la réponse HTTP, 0 pour faux et 1 pour vrai.
message string Contenir la réponse au message de réussite.
uuid uuid UUID du contact mis à jour.

Media Type: application/json

{
    "message": "The rib field is required.",
    "errors": {
        "rib": [
            "The rib field is required."
        ]
    }
}
Nom Tape Description
message string Contenir le message d'erreur principal.
errors array Contenir tous les messages d'erreur.

Media Type: application/json

{
    "success": 0,
    "message": "Contact not found.",
    "errors": [
        "Contact not found."
    ]
}
Nom Tape Description
success numeric L'état de la réponse HTTP, 0 pour faux et 1 pour vrai.
message string Contenir le message d'erreur principal.
errors array Contenir tous les messages d'erreur.

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://devapi.slick-pay.com/api/v2/users/contacts/{$uuid}");
curl_setopt($cURL, CURLOPT_POSTFIELDS, json_encode([
    'title' => "New contact title"
]));
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);

$response = curl_exec($cURL);

curl_close($cURL);

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

axios.post(`https://devapi.slick-pay.com/api/v2/users/contacts/${uuid}`, {
        "title": "New contact title"
    }, {
        headers: {
            "Accept": "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 update():
    data = {
        "title": "New contact title"
    }
    headers = {
        "Accept": "application/json",
        "Authorization": "Bearer " . YOUR_PUBLIC_KEY,
    }

    response = requests.post("https://devapi.slick-pay.com/api/v2/users/contacts/" . uuid, headers=headers, json=data)

    return json.loads(response.content)

Effacer le contact

DELETE Copier

Supprimer tout contact créé.

Paramètres

Nom Tape Description
id numeric Requis L'identifiant du compte.

Réponse

Media Type: application/json

{
    "success": 1,
    "message": "Contact deleted successfully."
}
Nom Tape Description
success numeric L'état de la réponse HTTP, 0 pour faux et 1 pour vrai.
message string Contiendra le message principal de réussite.

Media Type: application/json

{
    "success": 0,
    "message": "Contact cannot be deleted.",
    "errors": [
        "Contact cannot be deleted."
    ]
}
Nom Tape Description
success numeric L'état de la réponse HTTP, 0 pour faux et 1 pour vrai.
message string Contenir le message d'erreur principal.
errors array Contenir tous les messages d'erreur.

Media Type: application/json

{
    "success": 0,
    "message": "Contact not found.",
    "errors": [
        "Contact not found."
    ]
}
Nom Tape Description
success numeric L'état de la réponse HTTP, 0 pour faux et 1 pour vrai.
message string Contenir le message d'erreur principal.
errors array Contenir tous les messages d'erreur.

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://devapi.slick-pay.com/api/v2/users/contacts/{$uuid}");
curl_setopt($cURL, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
curl_setopt($cURL, CURLOPT_CONNECTTIMEOUT, 3);
curl_setopt($cURL, CURLOPT_CUSTOMREQUEST, 'DELETE');
curl_setopt($cURL, CURLOPT_HTTPHEADER, array(
    "Accept: application/json",
    "Authorization: Bearer {$YOUR_PUBLIC_KEY}",
));
curl_setopt($cURL, CURLOPT_TIMEOUT, 20);

$response = curl_exec($cURL);

curl_close($cURL);

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

axios.delete(`https://devapi.slick-pay.com/api/v2/users/contacts/${uuid}`, {
        headers: {
            {
                "Accept": "application/json",
                "Authorization": `Bearer ${YOUR_PUBLIC_KEY}`
            }
        }
    })
    .then((result) => {
        let response = result.data;

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

def delete():
    headers = {
        "Accept": "application/json",
        "Authorization": "Bearer " . YOUR_PUBLIC_KEY,
    }

    response = requests.delete("https://devapi.slick-pay.com/api/v2/users/contacts/" . uuid, headers=headers)
    return json.loads(response.content)

API Transfert


Introduction

 


Calculer la commission

POST Copier

Calculer la commission du transfert.

Paramètres
Nom Tape Description
amount numeric Requis Le montant à transférer, doit être supérieur à 100.
Réponse

Media Type: application/json

{
    "success"   : 1,
    "amount"    : 1040,
    "commission": 40
}
Nom Tape Description
success numeric L'état de la réponse HTTP, 0 pour faux et 1 pour vrai.
amount numeric Le montant total après calcule de la commission.
commission numeric La commission calculée pour le montant soumis.

Media Type: application/json

{
    "message": "The amount field is required.",
    "errors": {
        "amount": [
            "The amount field is required."
        ]
    }
}
Nom Tape Description
message string Contenir le message d'erreur principal.
errors array Contenir tous les messages d'erreur.
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://devapi.slick-pay.com/api/v2/users/transfers/commission");
curl_setopt($cURL, CURLOPT_POSTFIELDS, [
    'amount' => 1000,
]);
curl_setopt($cURL, CURLOPT_HTTPHEADER, array(
    "Accept: 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);

$response = curl_exec($cURL);

curl_close($cURL);

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

axios.post("https://devapi.slick-pay.com/api/v2/users/transfers/commission", {
        "amount": 1000,
    }, {
    headers: {
        "Accept": "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 = {
        "Accept": "application/json",
        "Authorization": "Bearer " . YOUR_PUBLIC_KEY,
    }

    response = requests.post("https://devapi.slick-pay.com/api/v2/users/transfers/commission", headers=headers, json=data)
    return json.loads(response.content)

Créer un transfert

POST Copier

Créer un nouveau transfert.

Paramètres

Nom Tape Description
amount numeric Requis Le montant à transférer, doit être supérieur à 100.
url string L'URL de retour une fois le processus de paiement effectué.
account string L'UUID du compte, s'il n'est pas spécifié, il prendra le compte défini par défaut, s'il n'y a pas de compte par défaut défini, il prendra le premier compte créé, sinon ce champ sera obligatoire.
contact string L'UUID du contact.
Si aucun contact n'est spécifié, le propriétaire du compte utilisateur recevra le transfert, sinon, le contact le recevra.
Les champs : rib, firstname, lastname, phone ou email et address seront interdits lorsque le champ contact est renseigné.
rib numeric Le RIB du contact.
firstname string Le prénom du contact.
lastname string Le nom de famille du contact.
phone string Le numéro de téléphone du contact.
email string L'e-mail de contact.
address string L'adresse de contact.

Réponse

Media Type: application/json

{
    "success": 1,
    "message": "Transfer created successfully.",
    "id"     : 1,
    "url"    : "https://devapi.slick-pay.com/api/v2/users/transfers/satim/payment/191612HE2P1T"
}
Nom Tape Description
success numeric L'état de la réponse HTTP, 0 pour faux et 1 pour vrai.
message string Contenir la réponse au message de réussite.
id numeric L'ID de transfert créé.
url string L'URL vers laquelle rediriger votre client pour terminer le processus de paiement.

Media Type: application/json

{
    "message": "The amount field is required.",
    "errors": {
        "amount": [
            "The amount field is required."
        ]
    }
}
Nom Tape Description
message string Contenir le message d'erreur principal.
errors array Contenir tous les messages d'erreur.

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://devapi.slick-pay.com/api/v2/users/transfers");
curl_setopt($cURL, CURLOPT_POSTFIELDS, json_encode([
    "amount"  => 1000,
    "contact" => "37990d08-fc51-4c32-ad40-1552d13c00d1",
    "url"     => "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);

$response = curl_exec($cURL);

curl_close($cURL);

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

axios.post("https://devapi.slick-pay.com/api/v2/users/transfers", {
        "amount": 1000,
        "contact": "37990d08-fc51-4c32-ad40-1552d13c00d1",
        "url": "https://my-website.com/thank-you-page",
    }, {
        headers: {
            "Accept": '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 create():
    data = {
        "amount": 1000,
        "contact": "37990d08-fc51-4c32-ad40-1552d13c00d1",
        "url": "https://my-website.com/thank-you-page",
    }
    headers = {
        "Accept": "application/json",
        "Authorization": "Bearer " . YOUR_PUBLIC_KEY,
    }

    response = requests.post("https://devapi.slick-pay.com/api/v2/users/transfers", headers=headers, json=data)

    return json.loads(response.content)

Détails du transfert

GET Copier

Obtenir les détails du transfert.

Paramètres

Nom Tape Description
id numeric Requis L'ID de transfert.

Réponse

Media Type: application/json

{
    "success": 1,
    "completed": 0,
    "data": {...}
}
Nom Tape Description
success numeric L'état de la réponse HTTP, 0 pour faux et 1 pour vrai.
completed numeric Indique si le transfert est terminé ou non, 0 pour false et 1 pour true.
data object Les détails du transfert associé.

Media Type: application/json

{
    "success": 0,
    "message": "Transfer not found.",
    "errors": [
        "Transfer not found."
    ]
}
Nom Tape Description
success numeric L'état de la réponse HTTP, 0 pour faux et 1 pour vrai.
message string Contenir le message d'erreur principal.
errors array Contenir tous les messages d'erreur.

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://devapi.slick-pay.com/api/v2/users/transfers/{$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",
    "Authorization: Bearer {$YOUR_PUBLIC_KEY}",
));
curl_setopt($cURL, CURLOPT_TIMEOUT, 20);

$response = curl_exec($cURL);

curl_close($cURL);

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

axios.get(`https://devapi.slick-pay.com/api/v2/users/transfers/${id}`, {
        headers: {
            {
                "Accept": "application/json",
                "Authorization": `Bearer ${YOUR_PUBLIC_KEY}`
            }
        }
    })
    .then((result) => {
        let response = result.data;

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

def find():
    headers = {
        "Accept": "application/json",
        "Authorization": "Bearer ".  YOUR_PUBLIC_KEY,
    }

    response = requests.get("https://devapi.slick-pay.com/api/v2/users/transfers/" . id, headers=headers)
    return json.loads(response.content)

Liste des transferts

GET Copier

Obtenir tout l'historique des transferts.

Paramètres

Nom Tape Description
offset numeric Le décalage utilisé pour la pagination, s'il n'est pas spécifié, ou 0, les lignes ne seront pas paginées.
page numeric Définissez la page actuelle pour les lignes paginées.

Réponse

Media Type: application/json

{
    "data"       : [{...}],
    "meta"       : {
        "current_page": 1,
        "from": 1,
        "last_page": 1,
        "per_page": 10,
        "to": 2,
        "total": 2,
    }
}
Nom Tape Description
data array Les lignes avec pagination.
meta object Contenir des métadonnées de pagination, telles que : current_page, total, per_page...

Media Type: application/json

{
    "message": "The page must be an integer.",
    "errors": {
        "page": [
            "The page must be an integer."
        ]
    }
}
Nom Tape Description
message string Contenir le message d'erreur principal.
errors array Contenir tous les messages d'erreur.

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://devapi.slick-pay.com/api/v2/users/transfers?offset=5&page=2",
    CURLOPT_SSL_VERIFYHOST => false,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CONNECTTIMEOUT => 3,
    CURLOPT_TIMEOUT        => 20,
    CURLOPT_HTTPHEADER     => array(
        "Accept: application/json",
        "Authorization: Bearer {$YOUR_PUBLIC_KEY}",
    ),
));

$response = curl_exec($cURL);

curl_close($cURL);

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

axios.get(`https://devapi.slick-pay.com/api/v2/users/transfers?offset=5&page=2`, {
        headers: {
            "Accept": "application/json",
            "Authorization": `Bearer ${YOUR_PUBLIC_KEY}`
        }
    })
    .then((result) => {
        let response = result.data;

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

def get():
    headers = {
        "Accept": "application/json",
        "Authorization": "Bearer " . YOUR_PUBLIC_KEY,
    }

    response = requests.get("https://devapi.slick-pay.com/api/v2/users/transfers?offset=5&page=2", headers=headers)

    return json.loads(response.content)

Mettre à jour un transfert

PUT/PATCH Copier

Mettre à jour tout transfert en attente.

Paramètres

Nom Tape Description
id numeric Requis L'ID de transfert.
amount numeric Le montant à transférer, doit être supérieur à 100.
url string L'URL de retour une fois le processus de paiement effectué.
account string Le UUID du compte utilisateur.

Réponse

Media Type: application/json

{
    "success": 1,
    "message": "Transfer updated successfully.",
    "id"     : 1,
    "url"    : "https://dev.transfer.slick-pay.com/api/v2/satim/payment/602003AZ2JE5"
}
Nom Tape Description
success numeric L'état de la réponse HTTP, 0 pour faux et 1 pour vrai.
message string Contenir la réponse au message de réussite.
id numeric L'ID de transfert mis à jour.
url string L'URL vers laquelle rediriger votre client pour terminer le processus de paiement.

Media Type: application/json

{
    "message": "The amount field is required.",
    "errors": {
        "amount": [
            "The amount field is required."
        ]
    }
}
Nom Tape Description
message string Contenir le message d'erreur principal.
errors array Contenir tous les messages d'erreur.

Media Type: application/json

{
    "success": 0,
    "message": "Transfer not found.",
    "errors": [
        "Transfer not found."
    ]
}
Nom Tape Description
success numeric L'état de la réponse HTTP, 0 pour faux et 1 pour vrai.
message string Contenir le message d'erreur principal.
errors array Contenir tous les messages d'erreur.

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://devapi.slick-pay.com/api/v2/users/transfers/{$id}");
curl_setopt($cURL, CURLOPT_POSTFIELDS, json_encode([
    "amount"  => 1000,
    "contact" => "37990d08-fc51-4c32-ad40-1552d13c00d1",
    "url"     => "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);

$response = curl_exec($cURL);

curl_close($cURL);

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

axios.post(`https://devapi.slick-pay.com/api/v2/users/transfers/${id}`, {
        "amount": 1000,
        "contact": "37990d08-fc51-4c32-ad40-1552d13c00d1",
        "url": "https://my-website.com/thank-you-page",
    }, {
        headers: {
            "Accept": "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 update():
    data = {
        "amount": 1000,
        "contact": "37990d08-fc51-4c32-ad40-1552d13c00d1",
        "url": "https://my-website.com/thank-you-page",
    }
    headers = {
        "Accept": "application/json",
        "Authorization": "Bearer " . YOUR_PUBLIC_KEY,
    }

    response = requests.post("https://devapi.slick-pay.com/api/v2/users/transfers/" . id, headers=headers, json=data)

    return json.loads(response.content)

Supprimer un transfert

DELETE Copier

Supprimer tout transfert en attente.

Paramètres

Nom Tape Description
id numeric Requis L'ID de transfert.

Réponse

Media Type: application/json

{
    "success": 1,
    "message": "Transfer deleted successfully."
}
Nom Tape Description
success numeric L'état de la réponse HTTP, 0 pour faux et 1 pour vrai.
message string Contiendra le message principal de réussite.

Media Type: application/json

{
    "success": 0,
    "message": "Transfer cannot be deleted.",
    "errors": [
        "Transfer cannot be deleted."
    ]
}
Nom Tape Description
success numeric L'état de la réponse HTTP, 0 pour faux et 1 pour vrai.
message string Contenir le message d'erreur principal.
errors array Contenir tous les messages d'erreur.

Media Type: application/json

{
    "success": 0,
    "message": "Transfer not found.",
    "errors": [
        "Transfer not found."
    ]
}
Nom Tape Description
success numeric L'état de la réponse HTTP, 0 pour faux et 1 pour vrai.
message string Contenir le message d'erreur principal.
errors array Contenir tous les messages d'erreur.

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://devapi.slick-pay.com/api/v2/users/transfers/{$id}");
curl_setopt($cURL, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
curl_setopt($cURL, CURLOPT_CONNECTTIMEOUT, 3);
curl_setopt($cURL, CURLOPT_CUSTOMREQUEST, 'DELETE');
curl_setopt($cURL, CURLOPT_HTTPHEADER, array(
    "Accept: application/json",
    "Authorization: Bearer {$YOUR_PUBLIC_KEY}",
));
curl_setopt($cURL, CURLOPT_TIMEOUT, 20);

$response = curl_exec($cURL);

curl_close($cURL);

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

axios.delete(`https://devapi.slick-pay.com/api/v2/users/transfers/${id}`, {
        headers: {
            {
                "Accept": "application/json",
                "Authorization": `Bearer ${YOUR_PUBLIC_KEY}`
            }
        }
    })
    .then((result) => {
        let response = result.data;

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

def delete():
    headers = {
        "Accept": "application/json",
        "Authorization": "Bearer " . YOUR_PUBLIC_KEY,
    }

    response = requests.delete("https://devapi.slick-pay.com/api/v2/users/transfers/" . id, headers=headers)
    return json.loads(response.content)

Agrégateur de paiement


Introduction

 


Calculer la commission

POST Copier

Calculer la commission d'agrégation.

Paramètres
Nom Tape Description
type string Requis Le type de transfert utilisé pour diviser le montant lors du contact avec les destinataires peut être 'percentage' ou 'amount'.
total numeric Requis Le montant à transférer, doit être supérieur à 100.
contacts array Requis Les récepteurs de contact qui obtiendront des pièces du montant total.
contacts.*.uuid string Requis L'UUID du contact qui recevra le montant.
contacts.*.amount numeric Requis The dedicated amount to each contact. It calculated based on the 'type' field value ('percentage' or 'amount').
Réponse

Media Type: application/json

{
    "success": 1,
    "amount": 10000,
    "commission": 200,
    "total": 10200,
    "contacts": [
        {
            "uuid": "864efcd3-9fef-4da5-67ec-bc28fd7e719b",
            "amount": 5000,
            "commission": 100
        },
        {
            "uuid": "f23bde3f-aac9-4dfc-7e06-5bf02e7f5967",
            "amount": 5000,
            "commission": 100
        }
    ]
}
Nom Tape Description
success numeric L'état de la réponse HTTP, 0 pour faux et 1 pour vrai.
amount numeric Le montant total avant commission calculé.
commission numeric La commission calculée sur le nombre total de destinataires de contact.
total numeric Le montant total après calcule de la commission.
contacts array Les récepteurs de contact qui obtiendront des pièces du montant total.
contacts.*.amount numeric The amount dedicated to each contact. It calculated based on the 'type' field value ('percentage' or 'amount').
contacts.*.uuid string L'UUID du contact qui recevra le montant.
contacts.*.commission numeric La commission calculée sur le montant du destinataire du contact.

Media Type: application/json

{
    "message": "The type field is required.",
    "errors": {
        "type": [
            "The type field is required."
        ]
    }
}
Nom Tape Description
message string Contenir le message d'erreur principal.
errors array Contenir tous les messages d'erreur.
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://devapi.slick-pay.com/api/v2/users/aggregations/commission");
curl_setopt($cURL, CURLOPT_POSTFIELDS, [
    'type'     => 'percentage',
    'amount'   => 10000,
    'contacts' => [
        [
            "uuid"   => "864efcd3-9fef-4da5-67ec-bc28fd7e719b",
            'amount' => 50,
        ],
        [
            "uuid"   => "f23bde3f-aac9-4dfc-7e06-5bf02e7f5967",
            'amount' => 50,
        ],
    ],
]);
curl_setopt($cURL, CURLOPT_HTTPHEADER, array(
    "Accept: 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);

$response = curl_exec($cURL);

curl_close($cURL);

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

axios.post("https://devapi.slick-pay.com/api/v2/users/aggregations/commission", {
        "type": "percentage",
        "total": 10000,
        "contacts": [
            {
                "uuid": "864efcd3-9fef-4da5-67ec-bc28fd7e719b",
                "amount": 50
            },
            {
                "uuid": "f23bde3f-aac9-4dfc-7e06-5bf02e7f5967",
                "amount": 50
            }
        ]
    }, {
    headers: {
        "Accept": "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 = {
        "type": "percentage",
        "total": 10000,
        "contacts": [
            {
                "uuid": "864efcd3-9fef-4da5-67ec-bc28fd7e719b",
                "amount": 50
            },
            {
                "uuid": "f23bde3f-aac9-4dfc-7e06-5bf02e7f5967",
                "amount": 50
            }
        ]
    }
    headers = {
        "Accept": "application/json",
        "Authorization": "Bearer " . YOUR_PUBLIC_KEY,
    }

    response = requests.post("https://devapi.slick-pay.com/api/v2/users/aggregations/commission", headers=headers, json=data)
    return json.loads(response.content)

Créer une agrégation

POST Copier

Création d'une nouvelle agrégation.

Paramètres

Nom Tape Description
type string Requis Le type de transfert utilisé pour diviser le montant lors du contact avec les destinataires peut être 'percentage' ou 'amount'.
total numeric Requis Le montant à transférer, doit être supérieur à 100.
contacts array Requis Les récepteurs de contact qui obtiendront des pièces du montant total.
contacts.*.uuid string Requis L'UUID du contact qui recevra le montant.
contacts.*.amount numeric Requis The dedicated amount to each contact. It calculated based on the 'type' field value ('percentage' or 'amount').

Réponse

Media Type: application/json

{
    "success": 1,
    "message": "Aggregation created successfully.",
    "id"     : 1,
    "url"    : "https://dev.aggregation.slick-pay.com/api/v2/satim/payment/191612HE2P1T"
}
Nom Tape Description
success numeric L'état de la réponse HTTP, 0 pour faux et 1 pour vrai.
message string Contenir la réponse au message de réussite.
id numeric ID d'agrégation créé.
url string L'URL vers laquelle rediriger votre client pour terminer le processus de paiement.

Media Type: application/json

{
    "message": "The type field is required.",
    "errors": {
        "type": [
            "The type field is required."
        ]
    }
}
Nom Tape Description
message string Contenir le message d'erreur principal.
errors array Contenir tous les messages d'erreur.

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://devapi.slick-pay.com/api/v2/users/aggregations");
curl_setopt($cURL, CURLOPT_POSTFIELDS, json_encode([
    'url'      => "https://my-website.com/thank-you-page",
    'type'     => 'percentage',
    'total'   => 10000,
    'contacts' => [
        [
            "uuid" => "864efcd3-9fef-4da5-67ec-bc28fd7e719b",
            'amount' => 50,
        ],
        [
            "uuid" => "f23bde3f-aac9-4dfc-7e06-5bf02e7f5967",
            'amount' => 50,
        ],
    ],
]));
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);

$response = curl_exec($cURL);

curl_close($cURL);

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

axios.post("https://devapi.slick-pay.com/api/v2/users/aggregations", {
        "url": "https://my-website.com/thank-you-page",
        "type": "percentage",
        "total": 10000,
        "contacts": [
            {
                "uuid": "864efcd3-9fef-4da5-67ec-bc28fd7e719b",
                "amount": 50
            },
            {
                "uuid": "f23bde3f-aac9-4dfc-7e06-5bf02e7f5967",
                "amount": 50
            }
        ]
    }, {
        headers: {
            "Accept": "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 create():
    data = {
        "url": "https://my-website.com/thank-you-page",
        "type": "percentage",
        "total": 10000,
        "contacts": [
            {
                "uuid": "864efcd3-9fef-4da5-67ec-bc28fd7e719b",
                "amount": 50
            },
            {
                "uuid": "f23bde3f-aac9-4dfc-7e06-5bf02e7f5967",
                "amount": 50
            }
        ]
    }
    headers = {
        "Accept": "application/json",
        "Authorization": "Bearer " . YOUR_PUBLIC_KEY,
    }

    response = requests.post("https://devapi.slick-pay.com/api/v2/users/aggregations", headers=headers, json=data)

    return json.loads(response.content)

Détails de l'agrégation

GET Copier

Obtenir les détails de l'agrégation.

Paramètres

Nom Tape Description
id numeric Requis ID de l'agrégation.

Réponse

Media Type: application/json

{
    "success": 1,
    "completed": 0,
    "data": {...}
}
Nom Tape Description
success numeric L'état de la réponse HTTP, 0 pour faux et 1 pour vrai.
completed numeric Indique si le transfert d'agrégation est terminé ou non, 0 pour faux et 1 pour vrai.
data object Les détails d'agrégation associés.

Media Type: application/json

{
    "success": 0,
    "message": "Aggregation not found.",
    "errors": [
        "Aggregation not found."
    ]
}
Nom Tape Description
success numeric L'état de la réponse HTTP, 0 pour faux et 1 pour vrai.
message string Contenir le message d'erreur principal.
errors array Contenir tous les messages d'erreur.

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://devapi.slick-pay.com/api/v2/users/aggregations/{$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",
    "Authorization: Bearer {$YOUR_PUBLIC_KEY}",
));
curl_setopt($cURL, CURLOPT_TIMEOUT, 20);

$response = curl_exec($cURL);

curl_close($cURL);

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

axios.get(`https://devapi.slick-pay.com/api/v2/users/aggregations/${id}`, {
        headers: {
            {
                "Accept": "application/json",
                "Authorization": `Bearer ${YOUR_PUBLIC_KEY}`
            }
        }
    })
    .then((result) => {
        let response = result.data;

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

def find():
    headers = {
        "Accept": "application/json",
        "Authorization": "Bearer ".  YOUR_PUBLIC_KEY,
    }

    response = requests.get("https://devapi.slick-pay.com/api/v2/users/aggregations/" . id, headers=headers)
    return json.loads(response.content)

Liste des agrégations

GET Copier

Charger tout l'historique des agrégations.

Paramètres

Nom Tape Description
offset numeric Le décalage utilisé pour la pagination, s'il n'est pas spécifié, ou 0, les lignes ne seront pas paginées.
page numeric Définissez la page actuelle pour les lignes paginées.

Réponse

Media Type: application/json

{
    "data"       : [{...}],
    "meta"       : {
        "current_page": 1,
        "from": 1,
        "last_page": 1,
        "per_page": 10,
        "to": 2,
        "total": 2,
    }
}
Nom Tape Description
data array Les lignes avec pagination.
meta object Contenir des métadonnées de pagination, telles que : current_page, total, per_page...

Media Type: application/json

{
    "message": "The page must be an integer.",
    "errors": {
        "page": [
            "The page must be an integer."
        ]
    }
}
Nom Tape Description
message string Contenir le message d'erreur principal.
errors array Contenir tous les messages d'erreur.

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://devapi.slick-pay.com/api/v2/users/aggregations?offset=5&page=2",
    CURLOPT_SSL_VERIFYHOST => false,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CONNECTTIMEOUT => 3,
    CURLOPT_TIMEOUT        => 20,
    CURLOPT_HTTPHEADER     => array(
        "Accept: application/json",
        "Authorization: Bearer {$YOUR_PUBLIC_KEY}",
    ),
));

$response = curl_exec($cURL);

curl_close($cURL);

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

axios.get(`https://devapi.slick-pay.com/api/v2/users/aggregations?offset=5&page=2`, {
        headers: {
            "Accept": "application/json",
            "Authorization": `Bearer ${YOUR_PUBLIC_KEY}`
        }
    })
    .then((result) => {
        let response = result.data;

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

def get():
    headers = {
        "Accept": "application/json",
        "Authorization": "Bearer " . YOUR_PUBLIC_KEY,
    }

    response = requests.get("https://devapi.slick-pay.com/api/v2/users/aggregations?offset=5&page=2", headers=headers)

    return json.loads(response.content)

Mettre à jour l'agrégation

PUT/PATCH Copier

Mettre à jour toute agrégation en attente.

Paramètres

Nom Tape Description
id numeric Requis ID de l'agrégation.
type string Le type de transfert utilisé pour diviser le montant lors du contact avec les destinataires peut être 'percentage' ou 'amount'. Obligatoire avec le champ 'total'.
total numeric Le montant à transférer, doit être supérieur à 100. Requis avec le champ 'contacts'.
contacts array Les récepteurs de contact qui obtiendront des pièces du montant total. Obligatoire avec le champ 'total'.
contacts.*.uuid string Requis L'UUID du contact qui recevra le montant.
contacts.*.amount numeric Requis The dedicated amount to each contact. It calculated based on the 'type' field value ('percentage' or 'amount').

Réponse

Media Type: application/json

{
    "success": 1,
    "message": "Aggregation updated successfully.",
    "id"     : 1,
    "url"    : "https://dev.aggregation.slick-pay.com/api/v2/satim/payment/602003AZ2JE5"
}
Nom Tape Description
success numeric L'état de la réponse HTTP, 0 pour faux et 1 pour vrai.
message string Contenir la réponse au message de réussite.
id numeric L'ID d'agrégation mise à jour.
url string L'URL vers laquelle rediriger votre client pour terminer le processus de paiement.

Media Type: application/json

{
    "message": "The type field is required.",
    "errors": {
        "type": [
            "The type field is required."
        ]
    }
}
Nom Tape Description
message string Contenir le message d'erreur principal.
errors array Contenir tous les messages d'erreur.

Media Type: application/json

{
    "success": 0,
    "message": "Aggregation not found.",
    "errors": [
        "Aggregation not found."
    ]
}
Nom Tape Description
success numeric L'état de la réponse HTTP, 0 pour faux et 1 pour vrai.
message string Contenir le message d'erreur principal.
errors array Contenir tous les messages d'erreur.

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://devapi.slick-pay.com/api/v2/users/aggregations/{$id}");
curl_setopt($cURL, CURLOPT_POSTFIELDS, json_encode([
    'url'      => "https://my-website.com/thank-you-page",
    'type'     => 'percentage',
    'amount'   => 20000,
    'contacts' => [
        [
            "uuid" => "864efcd3-9fef-4da5-67ec-bc28fd7e719b",
            'amount' => 50,
        ],
        [
            "uuid" => "f23bde3f-aac9-4dfc-7e06-5bf02e7f5967",
            'amount' => 50,
        ],
    ],
]));
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);

$response = curl_exec($cURL);

curl_close($cURL);

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

axios.post(`https://devapi.slick-pay.com/api/v2/users/aggregations/${id}`, {
        "url": "https://my-website.com/thank-you-page",
        "type": "percentage",
        "total": 20000,
        "contacts": [
            {
                "uuid": "864efcd3-9fef-4da5-67ec-bc28fd7e719b",
                "amount": 50
            },
            {
                "uuid": "f23bde3f-aac9-4dfc-7e06-5bf02e7f5967",
                "amount": 50
            }
        ]
    }, {
        headers: {
            "Accept": "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 update():
    data = {
        "url": "https://my-website.com/thank-you-page",
        "type": "percentage",
        "total": 20000,
        "contacts": [
            {
                "uuid": "864efcd3-9fef-4da5-67ec-bc28fd7e719b",
                "amount": 50
            },
            {
                "uuid": "f23bde3f-aac9-4dfc-7e06-5bf02e7f5967",
                "amount": 50
            }
        ]
    }
    headers = {
        "Accept": "application/json",
        "Authorization": "Bearer " . YOUR_PUBLIC_KEY,
    }

    response = requests.post("https://devapi.slick-pay.com/api/v2/users/aggregations/" . id, headers=headers, json=data)

    return json.loads(response.content)

Supprimer l'aggregation

DELETE Copier

Supprimer toute agrégation en attente.

Paramètres

Nom Tape Description
id numeric Requis ID de l'agrégation.

Réponse

Media Type: application/json

{
    "success": 1,
    "message": "Aggregation deleted successfully."
}
Nom Tape Description
success numeric L'état de la réponse HTTP, 0 pour faux et 1 pour vrai.
message string Contiendra le message principal de réussite.

Media Type: application/json

{
    "success": 0,
    "message": "Aggregation cannot be deleted.",
    "errors": [
        "Aggregation cannot be deleted."
    ]
}
Nom Tape Description
success numeric L'état de la réponse HTTP, 0 pour faux et 1 pour vrai.
message string Contenir le message d'erreur principal.
errors array Contenir tous les messages d'erreur.

Media Type: application/json

{
    "success": 0,
    "message": "Aggregation not found.",
    "errors": [
        "Aggregation not found."
    ]
}
Nom Tape Description
success numeric L'état de la réponse HTTP, 0 pour faux et 1 pour vrai.
message string Contenir le message d'erreur principal.
errors array Contenir tous les messages d'erreur.

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://devapi.slick-pay.com/api/v2/users/aggregations/{$id}");
curl_setopt($cURL, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
curl_setopt($cURL, CURLOPT_CONNECTTIMEOUT, 3);
curl_setopt($cURL, CURLOPT_CUSTOMREQUEST, 'DELETE');
curl_setopt($cURL, CURLOPT_HTTPHEADER, array(
    "Accept: application/json",
    "Authorization: Bearer {$YOUR_PUBLIC_KEY}",
));
curl_setopt($cURL, CURLOPT_TIMEOUT, 20);

$response = curl_exec($cURL);

curl_close($cURL);

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

axios.delete(`https://devapi.slick-pay.com/api/v2/users/aggregations/${id}`, {
        headers: {
            {
                "Accept": "application/json",
                "Authorization": `Bearer ${YOUR_PUBLIC_KEY}`
            }
        }
    })
    .then((result) => {
        let response = result.data;

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

def delete():
    headers = {
        "Accept": "application/json",
        "Authorization": "Bearer " . YOUR_PUBLIC_KEY,
    }

    response = requests.delete("https://devapi.slick-pay.com/api/v2/users/aggregations/" . id, headers=headers)
    return json.loads(response.content)

Facture de transfert


Introduction

 


Calculer la commission

POST Copier

Calculer la commission de facture de transfert.

Paramètres
Nom Tape Description
amount numeric Requis Le montant à transférer, doit être supérieur à 100.
Réponse

Media Type: application/json

{
    "success"   : 1,
    "amount"    : 1040,
    "commission": 40
}
Nom Tape Description
success numeric L'état de la réponse HTTP, 0 pour faux et 1 pour vrai.
amount numeric Le montant total après calcule de la commission.
commission numeric La commission calculée pour le montant soumis.

Media Type: application/json

{
    "message": "The amount field is required.",
    "errors": {
        "amount": [
            "The amount field is required."
        ]
    }
}
Nom Tape Description
message string Contenir le message d'erreur principal.
errors array Contenir tous les messages d'erreur.
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://devapi.slick-pay.com/api/v2/users/invoices/commission");
curl_setopt($cURL, CURLOPT_POSTFIELDS, [
    'amount' => 1000,
]);
curl_setopt($cURL, CURLOPT_HTTPHEADER, array(
    "Accept: 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);

$response = curl_exec($cURL);

curl_close($cURL);

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

axios.post("https://devapi.slick-pay.com/api/v2/users/invoices/commission", {
        "amount": 1000,
    }, {
    headers: {
        "Accept": "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 = {
        "Accept": "application/json",
        "Authorization": "Bearer " . YOUR_PUBLIC_KEY,
    }

    response = requests.post("https://devapi.slick-pay.com/api/v2/users/invoices/commission", headers=headers, json=data)
    return json.loads(response.content)

Créer une facture

POST Copier

Création d'un nouveau facture de transfert.

Paramètres

Nom Tape Description
amount numeric Requis Le montant à transférer, doit être supérieur à 100.
url string L'URL de retour une fois le processus de paiement effectué.
account string L'UUID du compte, s'il n'est pas spécifié, il prendra le compte défini par défaut, s'il n'y a pas de compte par défaut défini, il prendra le premier compte créé, sinon ce champ sera obligatoire.
contact string L'UUID du contact.
fees numeric Commission en pourcentage facturée au client, min 0 et max 100, 0 par défaut
qrcode boolean Définissez ce paramètre à true si vous souhaitez utiliser notre fonctionnalité de paiement Web/Mob.
Si aucun contact n'est précisé, les champs : prénom, nom, téléphone ou email et adresse seront obligatoires.
firstname string Le prénom du contact.
lastname string Le nom de famille du contact.
phone string Le numéro de téléphone du contact.
email string L'e-mail de contact.
address string L'adresse de contact.
items array Requis Liste des articles de la facture.
items.*.name string Requis Le nom de l'article facturé.
items.*.price numeric Requis Le prix de l'article facturé.
items.*.quantity numeric Requis La quantité de l'article facturé.
webhook_url string L'URL du webhook pour la facture.
webhook_signature string Le signature du webhook pour la facture.
webhook_meta_data array Les métadonnées du webhook pour la facture.
note string Le bordereau de facturation.

Réponse

Media Type: application/json

{
    "success": 1,
    "message": "Invoice created successfully.",
    "id"     : 1,
    "url"    : "https://devapi.slick-pay.com/api/v2/users/invoices/satim/payment/191612HE2P1T"
}
Nom Tape Description
success numeric L'état de la réponse HTTP, 0 pour faux et 1 pour vrai.
message string Contenir la réponse au message de réussite.
id numeric L'ID de facture de transfert créé.
url string L'URL vers laquelle rediriger votre client pour terminer le processus de paiement.

Media Type: application/json

{
    "message": "The amount field is required.",
    "errors": {
        "amount": [
            "The amount field is required."
        ]
    }
}
Nom Tape Description
message string Contenir le message d'erreur principal.
errors array Contenir tous les messages d'erreur.

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://devapi.slick-pay.com/api/v2/users/invoices");
curl_setopt($cURL, CURLOPT_POSTFIELDS, json_encode([
    'amount' => 10000,
    "contact"=> "37990d08-fc51-4c32-ad40-1552d13c00d1",
    'url'    => "https://my-website.com/thank-you-page",
    'items'  => [
        [
            'name'     => "Seller product",
            'price'    => 5000,
            'quantity' => 2,
        ]
    ],
]));
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);

$response = curl_exec($cURL);

curl_close($cURL);

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

axios.post("https://devapi.slick-pay.com/api/v2/users/invoices", {
        "amount": 10000,
        "contact": "37990d08-fc51-4c32-ad40-1552d13c00d1",
        "url": "https://my-website.com/thank-you-page",
        "items": [
            {
                "name": "Seller product",
                "price": 5000,
                "quantity": 2
            }
        ]
    }, {
        headers: {
            "Accept": "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 create():
    data = {
        "amount": 10000,
        "contact": "37990d08-fc51-4c32-ad40-1552d13c00d1",
        "url": "https://my-website.com/thank-you-page",
        "items": [
            {
                "name": "Seller product",
                "price": 5000,
                "quantity": 2
            }
        ]
    }
    headers = {
        "Accept": "application/json",
        "Authorization": "Bearer " . YOUR_PUBLIC_KEY,
    }

    response = requests.post("https://devapi.slick-pay.com/api/v2/users/invoices", headers=headers, json=data)

    return json.loads(response.content)

Détails de la facture

GET Copier

Obtenir les détails du facture de transfert.

Paramètres

Nom Tape Description
id numeric Requis L'ID de la facture du transfert.

Réponse

Media Type: application/json

{
    "success": 1,
    "completed": 0,
    "data": {...}
}
Nom Tape Description
success numeric L'état de la réponse HTTP, 0 pour faux et 1 pour vrai.
completed numeric Indique si le facture de transfert est terminé ou non, 0 pour faux et 1 pour vrai.
data object Les détails de facture de transfert associés.

Media Type: application/json

{
    "success": 0,
    "message": "Invoice not found.",
    "errors": [
        "Invoice not found."
    ]
}
Nom Tape Description
success numeric L'état de la réponse HTTP, 0 pour faux et 1 pour vrai.
message string Contenir le message d'erreur principal.
errors array Contenir tous les messages d'erreur.

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://devapi.slick-pay.com/api/v2/users/invoices/{$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",
    "Authorization: Bearer {$YOUR_PUBLIC_KEY}",
));
curl_setopt($cURL, CURLOPT_TIMEOUT, 20);

$response = curl_exec($cURL);

curl_close($cURL);

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

axios.get(`https://devapi.slick-pay.com/api/v2/users/invoices/${id}`, {
        headers: {
            {
                "Accept": "application/json",
                "Authorization": `Bearer ${YOUR_PUBLIC_KEY}`
            }
        }
    })
    .then((result) => {
        let response = result.data;

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

def find():
    headers = {
        "Accept": "application/json",
        "Authorization": "Bearer ".  YOUR_PUBLIC_KEY,
    }

    response = requests.get("https://devapi.slick-pay.com/api/v2/users/invoices/" . id, headers=headers)
    return json.loads(response.content)

Liste des factures

GET Copier

Charger tout l'historique des factures.

Paramètres

Nom Tape Description
offset numeric Le décalage utilisé pour la pagination, s'il n'est pas spécifié, ou 0, les lignes ne seront pas paginées.
page numeric Définissez la page actuelle pour les lignes paginées.

Réponse

Media Type: application/json

{
    "data"       : [{...}],
    "meta"       : {
        "current_page": 1,
        "from": 1,
        "last_page": 1,
        "per_page": 10,
        "to": 2,
        "total": 2,
    }
}
Nom Tape Description
data array Les lignes avec pagination.
meta object Contenir des métadonnées de pagination, telles que : current_page, total, per_page...

Media Type: application/json

{
    "message": "The page must be an integer.",
    "errors": {
        "page": [
            "The page must be an integer."
        ]
    }
}
Nom Tape Description
message string Contenir le message d'erreur principal.
errors array Contenir tous les messages d'erreur.

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://devapi.slick-pay.com/api/v2/users/invoices?offset=5&page=2",
    CURLOPT_SSL_VERIFYHOST => false,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_CONNECTTIMEOUT => 3,
    CURLOPT_TIMEOUT        => 20,
    CURLOPT_HTTPHEADER     => array(
        "Accept: application/json",
        "Authorization: Bearer {$YOUR_PUBLIC_KEY}",
    ),
));

$response = curl_exec($cURL);

curl_close($cURL);

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

axios.get(`https://devapi.slick-pay.com/api/v2/users/invoices?offset=5&page=2`, {
        headers: {
            "Accept": "application/json",
            "Authorization": `Bearer ${YOUR_PUBLIC_KEY}`
        }
    })
    .then((result) => {
        let response = result.data;

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

def get():
    headers = {
        "Accept": "application/json",
        "Authorization": "Bearer " . YOUR_PUBLIC_KEY,
    }

    response = requests.get("https://devapi.slick-pay.com/api/v2/users/invoices?offset=5&page=2", headers=headers)

    return json.loads(response.content)

Mettre à jour une facture

PUT/PATCH Copier

Mettre à jour toute facture en attente.

Paramètres

Nom Tape Description
id numeric Requis L'identifiant de la facture.
amount numeric Le montant à transférer, doit être supérieur à 100.
url string L'URL de retour une fois le processus de paiement effectué.
uuid string L'UUID du contact.
items array Liste des articles de la facture.
items.*.name string Requis Le nom de l'article facturé.
items.*.price numeric Requis Le prix de l'article facturé.
items.*.quantity numeric Requis La quantité de l'article facturé.
note string Le bordereau de facturation.

Réponse

Media Type: application/json

{
    "success": 1,
    "message": "Invoice updated successfully.",
    "id"     : 1,
    "url"    : "https://dev.transfer.slick-pay.com/api/v2/satim/payment/602003AZ2JE5"
}
Nom Tape Description
success numeric L'état de la réponse HTTP, 0 pour faux et 1 pour vrai.
message string Contenir la réponse au message de réussite.
id numeric L'ID de facture mise à jour.
url string L'URL vers laquelle rediriger votre client pour terminer le processus de paiement.

Media Type: application/json

{
    "message": "The amount field is required.",
    "errors": {
        "amount": [
            "The amount field is required."
        ]
    }
}
Nom Tape Description
message string Contenir le message d'erreur principal.
errors array Contenir tous les messages d'erreur.

Media Type: application/json

{
    "success": 0,
    "message": "Invoice not found.",
    "errors": [
        "Invoice not found."
    ]
}
Nom Tape Description
success numeric L'état de la réponse HTTP, 0 pour faux et 1 pour vrai.
message string Contenir le message d'erreur principal.
errors array Contenir tous les messages d'erreur.

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://devapi.slick-pay.com/api/v2/users/invoices/{$id}");
curl_setopt($cURL, CURLOPT_POSTFIELDS, json_encode([
    'amount' => 1000,
    "contact"=> "37990d08-fc51-4c32-ad40-1552d13c00d1",
    'url'    => "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);

$response = curl_exec($cURL);

curl_close($cURL);

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

axios.post(`https://devapi.slick-pay.com/api/v2/users/invoices/${id}`, {
        "amount": 1000,
        "contact": "37990d08-fc51-4c32-ad40-1552d13c00d1",
        "url": "https://my-website.com/thank-you-page",
    }, {
        headers: {
            "Accept": "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 update():
    data = {
        "amount": 1000,
        "contact": "37990d08-fc51-4c32-ad40-1552d13c00d1",
        "url": "https://my-website.com/thank-you-page",
    }
    headers = {
        "Accept": "application/json",
        "Authorization": "Bearer " . YOUR_PUBLIC_KEY,
    }

    response = requests.post("https://devapi.slick-pay.com/api/v2/users/invoices/" . id, headers=headers, json=data)

    return json.loads(response.content)

Supprimer la facture

DELETE Copier

Supprimer toute facture en attente.

Paramètres

Nom Tape Description
id numeric Requis L'identifiant de la facture.

Réponse

Media Type: application/json

{
    "success": 1,
    "message": "Invoice deleted successfully."
}
Nom Tape Description
success numeric L'état de la réponse HTTP, 0 pour faux et 1 pour vrai.
message string Contiendra le message principal de réussite.

Media Type: application/json

{
    "success": 0,
    "message": "Invoice cannot be deleted.",
    "errors": [
        "Invoice cannot be deleted."
    ]
}
Nom Tape Description
success numeric L'état de la réponse HTTP, 0 pour faux et 1 pour vrai.
message string Contenir le message d'erreur principal.
errors array Contenir tous les messages d'erreur.

Media Type: application/json

{
    "success": 0,
    "message": "Invoice not found.",
    "errors": [
        "Invoice not found."
    ]
}
Nom Tape Description
success numeric L'état de la réponse HTTP, 0 pour faux et 1 pour vrai.
message string Contenir le message d'erreur principal.
errors array Contenir tous les messages d'erreur.

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://devapi.slick-pay.com/api/v2/users/invoices/{$id}");
curl_setopt($cURL, CURLOPT_SSL_VERIFYHOST, false);
curl_setopt($cURL, CURLOPT_RETURNTRANSFER, true);
curl_setopt($cURL, CURLOPT_CONNECTTIMEOUT, 3);
curl_setopt($cURL, CURLOPT_CUSTOMREQUEST, 'DELETE');
curl_setopt($cURL, CURLOPT_HTTPHEADER, array(
    "Accept: application/json",
    "Authorization: Bearer {$YOUR_PUBLIC_KEY}",
));
curl_setopt($cURL, CURLOPT_TIMEOUT, 20);

$response = curl_exec($cURL);

curl_close($cURL);

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

axios.delete(`https://devapi.slick-pay.com/api/v2/users/invoices/${id}`, {
        headers: {
            {
                "Accept": "application/json",
                "Authorization": `Bearer ${YOUR_PUBLIC_KEY}`
            }
        }
    })
    .then((result) => {
        let response = result.data;

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

def delete():
    headers = {
        "Accept": "application/json",
        "Authorization": "Bearer " . YOUR_PUBLIC_KEY,
    }

    response = requests.delete("https://devapi.slick-pay.com/api/v2/users/invoices/" . id, headers=headers)
    return json.loads(response.content)

Paiement Web/Mob


Introduction

Avec l'intégration de SlickPay iFrame, vos clients pourront payer leurs factures avec l'application mobile SlickPay depuis votre site Web.


Comment l'utiliser?

1. Définissez le paramètre qrcode sur true lors de la création de votre facture à partir de l'API SlickPay.

2. Ajoutez le code HTML ci-dessous sur votre page de paiement.

<!-- Possible values for locale GET parameter : AR, FR or EN -->
<iframe id="sp-frame" src="https://prodapi.slick-pay.com/api/v2/iframe?locale=FR" frameborder="0"></iframe>
<script>
var iframe = document.getElementById('sp-frame');
iframe.onload = function () {
    iframe.contentWindow.postMessage({
        prod: true, // Api mode: true for production, false for sandbox (test)
        invoice: "PAY-xxxxxxxxxxxx", // Your SlickPay Invoice num (Gotten from SlickPay API)
    }, "*");

    // Customer will be redirected once payment successful
    window.addEventListener('message', (event) => {

        if (event.data.success) // means that the payment was successful
            window.location.href = "https://exemple.com/your-success-url"; // Your success url to redirect to after payment completed
    });
}
</script>

3. L'iframe affichera un code QR à votre client afin de pouvoir effectuer le paiement de la facture à l'aide de l'application mobile SlickPay.

4. Une fois le paiement du client réussi, votre client sera redirigé vers l'URL de rappel définie dans le code html ci-dessus.

Note: N'oubliez pas d'ajouter une vérification côté serveur dans votre page de rappel pour vérifier le statut de la facture SlickPay avant de modifier le statut de la commande.