intram-sdk / php
Permet aux entreprises et aux particuliers de recevoir des paiements par mobile money, carte de crédit et compte bancaire en toute sécurité.
Installs: 22
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/intram-sdk/php
Requires
- guzzlehttp/guzzle: ^7.0
This package is not auto-updated.
Last update: 2025-12-31 18:24:40 UTC
README
Bibliothèque PHP pour INTRAM (intram.com).
Construit sur l'API HTTP INTRAM (bêta).
Génération de vos clés API
Installation via composer
composer require intram-sdk/php
API configuration
Configurez les clés d'API intram.
$paycfa = new \intram\PayCfa\PayCfa( "5b06f06a0aad7d0163c414926b635ee9cdf41438de0f09d70a4acf153083b7ed375a691e3513b42544530469e1ff8657b34508dc61927048444dd6dc9ccbb87f", "pk_9c0410014969f276e8b3685fec7b1b2ab41fc760db2976c75e32ec0fdc3b7d5575a7087f9aeb4d8a29a949ac4cac11363b39ff6a6d9dc3bc6ce0f328c62c3c58", "sk_08bd75f9468b484d8a9f24daddff4638d6513fdcf3ff4dd533e72ce55c22eac3207c12af49400ecddb1969ad3db152b0c338c0050c4540f9d0cb8c3cd3cb8c26", "marchand_id", true)
Connectez-vous à votre compte Intram, cliquez sur Développeur, puis sur API à ce niveau, récupérez les clés API et donnez-les comme arguments au contrôleur.
Initialisez Intram PayCfa en entrant dans l'ordre: PUBLIC_KEY, PRIVATE_KEY, INTRAM_SECRET, INTRAM_MARCHAND_KEY, MODE
Le mode: true pour le mode live et false pour le mode test.
##Configurez les informations de votre service / entreprise
Définition du nom de la boutique
(requis)
$paycfa->setNameStore("Suntech Store");
Définition de l'URL du logo de la boutique
$paycfa->setLogoUrlStore("https://www.suntechshop/logo.png");
Configuration du site Web de la boutique
$paycfa->setWebSiteUrlStore("https://www.suntechshop");
Configuration du numéro de téléphone
$paycfa->setPhoneStore("97000000");
Configuration de l'adresse postale
$paycfa->setPostalAdressStore("BP 35");
##Créer une transaction de paiement Afin de permettre à l'utilisateur d'effectuer un paiement sur votre boutique, vous devez créer la transaction puis lui envoyer l'url de paiement ou le code qr à scanner. Pour ça :
Add Invoice Items
Ajouter les différents produits de l'achat (obligatoire)
$paycfa->setItems([ ['name'=>"T-shirt",'qte'=>"2",'price'=>"500",'totalamount'=>"1000"], ['name'=>"trouser",'qte'=>"1",'price'=>"12500",'totalamount'=>"12500"], ]);
Configuration du montant de la TVA
TVA (optionnel)
payfa->setTva([["name" => "VAT (18%)", "amount" => 1000],["name" => " other VAT", "amount" => 500]]);
Ajout de données personnalisées
(optionnel)
$paycfa->setCustomData([['CartID',"32393"],['PERIOD',"TABASKI"]]);
Définition du montant total
Total de la commande (obligatoire)
$paycfa->setAmount(13600);
Définition de la devise
Devise de paiement (obligatoire)
$paycfa->setCurrency("XOF");
Description
Description de l'opération (obligatoire)
$paycfa->setDescription("Pretty and suitable for your waterfall");
Template a utilisé sur le portail de paiement
(obligatoire)
$paycfa->setTemplate("default");
Définition de l'URL de redirection de la boutique
(optionnel)
$paycfa->setRedirectionUrl("https://www.suntechshop/redirection-url");
Définition de l'URL de retour du magasin
(optionnel)
$paycfa->setReturnUrl("https://www.suntechshop/return-url");
Définition de l'URL d'annulation du magasin
(optionnel)
$paycfa->setCancelUrl("https://www.suntechshop/cancel-url");
Faire la demande de paiement
(obligatoire)
$response = json_decode($paycfa->setRequestPayment());
Réponse attendue
{
"status": "PENDING",
"transaction_id": "5f2d7a96b97d9d3fea912c11",
"receipt_url": "localhost:3000/payment/gate/5f2d7a96b97d9d3fea912c11",
"total_amount": 1000,
"message": "Transaction created successfully",
"error": false
}
Récupération des données
$transaction_id = $response->transaction_id; $status = $response->status; $receipt_url = $response->receipt_url; $total_amount = $response->total_amount; $message = $response->message; $error = $response->error;
##Obtenir le statut de la transaction
Passer l'identifiant de la transaction comme argument à la fonction (obligatoire)
$paycfa->getTransactionStatus(5f2d7a96b97d9d3fea912c11);
Réponse attendue
{
"error":false,
"status":"PENDING",
"transaction":{
"_status":"PENDING",
"_channels":[
],
"_created_at":"2021-02-16T16:56:56.488Z",
"_id":"602fd5463f1edd6264e4107c",
"_env":"sandbox",
"_type":"DEBIT",
"marchand":{
"_statut":true,
"_principal":true,
"_state_id":"5f31a47a38111e135ae7b7f3",
"_valide":true,
"customers":[
"602e587a3f1edd6264e4107a"
],
"_settingtransaction":[
],
"_template":[
],
"_env":"sandbox",
"_created_at":"2021-02-16T11:44:58.649Z",
"_id":"602bb0987b66df8e97a4ef9e",
"_reason":null,
"_usermeanspaiement":[
"602e3380b937b529ebfbf23f",
"602e36178fca9830534e5271"
],
"_settingreversement":null,
"wallet":"602bb0997b66df8e97a4ef9f",
"_user_id":"601bbe97cc481829fa1237fd",
"_web_site":"https:://speedcash.com",
"_company":"SpeedCash",
"_email":"speedcash@gmail.com",
"_categorie_id":"60268a988835ed5bff34de89",
"country":"6013d5f9c477f8777270787b",
"__v":1
},
"_actions":{
"cancel_url":"https://jshop.com/",
"return_url":"https://jshop.com/",
"callback_url":"https://jshop.com/"
},
"_store":{
"name":"JShop",
"postal_adress":"BP 35",
"logo_url":"https://jshop.com/logo.png",
"web_site_url":"https://jshop.com/logo.png",
"phone":"97000000",
"template":"default"
},
"_reference":"QW9PHIeVyL",
"_amount":1000,
"_country_code":"BJ",
"_qrcode":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHQAAAB0CAYAAABUmhYnAAAAAklEQVR4AewaftIAAAK2SURBVO3BQW7sWAwEwSxC979yjpdcPUCQur/NYUT8wRqjWKMUa5RijVKsUYo1SrFGKdYoxRqlWKMUa5RijVKsUYo1SrFGKdYoFw8l4ZtUTpLQqXRJ6FROkvBNKk8Ua5RijVKsUS5epvKmJJwkoVM5UXlC5U1JeFOxRinWKMUa5eLDknCHyh0qJ0m4Q+WOJNyh8knFGqVYoxRrlIv/GZXJijVKsUYp1igXf1wSTlS6JJyo/GXFGqVYoxRrlIsPU/kklZMknKg8ofKbFGuUYo1SrFEuXpaEb0pCp3Ki0iWhUzlJwm9WrFGKNUqxRok/WGMUa5RijVKsUS4eSkKn0iWhU+mS0Kl0SehUTpLQqZwkoVO5IwmdykkSOpU3FWuUYo1SrFEufpkkdCpdEjqVTqVLwolKl4QTlU6lS0KncpKETuWJYo1SrFGKNcrFy5LQqXRJOFHpktCpdEn4piQ8odIl4U3FGqVYoxRrlPiDfygJncoTSehUuiScqHRJ6FTelIRO5YlijVKsUYo1SvzBA0k4UemS0Kl0SThR6ZLwhModSXhC5ZOKNUqxRinWKPEHf1gS7lD5piScqLypWKMUa5RijXLxUBK+SaVTOUnCSRLuUHlTEjqVJ4o1SrFGKdYoFy9TeVMS7khCp3Ki0iWhU3mTSpeENxVrlGKNUqxRLj4sCXeo3JGEJ5LwRBI6lX+pWKMUa5RijXLxx6l0SeiScKLSJeEOlS4JnUqXhE7lTcUapVijFGuUiz8uCW9S6ZLQqXRJuEOlS0Kn8kSxRinWKMUa5eLDVD5JpUvCHUk4UemS0KmcJOGbijVKsUYp1igXL0vCNyXhCZWTJHQqXRLuUOmS8KZijVKsUYo1SvzBGqNYoxRrlGKNUqxRijVKsUYp1ijFGqVYoxRrlGKNUqxRijVKsUYp1ij/AQf/C/ZESO1HAAAAAElFTkSuQmCC",
"x_currency":"6013e6c0a948101dcda9acd9",
"__v":0,
"invoice":{
"custom_datas":[
[
"CartID",
"32393"
],
[
"PERIOD",
"TABASKI"
]
],
"_created_at":"2021-02-16T16:56:58.771Z",
"_id":"602fd5473f1edd6264e4107d",
"currency":"XOF",
"items":[
{
"_id":"602fd5473f1edd6264e4107e",
"name":"short",
"price":500
}
],
"taxes":[
{
"_id":"602fd5473f1edd6264e4107f",
"name":"VAT (18%)",
"amount":1000
},
{
"_id":"602fd5473f1edd6264e41080",
"name":"other VAT",
"amount":500
}
],
"amount":1000,
"description":"At vero eos et accusam et justo duo dolores",
"transaction":"602fd5463f1edd6264e4107c",
"__v":0
}
},
"message":"statut de la transaction"
}
Running Tests
To run tests just setup the API configuration environment variables. An internet connection is required for some of the tests to pass.
License
MIT