Précision du Règlement et Cas Limites

Gestion des Paiements Crypto Sous-Payés et Surpayés

Lorsque les clients paient depuis des plateformes d'échange centralisées (Binance, OKX, Coinbase), l'exchange déduit souvent des frais de retrait réseau de $0.80–$1.00 du montant envoyé. Découvrez comment le moteur de tolérance et les états webhook de XPayr automatisent ce rapprochement.

1. Trois Résultats Déterministes de Règlement

Scénario Événement Webhook Comportement de la Passerelle et du Contrat Intelligent
Sous-Paiement dans la Tolérance (ex. $99 sur $100) payment.underpaid_accepted Accepté automatiquement lorsque l'écart reste dans votre seuil de tolérance configuré (ex. 1 %–2 %). La commission fixe de frais fixes de 0.5% est calculée sur le montant réellement reçu.
Sous-Paiement Hors Tolérance (Paiement Partiel) payment.partial_pending L'interface de paiement affiche le solde exact restant en temps réel afin que l'acheteur puisse envoyer un second paiement complémentaire avant l'expiration de la session, ou que le marchand l'accepte manuellement dans le Tableau de bord.
Règlement avec Trop-Perçu (ex. $105 sur $100) payment.completed (overpaid_delta > 0) La commande est immédiatement marquée comme honorée ; la valeur exacte de overpaid_amount est enregistrée dans la charge utile du webhook et dans le dossier de preuve de paiement afin de créditer le solde client.

2. Exemple de Charge Utile Webhook `payment.underpaid_accepted`

Vous pouvez simuler cet événement exact et inspecter ses en-têtes de signature HMAC-SHA256 en direct dans le Testeur Interactif de Webhooks:

{
  "event": "payment.underpaid_accepted",
  "event_id": "evt_01J9XPAYR_UNDERPAID_89A2",
  "created_at": "2026-11-10T18:00:00Z",
  "data": {
    "session_id": "cs_live_98a7b6c5d4e3",
    "order_id": "ORD-2026-8841",
    "network": "tron-mainnet",
    "currency": "USDT",
    "expected_amount": "100.000000",
    "received_amount": "99.000000",
    "shortfall_amount": "1.000000",
    "shortfall_percent": 1.0,
    "merchant_tolerance_percent": 1.5,
    "gateway_fee_amount": "0.495000",
    "merchant_net_amount": "98.505000",
    "tx_hash": "0x9f8e7d6c5b4a3f2e1d0c9b8a7f6e5d4c3b2a1f0e9d8c7b6a5f4e3d2c1b0a9f8e",
    "resolution": "auto_accepted_within_tolerance"
  }
}

3. Vérification des Preuves de Sous-Paiement et de Trop-Perçu en Node.js

// Verify underpaid/completed settlement evidence with @xpayr/payment-evidence (v0.2.0)
import { verifyPaymentEvidence } from "@xpayr/payment-evidence";

const verification = await verifyPaymentEvidence(webhookPayload, {
  webhookSecret: process.env.XPAYR_WEBHOOK_SECRET,
  signatureHeader: req.headers["x-xpayr-signature"],
  allowUnderpaidWithinTolerance: true
});

if (verification.valid) {
  await fulfillOrder(webhookPayload.data.order_id, {
    receivedAmount: webhookPayload.data.received_amount,
    txHash: webhookPayload.data.tx_hash
  });
}
SDK NPM Officiels (v0.2.0) et Serveur MCP Distant

Intégrez Plus Vite avec les Paquets Officiels XPayr et MCP sans Installation

Installez @xpayr/node-sdk (v0.2.0), @xpayr/payment-evidence (v0.2.0), @xpayr/extension-kit (v0.2.0)ou @xpayr/mcp-server (v1.0.0) depuis NPM, ou exécutez des appels d'outils JSON-RPC 2.0 en direct via POST https://xpayr.com/api/mcp.

Playground MCP en Direct (/tools/mcp-playground) Vérificateur de licences ES256 Simulateur de politiques d'agents IA Testeur de Webhook HMAC-SHA256 mcp.xpayr.com docs.xpayr.com api-docs.xpayr.com