Documentation Développeur AstraPay

Intégrez la passerelle de paiement AstraPay en quelques minutes pour accepter les paiements en $ASTRA Web3, Bancontact, Revolut Pay, Cartes et Cryptos.


1. Intégration Client (Drop-in JavaScript SDK)

Ajoutez le script AstraPay dans votre page HTML, puis déclenchez la méthode AstraPay.open() lors du clic sur votre bouton de commande.

<!-- 1. Inclure le script AstraPay --> <script src="https://astratorrent.la/pay/sdk/astrapay.js"></script> <!-- 2. Bouton de Paiement --> <button id="btnPayer">Payer ma commande</button> <script> document.getElementById('btnPayer').addEventListener('click', function() { AstraPay.open({ apiKey: 'pk_live_votre_cle_marchand', // Disponible dans votre dashboard amount: 29.99, // Montant en EUR currency: 'EUR', orderId: 'CMD-9482', // Référence unique de votre commande description: 'Pack VIP 1 Mois', customerEmail: '[email protected]', onSuccess: function(result) { console.log('Paiement validé avec succès !', result); window.location.href = '/commande-succes.php?order=' + result.orderId; }, onCancel: function() { console.log('Le client a fermé la fenêtre de paiement.'); } }); }); </script>

2. Créer une charge côté Serveur (Backend API)

POST /pay/api/v1/create_charge.php

Si vous préférez générer une session de paiement sécurisée depuis votre serveur backend (PHP, Python, Node.js) :

// Exemple en PHP (cURL) $ch = curl_init('https://astratorrent.la/pay/api/v1/create_charge.php'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode([ 'api_key' => 'pk_live_votre_cle_ici', 'amount' => 19.99, 'currency' => 'EUR', 'order_id' => 'ORDER-1002', 'description' => 'Abonnement Membre' ])); $response = json_decode(curl_exec($ch), true); curl_close($ch); // Rediriger le client vers l'URL de paiement reçue : $checkoutUrl = $response['checkout_url'];

3. Vérification du Statut d'un Paiement

GET /pay/api/v1/check_status.php?order_id=ORDER-1002

{ "status": "success", "charge_id": "ch_7a9c8b...", "order_id": "ORDER-1002", "payment_status": "succeeded", "amount_eur": 19.99, "amount_astra": 19.99, "payment_method": "ASTRA_WEB3", "paid_at": "2026-09-25 08:30:12" }

4. Réception & Vérification des Webhooks (IPN)

AstraPay notifie votre serveur en temps réel via une requête HTTP POST signée avec votre clé secrète (sk_live_...).

// Exemple de script webhook sur votre serveur (webhook.php) : $rawPayload = file_get_contents('php://input'); $signatureHeader = $_SERVER['HTTP_X_ASTRAPAY_SIGNATURE'] ?? ''; $mySecretKey = 'sk_live_votre_cle_secrete'; // 1. Vérifier la signature HMAC-SHA256 $computedSignature = hash_hmac('sha256', $rawPayload, $mySecretKey); if (!hash_equals($computedSignature, $signatureHeader)) { http_response_code(401); die('Signature AstraPay invalide'); } // 2. Traiter l'événement $event = json_decode($rawPayload, true); if ($event['event'] === 'charge.succeeded') { $orderId = $event['data']['order_id']; $amount = $event['data']['amount_eur']; $method = $event['data']['payment_method']; // Débloquer la commande dans votre base de données : // markOrderAsPaid($orderId, $method); } http_response_code(200); echo json_encode(['received' => true]);

5. Spécifications du Smart Contract $ASTRA

Réseau : Polygon Mainnet (PoS) Chain ID : 137 (0x89 hex) Adresse Contrat : 0x8Ec0e48B6a868BCE2dC82a03EaC26216C5773B6A Symbole : ASTRA Décimales : 18 Parité Garantie : 1 ASTRA = 1.00 €