Variables d’environnement
Gérez en toute sécurité vos clés API et variables d’environnement.
Clés API
lomi. propose deux types de clés API pour chaque environnement :
- Clés secrètes (
lomi_sk_test_…/lomi_sk_live_…) : accès complet, uniquement côté serveur. Ne les partagez jamais. - Clés publiables (
pk_…le cas échéant) : accès limité ; utilisables côté client uniquement lorsque votre intégration le prévoit explicitement.
Les anciens exemples peuvent afficher les préfixes sk_test_ / sk_live_. Les clés actuellement délivrées par le tableau de bord suivent lomi_sk_test_ et lomi_sk_live_, comme dans Authentification.
Gestion des variables d’environnement
Définissez-les dans votre fichier .env ou votre configuration de déploiement :
# Required: Your secret key
LOMI_SECRET_KEY=lomi_sk_test_xxxxxxxxxxxxxxxxxxxxxx
# Required: Your webhook secret
LOMI_WEBHOOK_SECRET=whsec_xxxxxxxxxxxxxxxxxxxxxx
# Optional: Base URL (defaults to https://api.lomi.africa)
# LOMI_API_URL=https://api.lomi.africaExemples d’initialisation
Initialiser le SDK avec vos variables d’environnement :
import { LomiSDK } from '@lomi./sdk';
const lomi = new LomiSDK({
apiKey: process.env.LOMI_SECRET_KEY!,
environment: 'live', // or 'test'
// Optional: Custom timeout
timeout: 30000,
});
import os
from lomi import LomiClient
api_client = LomiClient(
api_key=os.environ["LOMI_SECRET_KEY"],
environment="test" # or "live"
)import (
"os"
lomi "github.com/lomiafrica/lomi-go-sdk"
)
configuration := lomi.NewConfiguration()
// Override host for sandbox
configuration.Servers = lomi.ServerConfigurations{
{
URL: "https://sandbox.api.lomi.africa",
Description: "Sandbox Environment",
},
}
client := lomi.NewAPIClient(configuration)
use Lomi\Configuration;
$config = Configuration::getDefaultConfiguration()
->setApiKey('X-API-KEY', getenv('LOMI_SECRET_KEY'))
->setHost('https://sandbox.api.lomi.africa');Vérification des webhooks
Vérifiez les webhooks entrants à l’aide de LOMI_WEBHOOK_SECRET :
// Express example
import crypto from 'crypto';
app.post('/webhook', (req, res) => {
const signature = req.headers['x-lomi-signature'];
const secret = process.env.LOMI_WEBHOOK_SECRET!;
const expected = crypto
.createHmac('sha256', secret)
.update(req.rawBody)
.digest('hex');
if (signature !== expected) {
return res.status(400).send('Invalid signature');
}
// Process event...
});
# Flask example
import hmac
import hashlib
@app.route('/webhook', methods=['POST'])
def webhook():
signature = request.headers.get('x-lomi-signature')
secret = os.environ['LOMI_WEBHOOK_SECRET'].encode()
expected = hmac.new(secret, request.data, hashlib.sha256).hexdigest()
if not hmac.compare_digest(signature, expected):
return jsonify({'error': 'Invalid signature'}), 400
# Process event...func webhookHandler(w http.ResponseWriter, r *http.Request) {
signature := r.Header.Get("x-lomi-signature")
secret := os.Getenv("LOMI_WEBHOOK_SECRET")
body, _ := io.ReadAll(r.Body)
mac := hmac.New(sha256.New, []byte(secret))
mac.Write(body)
expected := hex.EncodeToString(mac.Sum(nil))
if !hmac.Equal([]byte(signature), []byte(expected)) {
http.Error(w, "Invalid signature", http.StatusBadRequest)
return
}
}$signature = $_SERVER['HTTP_X_LOMI_SIGNATURE'];
$secret = getenv('LOMI_WEBHOOK_SECRET');
$payload = file_get_contents('php://input');
$expected = hash_hmac('sha256', $payload, $secret);
if (!hash_equals($expected, $signature)) {
die('Invalid signature');
}
Premiers pas
Configurez votre intégration lomi. et commencez à accepter les paiements en quelques minutes.
Configurer les webhooks
Les webhooks permettent à votre application de recevoir des notifications en temps réel sur les événements qui se produisent dans votre compte lomi., comme les paiements réussis, les nouveaux abonnements ou les transactions échouées.