Intégration avec votre service

Marchand

Créer une commande

Utiliser la méthode public/exchanger/order/create

Nom Description Type
routeId identifiant directement ObjectID
partner code partenaire STRING
amount montant FLOAT
fromValues[0][key] clé de champ ObjectID
fromValues[0][value] valeur du champ STRING
toValues[0][key] clé de champ STRING
toValues[0][value] valeur du champ STRING
routeValues[0][key] clé de champ ObjectID
routeValues[0][value] valeur du champ STRING
lang langue STRING
agreement accord BOOLEAN
hideOutData cacher détails BOOLEAN
clientCallbackUrl rappel appeler lorsque le programme est terminé, le client verra un bouton pour revenir sur le site et le client sera redirigé vers cette URL. ?status=success ou sur ?status=error STRING
ipnUrl URL de notification de paiement instantanée (sera appelé lorsque le statut de la commande change) STRING
ipnSecret chaîne à créer sûr hachage dans ipn URL STRING

Documentation système autorisation tu peux trouver en perso bureau. En savoir plus sur l'utilisation des méthodes et des méthodes supplémentaires données tu peux trouver sur

IPN (Notification d'un changement dans l'état du paiement demande)

À obtenir notification d'un changement de statut de la demande en cours de la demande la création est nécessaire envoyer supplémentaire paramètres:

  • clientCallbackUrl - rappel appeler lorsque le programme est terminé, le client verra un bouton pour revenir sur le site et le client sera redirigé vers cette URL.
  • hideOutData - cacher données destinataire
  • ipnUrl - Le lien HTTP/HTTPS pour la notification votre serveur.
  • ipnSecret - Chaîne aléatoire à générer signature demande (de soutien intégrité demande)
  1. La requête sera envoyée via la méthode POST
  2. L'IPN sera envoyé une fois
  3. La livraison de l'IPN n'est pas garantie (si le serveur n'a pas répondu à la requête, elle ne sera pas renvoyée)

Exemple d'IPN

  • POST
  • ['Content-Type'] = 'application/x-www-form-urlencoded'


  • orderUID :Number() - demande uid
  • orderId :String(ObjectId) -demande id
  • newStatus :String() - demande état actuel
  • inAmount :String(number) - order in sum
  • outAmount :String(number) - order out sum
  • xml_from :String() - demande uid
  • xml_to :String() - demande uid
  • timestamp :Number() - heure unix et ipn notification
  • toValues :Array([{key,name,value}]) - détails de La demande

  • new - nouvelle demande
  • waitPayment - nous attendons paiement depuis utilisateur
  • errorPayment - erreur de paiement de l'utilisateur (erreur Envoi en cours vendeur)
  • inProgress - en cours (en attente traitement administrateur ou paiement de la demande)
  • inProgressPayout - en file d'attente pour le paiement (paiement accepté réussi) (si configuré automatique paiement en devise, il sera initialisé)
  • errorPayout - erreur de paiement (erreur arrivé lors du paiement)
  • hold - La demande a été gelé (problèmes depuis Demande)
  • done - demande réussie payé
  • returned - la demande a été payée, mais pas toute conditions échange et méthodes retour l'expéditeur étaient effectué
  • deleted - Demande supprimée (annulée)

Vérification contrôle montant de la demande (IPN)

sha256(orderId:newStatus:inAmount:outAmount:xml_from:xml_to:timestamp:ipnSecret)

        
const stringForHash = orderId+":"+newStatus+":"+inAmount+":"+outAmount+":"+xml_from+":"+xml_to+":"+timestamp+":"+ipnSecret;
// example string for hash 5d8e6002b80b7b4cd75a6424:inProgress:2:317.42:ETH:WMZ:1571328406072:SECRET123

const hash = crypto.createHash('sha256').update(stringForHash).digest('hex')
// example hash af3acf947e6f0e0f2c267e300b8582e504dba12d1f2d058652b7414163c09f48
        
      

Contrôle des paiements

  1. Si vous avez besoin suivre l'état des demandes, créer avec leur aide autorisations, toutes demandes sera reflété dans votre perso bureau;
  2. Vous pouvez enregistrer l'UID et le secret de la demande et accéder manuellement à la demande en spécifiant ces données dans la barre d'adresse

Paiement

  1. Vous pouvez utiliser / payment / pour afficher page de paiement

    // schema
    https://www.aura.legal/user-lang/payment/order-uid/order-secret
    // example result
    https://www.aura.legal/en/payment/1409/dGqwF2M2eBPaSN1G5ljMS1cb
  2. Aussi tu peux juste donner référence à la portefeuille comme son voir tout le monde clients selon le même schéma que dans le premier les options, sauf / paiement /, devraient remplacer par / commander /
  3. La méthode possède des paramètres qui permettre afficher paiement données ou formulaire de paiement sur votre site que vous pouvez utiliser. IMPORTANT: si la méthode de prépaiement est utilisée, vous avez besoin mettre à jour le statut de la commande de waitPayment à inProgress après paiement.