Skip to main content

Lister les actifs

Choisissez un asset_code retourné par l’API. Ne supposez pas que tous les réseaux sont actifs.

Créer un paiement crypto

Pour tout paiement crypto, les trois informations client sont obligatoires : customer.email, customer.firstName et customer.lastName. La requête est refusée si l’une de ces valeurs manque ou n’est pas valide.

Réponse de création (HTTP 202)

Une nouvelle collecte renvoie 202 Accepted avec une transaction en attente. Voici le contrat de réponse exact. Les valeurs ci-dessous indiquent les types, pas un paiement ni une adresse réels :
network est l’identifiant du réseau retourné par /v1/crypto/assets. amount et currency reprennent le montant demandé; les champs *_usdt, credited_amount et fee_amount contiennent les montants calculés par l’API en USDT. L’adresse, le memo/tag, les frais et l’expiration sont des valeurs produites à l’exécution : ne les inventez pas et ne lancez pas un paiement réel uniquement pour découvrir la structure de la réponse. Le champ d’entrée reference est facultatif et limité à 191 caractères; il est retourné sous merchant_reference. Un nouvel appel avec la même reference et les mêmes paramètres peut renvoyer 200 OK avec idempotent_replay: true. Dans ce cas, status reflète l’état déjà enregistré et peut différer de pending. Si deux requêtes arrivent pendant que la première crée encore l’adresse, la seconde peut renvoyer 202 pending sans adresse. Consultez alors GET /v1/transaction/{transaction_id}?user_id=VOTRE_USER_ID pour récupérer l’adresse dès qu’elle est prête; ne créez pas une nouvelle référence pour relancer le paiement.

Champ customer

customer doit être un objet JSON, jamais une chaîne ou un tableau :
Les trois champs email, firstName et lastName sont obligatoires pour le Hosted Checkout crypto comme pour la Direct API. N’inventez jamais ces informations : demandez-les au payeur ou arrêtez la requête avec une erreur explicite.

Adresse et QR code

La réponse fournit une adresse de paiement et, selon le réseau, un memo ou un tag. Conservez ces valeurs séparées et affichez le QR code côté application avec le format correspondant au réseau.
Un paiement crypto doit utiliser exactement le réseau retourné par l’API. Une adresse ou un réseau incorrect peut rendre les fonds irrécupérables.

Expiration de l’adresse

L’adresse créée est temporaire. La réponse de création retourne expiresAt pour le Hosted Checkout et expires_at dans le statut Direct API, sous forme de date/heure ISO 8601 lorsque cette valeur est disponible. Le client doit envoyer les fonds avant cette date. Indépendamment du compte à rebours affiché dans l’interface, AshTech Pay considère une transaction Crypto restée pending comme expirée après 15 minutes. Le statut serveur et le webhook restent la source de vérité : attendez la confirmation completed avant de livrer une commande et ne réutilisez pas une adresse après son expiration.

Crédit et confirmation

Le paiement n’est considéré comme terminé qu’après confirmation par AshTech Pay. Attendez le webhook completed avant de livrer une commande.