Intégration des paiements crypto : wallets de dépôt, callbacks (IPN), vérification de la configuration on-chain (split). Tout le contenu est autonome dans ce fichier (HTML + CSS + JS).
Informations générales
Élément
Détail
Format
JSON — Content-Type: application/json pour les corps de requête
Encodage
UTF-8
CORS
Access-Control-Allow-Origin: * avec les bons en-têtes
Préflight
OPTIONS → 200 sans corps
URL de base
Remplacez {BASE_URL} selon l’environnement.
Environnement
URL
Production
https://nxtgatew.com
Local (ex. MAMP)
http://localhost:8888/nxtgatew
Chemins API : POST{BASE_URL}/api/v1/wallets/create · GET{BASE_URL}/api/v1/wallets/check-config
Authentification
Chaque requête doit inclure :
En-tête
Obligatoire
Description
X-API-Key
Oui
Clé API (merchant, psp ou admin)
X-API-Secret
Oui
Secret API associé
Les identifiants sont créés à l’inscription (marchand / PSP ; admin possible pour l’exploitation). Ne publiez pas le secret. Comptes active avec rôle merchant, psp ou admin — sinon 401.
Codes HTTP & erreurs
Schéma d’erreur typique :
Example
{
"success": false,
"error": "Message lisible expliquant le problème"
}
Champs additionnels possibles : hint, json_error_code, raw_input_preview, debug, etc.
Adresse de réception générée par la plateforme, callback IPN, affiliés optionnels. Sur Ethereum / Polygon, le détail split_config dans la réponse 201 est réservé aux clés API admin ; les marchands utilisent GET check-config.
POST{BASE_URL}/api/v1/wallets/create
Clé
Valeur
Content-Type
application/json
X-API-Key
Votre clé API
X-API-Secret
Votre secret API
Champ
Type
Req.
Description
address
string
Oui
Wallet marchand (destination après split). Format selon network.
callback
string
Oui
URL de notification IPN. Alias : callback_url.
network
string
Non
ethereum | polygon | tron | solana — défaut ethereum
affiliate_address
string
Non
Adresse affilié — avec affiliate_percent ou affiliate_percent_bps
subaff_address
string
Non
Sous-affilié — avec subaff_percent ou subaff_percent_bps
affiliate_percent
number
Non
% du brut (ex. 1 = 1 %) — prioritaire sur affiliate_percent_bps
subaff_percent
number
Non
Idem sous-affilié
split_amounts_unit
string
Non
bps (défaut) ou percent : si percent, *_percent_bps = % du brut, pas des bps
affiliate_percent_bps
int
Non
Bps du brut (100 = 1 %) sauf si split_amounts_unit = percent
subaff_percent_bps
int
Non
Idem sous-affilié
ipn_token
string
Non
Votre jeton de corrélation ; sinon généré (64 hex)
Formats : EVM 0x + 40 hex · Tron T + 34 car. · Solana base58 (32–44 car.)
Affilié et sous-affilié
Parts en % du montant brut (stockage interne en bps). Exemple de champs dans le JSON :
Réponse marchand / PSP sur EVM : pas de split_config. Avec clé API admin, data.split_config peut inclure mode, created, contract_address, error, check_url.
Champ data
Description
address
Adresse générée à donner au client pour payer
ipn_token
À conserver pour lier / sécuriser les callbacks
affiliate_wallet_address / subaff_wallet_address
Absents du JSON si non fournis à la création
platform_percent
Part plateforme — % du brut uniquement (pas de *_bps dans la réponse JSON)
affiliate_percent / subaff_percent
% du brut — absents du JSON si aucune adresse affilié / sous-affilié à la création
split_config
ethereum / polygonet rôle API admin uniquement ; sinon GET check-config
GET Vérifier la configuration split
État d’un wallet de dépôt vous appartenant : base de données + lecture on-chain (EVM si le serveur exécute le script de vérification).
Données stockées côté NxtGateW ; platform_percent toujours ; affiliate_percent / subaff_percent seulement si l’adresse en base est renseignée — pas de *_bps
on_chain.config_exists
Config lue sur la chaîne
match
true si config on-chain + adresse marchand alignée avec la base
Basis points (bps)
10 000 bps = 100 %
bps
%
100
1 %
50
0,5 %
1
0,01 %
Frais plateforme et plafonds (plateforme + affiliés ≤ 100 %) sont appliqués côté contrat.
Bonnes pratiques
HTTPS pour callback en production.
Valider ipn_token (ou signature) sur chaque webhook entrant.
Après create sur EVM, utiliser GET check-config pour valider base + on-chain (les admins peuvent aussi lire split_config dans la réponse create).
En 401, vérifier en-têtes, encodage et statut du compte marchand.