Créer un portefeuille exclusif
Crée une adresse de réception exclusive pour un bindKey. Les futurs dépôts à cette adresse appartiennent en permanence à ce bindKey.
Si notifyUrl est fourni, les futures commandes de recharge créées automatiquement pour cette adresse exclusive rappelleront d'abord ce URL. Ceci est utile lorsque chaque site ou application reçoit ses propres notifications de recharge de membres.
En-têtes
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
| x-api-key | string | Oui | Marchand API Key. Utilisez la valeur commençant par mch_ de la page des paramètres API du marchand. |
| x-merchant-uid | string | Oui | Merchant UID. |
| x-timestamp | string | Oui | Milliseconde à 13 chiffres timestamp. La dérive d'horloge autorisée par défaut est de 5 minutes. |
| x-nonce | string | Oui | Chaîne aléatoire unique pour chaque requête, jusqu'à 128 caractères. La réutilisation est rejetée. |
| x-signature | string | Oui | Signature hexadécimale générée avec HMAC-SHA256. La charge utile contient Merchant UID, timestamp, nonce, la méthode, le chemin, le query canonique et le body canonique. |
Paramètres
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
| chainCode | string | Oui | Code de chaîne. Valeurs prises en charge : TRON / BSC / SOL. |
| tokenSymbol | string | Oui | Symbole de jeton. |
| bindKey | string | Oui | Clé de liaison unique côté commerçant. |
| label | string | Non | Remarque contraignante. |
| notifyUrl | string | Non | Rappel indépendant URL pour cette adresse exclusive. Les commandes créées automatiquement à partir des dépôts futurs seront rappelées ici en premier. |
Exemple de requête
{
"chainCode": "TRON",
"tokenSymbol": "USDT",
"bindKey": "USER_90001",
"label": "VIP User 90001",
"notifyUrl": "https://merchant.example.com/api/uugate/member-topup-notify"
}Champs de réponse
| Champ | Type | Obligatoire | Description |
|---|---|---|---|
| bindingId | number | Oui | ID d’enregistrement de liaison. |
| chainCode | string | Oui | Code de chaîne. |
| tokenSymbol | string | Oui | Symbole de jeton. |
| bindKey | string | Oui | Clé de liaison. |
| addressId | number | Oui | Identifiant d'adresse. |
| address | string | Oui | Adresse de réception exclusive. |
| addressType | string | Oui | Toujours exclusif. |
| notifyUrl | string | null | Oui | Rappel exclusif URL utilisé par cette liaison. |
| status | string | Oui | Reliure status. |
Exemple de réponse
{
"bindingId": 70031,
"chainCode": "TRON",
"tokenSymbol": "USDT",
"bindKey": "USER_90001",
"addressId": 31088,
"address": "TQ3sCY8k9h7G9UsApY3JPt5VDpNKr2kJ1E",
"addressType": "exclusive",
"notifyUrl": "https://merchant.example.com/api/uugate/member-topup-notify",
"status": "active"
}Exemples de code
cURL Exemple de demande
curl -X POST 'https://api.uugate.com/openapi/payin/exclusive-bindings' \
-H 'Content-Type: application/json' \
-H 'x-api-key: mch_xxxxxxxxxxxxxxxxxxxx' \
-H 'x-merchant-uid: 880001' \
-H 'x-timestamp: 1776193200000' \
-H 'x-nonce: 2f5c7b147c3748f0a8b3d9bb38aa91a4' \
-H 'x-signature: <SIGNATURE_HEX>' \
-d '{
"chainCode": "TRON",
"tokenSymbol": "USDT",
"bindKey": "USER_90001",
"label": "VIP User 90001",
"notifyUrl": "https://merchant.example.com/api/uugate/member-topup-notify"
}'Notes
- Si le même bindKey est créé à nouveau, la plateforme renvoie de manière idempotente la liaison et l'adresse existantes, ce qui fonctionne bien pour un flux get-or-create.
- Pour la recharge des membres, transmettez notifyUrl au moment de la liaison afin que les dépôts de n'importe quel montant à l'adresse exclusive soient rappelés directement sur le site ou l'application correspondant.