Transferts et rapprochements de contrats
Transferts et rapprochements de contrats: Intégration Agent Java SDK v0.3.0, exemples, paramètres et sémantique de réponse.
Ce guide cible Agent Java SDK v0.3.0, Java 8+ et le contrat public étiqueté. Exemples exécutés dans un backend partenaire après l’initialisation de client dans Démarrage rapide.
Exemples de prérequis
Les extraits de code Java partagent ces importations. Initialisez client à l’aide de Quick Start et obtenez platformUserId à partir de la liaison enregistrée. Les exemples d’ID utilisateur/commande doivent être remplacés par vos propres valeurs persistantes.
Transfert à montant fixe
Utilisez transfer pour les transferts d’un montant fixe. Direction.IN signifie transférer
de la plateforme partenaire vers 6MM. Direction.OUT signifie un transfert depuis 6MM
retour à la plateforme partenaire.
Utilisez des chaînes ou BigDecimal pour les montants. N’utilisez pas double ou float.
Transfert par agentUserId
Transfert par platformUserId
Fournir les deux identifiants
Si les deux identifiants sont fournis, le service valide qu’ils pointent vers le même utilisateur lié.
Champs de requête :
Champs de réponse :
Confirmation de commande et idempotence
Après l’appel de transfer, le service Agent appelle de manière synchrone le trading
noyau sur le chemin principal. Dans la plupart des cas, la réponse API contient déjà le
résultat de trading synchrone.
Exigences d’idempotence :
- Utilisez un
agentOrderNopour une transaction commerciale. - Si HTTP expire ou si le réseau tombe en panne, interrogez d’abord le même
agentOrderNo. - Webhooks peut être réessayé. Dédupliquez-les par clé d’idempotence.
Transférer tout
transferAllOut déplace le solde côté 6MM retirable de l’utilisateur vers le
plateforme partenaire.
Par platformUserId :
amount dans la réponse correspond au montant réel transféré.
Ordre inversé
Reverse est utilisé pour compenser un ordre de transfert réussi lorsque le backend prend en charge le flux inverse. Les cas typiques incluent les exceptions de commande locale du partenaire ou une restauration manuelle du rapprochement.
Champs :
Remarques :
- L’inversion n’est pas une opération d’annulation normale.
- Les commandes inversées doivent également être idempotentes par numéro de commande.
- Une fois qu’une commande initiale est annulée, webhook peut repousser la commande initiale.
REVERSEDétat final.
Ordre de requête
Valeurs orderType prises en charge :
TRANSFER_INTRANSFER_OUT
Champs de réponse courants :
Liste des commandes
Recommandations de pagination :
pagecommence à 1.- Gardez
pageSizeà 100 ou moins. - Pour les tâches de réconciliation, page par fenêtre horaire et déduplication avant
orderNo.
Source et guides associés
- Source officielle v0.3.0
- Présentation et pagination des requêtes
- Portefeuille de financement
- Guide de mise à niveau
Rappels d’événements de fonds
transfer.completed peut contenir SUCCESS, FAILED ou une mise à jour de commande originale de REVERSED ; reverse.completed est un événement terminal d’ordre d’inversion. transfer.dead signifie que l’état final n’est pas confirmé après de nouvelles tentatives et nécessite une réconciliation manuelle, et non un échec confirmé. Le nom de l’événement à lui seul ne prouve pas que les fonds ont été crédités.
Un accusé de réception réussi est distinct d’un mouvement de fonds réussi : après avoir enregistré une notification targetStatus=FAILED valide, renvoyez également HTTP 2xx. Conserver la déduplication des événements de fonds par orderType:orderId:targetStatus au sein du commerçant et dans la portée de environment.
Champs d’événement et exemples de JSON · Vérification de signature, réponses et tentatives