SDK PHP
Le Digitalpaye SDK PHP est un SDK Laravel qui permet aux développeurs d'interagir avec l'API Digitalpaye de manière transparente depuis des applications PHP. Ce SDK simplifie le processus d'intégration et fournit des méthodes pour effectuer diverses opérations telles que :
La vérification des soldes
La création de demandes de collecte
L'initiation de transferts
Installation
Vous pouvez installer le Digitalpaye SDK PHP via Composer en exécutant la commande suivante :
composer require digitalpaye/digitalpaye-sdk-php
Alternativement, vous pouvez télécharger le SDK directement depuis GitHub : Digitalpaye SDK PHP.
Démarrage
Obtenir le solde
<?php
require_once __DIR__ . '/../vendor/autoload.php';
use DigitalpayeSdkPhp\Services\Digitalpaye;
$apikey = "live_digitalpaye129923061";
$apisecret = "d511e1f4-d932-32fcd-a804-371539700d60c";
$config = new Digitalpaye($apikey, $apisecret);
$balance = $config->getBalance();
echo $balance["data"]["amount"];
?>
Créer une transaction Orange Money
<?php
require_once __DIR__ . '/../vendor/autoload.php';
use DigitalpayeSdkPhp\Services\Digitalpaye;
$apikey = "live_digitalpaye129923061";
$apisecret = "d511e1f4-d932-32fcd-a804-371539700d60c";
$config = new Digitalpaye($apikey, $apisecret);
$dataCreateCollecteOrangeMoney = [
"transactionId" => "DIGITAL-303311901120870",
"customer" => [
"lastName" => "GUEI",
"firstName" => "HELIE",
"phone" => "0777101308",
"email" => "[email protected]",
"address" => [
"countryCode" => "CI",
"city" => "Abidjan",
"streetAddress" => "Plateau Cocody"
]
],
"payer" => "0777101308",
"otpCode" => "4008",
"amount" => "2000",
"currency" => "XOF",
"operator" => "ORANGE_MONEY_CI"
];
$collecteOrangeMoney = $config->createPayment($dataCreateCollecteOrangeMoney);
if ($collecteOrangeMoney['data']["status"] == "PENDING") {
echo "La transaction est en cours de confirmation";
} elseif ($collecteOrangeMoney['data']["status"] == "SUCCESSFUL") {
echo "La transaction a été traitée avec succès.";
} else {
echo $collecteOrangeMoney["message"];
}
?>
Créer une transaction Wave
<?php
require_once __DIR__ . '/../vendor/autoload.php';
use DigitalpayeSdkPhp\Services\Digitalpaye;
$apikey = "live_digitalpaye129923061";
$apisecret = "d511e1f4-d932-32fcd-a804-371539700d60c";
$config = new Digitalpaye($apikey, $apisecret);
$dataCreateCollecteWave = [
"transactionId" => "DIGITAL-303311901120870",
"customer" => [
"lastName" => "GUEI",
"firstName" => "HELIE",
"phone" => "0777101308",
"email" => "[email protected]",
"address" => [
"countryCode" => "CI",
"city" => "Abidjan",
"streetAddress" => "Plateau Cocody"
]
],
"payer" => "0546573332",
"amount" => "2000",
"urlSuccess" => "https://digitalpaye.com",
"urlError" => "https://digitalpaye.com",
"currency" => "XOF",
"operator" => "WAVE_MONEY_CI"
];
$collecteWave = $config->createPayment($dataCreateCollecteWave);
if ($collecteWave['data']["status"] == "PENDING") {
header("Location: " . $collecteWave["data"]["waveLaunchUrl"]);
} else {
echo $collecteWave["message"];
}
?>
Obtenir le statut d'une transaction
<?php
require_once __DIR__ . '/../vendor/autoload.php';
use DigitalpayeSdkPhp\Services\Digitalpaye;
$apikey = "live_digitalpaye129923061";
$apisecret = "d511e1f4-d932-32fcd-a804-371539700d60c";
$transactionId = "f511e4f4-d932-4fcd-a804-51539700d60c";
$config = new Digitalpaye($apikey, $apisecret);
$getStatusTransaction = $config->getStatus($transactionId);
if ($getStatusTransaction["data"]["status"] == "PENDING") {
echo "La transaction est en cours de validation";
} elseif ($getStatusTransaction["data"]["status"] == "SUCCESSFUL") {
echo "La transaction a été validée";
} else {
echo $getStatusTransaction["message"];
}
?>
Faire un transfert d'argent
<?php
require_once __DIR__ . '/../vendor/autoload.php';
use DigitalpayeSdkPhp\Services\Digitalpaye;
$apikey = "live_digitalpaye129923061";
$apisecret = "d511e1f4-d932-32fcd-a804-371539700d60c";
$config = new Digitalpaye($apikey, $apisecret);
$dataCreateTransfer = [
"transactionId" => "DIGITAL-0139601181902",
"customer" => [
"lastName" => "GUEI",
"firstName" => "HELIE",
"phone" => "0777101308",
"address" => [
"countryCode" => "CI",
"city" => "Abidjan",
"streetAddress" => "Yopougon, Carrefour Canal"
]
],
"recipient" => "0777101308",
"amount" => "100",
"currency" => "XOF",
"operator" => "WAVE_MONEY_CI"
];
$transfer = $config->createTransfert($dataCreateTransfer);
if ($transfer['data']["status"] == "SUCCESSFUL") {
echo "Le transfert a été validé";
} elseif ($transfer['data']["status"] == "PENDING") {
echo "Le transfert est en cours";
} else {
echo "Le transfert a échoué";
}
?>
Gestions des erreurs
400
FIELD_MISSING
Indique qu'un champ requis est manquant dans la requête.
401
TOKEN_EXPIRED
Signifie que le jeton d'authentification a expiré et doit être renouvelé.
403
ERROR
Erreur générale indiquant un problème d'accès ou d'autorisation.
406
DEVELOPER_NO_FOUND
Indique que le développeur spécifié n'a pas été trouvé.
407
COMPANY_NO_FOUND
Signale qu'aucune entreprise correspondante n'a été trouvée.
409
TRANSACTION_DUPLICATED
Indique qu'une transaction en double a été détectée.
410
OPERATOR_NO_SUPPORTED
Signifie que l'opérateur spécifié n'est pas pris en charge.
412
AMOUNT_INSUFFISANT
Indique que le montant de la transaction est insuffisant.
504
PAYMENT_FAILED_TRY_AGAINST
Indique que le paiement a échoué et qu'il faut réessayer.
506
COMPANY_NO_VERIFY
Signifie que l'entreprise n'a pas été vérifiée.
507
ACCOUNT_COMPANY_DISABLED
Indique que le compte de l'entreprise est désactivé.
200
SUCESSFUL
Succès de la requête.
201
CREATED
La ressource a été créée avec succès.
202
PAYMENT_IS_PENDING
Indique que le paiement est en attente.
500
ERROR_INTERNE_TRY_AGAIN
Erreur interne du serveur. Réessayez ultérieurement.
Dernière mise à jour
Cet article vous a-t-il été utile ?