a
a
Weather:
city not found
HomeBitcoinCentre d’aide Paxful

Centre d’aide Paxful

Les webhooks vous permettent de recevoir en temps réel des notifications HTTPS d’événements sur le marché Paxful. Par exemple, nous pouvons vous avertir lorsqu’un nouveau commerce commence ou chaque fois que votre partenaire commercial envoie un message dans un chat commercial. Cela vous évite d’avoir à interroger l’API pour les modifications d’objet qui peuvent ou non avoir eu lieu et vous aide à éviter d’atteindre votre limite de vitesse. Ce guide décrira exactement comment configurer des webhooks avec Paxful.

Nous prenons en charge les webhooks pour les événements suivants:

  • Nouvel échange à Paxful
  • Message reçu dans le chat commercial
  • Pièce jointe reçue dans le chat commercial
  • Quelqu’un a vu votre profil Paxful
  • Quelqu’un a vu votre offre
  • Le partenaire commercial a payé son bitcoin
  • La transaction a été annulée ou a expiré
  • Bitcoin vendu avec succès
  • Bitcoin acheté
  • Dépôt Bitcoin confirmé
  • Le dépôt Bitcoin entrant est en attente
  • Commentaires reçus d’un partenaire commercial
  • Reçu une nouvelle réponse

Configuration du Webhook

Remarque: Assurez-vous que votre service est prêt à recevoir des webhooks. Pendant le processus d’enregistrement de l’URL, votre service doit prendre l’en-tête de requête «X-Paxful-Request-Challenge» et l’insérer dans la réponse tel quel.

Voici à quoi devrait ressembler notre en-tête de requête dans votre charge utile (c’est un exemple de service Webhook dans Node.js):

1. Connectez-vous à votre compte Paxful, survolez votre nom d’utilisateur en haut à droite de la page et cliquez sur paramètres dans le menu contextuel qui apparaît.
ClickSettings.png

La paramètres la page s’affiche.

2. Dans le menu à gauche de la page, cliquez sur Développeur.
Click_Developer.png

La Développeur la page s’affiche.

3. Si vous n’avez pas de clé API, entrez le code à deux facteurs dans le champ ci-dessous et cliquez sur Ajouter une nouvelle clé API. Si vous disposez déjà d’une clé API, vous pouvez ignorer cette étape.
AddAPIKey.png

Votre nouvelle clé API apparaît dans le fichier Développeur page à côté des sections supplémentaires.

4. Copiez l’URL de votre application.
Aller à Webhook section sur Paxful Développeur page. Collez le lien dans la URL de la demande champ et cliquez sauver.

Attention: Nos webhooks sont pris en charge par HTTPS types d’adresses uniquement. HTTP les adresses ne fonctionneront pas à cette fin.


Cliquez sur Enregistrer.png

Un en-tête de demande est envoyé à votre application.

Remarque: Nous avons un délai de 10 secondes. Si nous ne recevons pas de réponse de votre application, l’URL ne sera pas enregistrée et un webhook ne sera pas créé.

5. En cas de succès, une liste des événements disponibles pour l’enregistrement s’affiche ci-dessous. Cochez une case pour sélectionner un événement dans le fichier Inscrivez-vous aux événements liste.
Events.png

Remarque:

  • Une fois sélectionnés, les événements sont automatiquement enregistrés.
  • En cas de trois tentatives infructueuses pour envoyer des informations d’événement à votre application, le webhook (URL) est désactivé.
  • Pour insérer un nouveau lien, remplacez l’URL actuelle par la nouvelle et cliquez sur Changement.
  • Pour désactiver complètement les webhooks, cliquez sur Effacer.
  • Pour réactiver une URL désactivée, cliquez sur Réessayer.
    ClickRetry.png

Si l’URL de la demande est correctement enregistrée, voici comment nos événements apparaîtront dans votre application:

WebhookexampleEvent.png

Vérification des demandes Paxful

Paxful crée une chaîne unique pour votre application et la partage avec vous. Vérifiez les demandes Paxful en toute confiance en vérifiant les signatures à l’aide de votre secret de signature.

À chaque demande HTTPS envoyée, nous ajoutons un « Signature X-Paxful «  En-tête HTTPS. La signature est créée en combinant le secret de signature avec le corps de la requête que nous envoyons à l’aide d’un hachage de clé HMAC-SHA256 standard.

Remarque: La signature résultante est unique pour chaque demande et ne contient directement aucune information secrète. Cela protège votre application et empêche les méchants de causer des dommages.

Exemple en JavaScript


const crypto = require('crypto');
const express = require('express');
const app = express();
const port = 3000;
const bodyParser = require('body-parser');

Votre secret d’API de https://paxful.com/account/developer:


const apiSecret="maE5KV16FV0nDyh7XPm2F8f8FZTdtb5p";

app.use(bodyParser.json());

Lorsque vous recevez une demande de vérification d’adresse de service, vous devez prendre l’en-tête «X-Paxful-Request-Challenge» de la demande et l’insérer dans la réponse.


app.use((req, res, next) => {

La demande de vérification d’adresse ne contient pas la charge utile et la signature de la demande.


  if (!Object.keys(req.body).length && !req.get('X-Paxful-Signature')) {
        console.log('Address verification request received.');
        const challengeHeader="X-Paxful-Request-Challenge";
        res.set(challengeHeader, req.get(challengeHeader));
        res.end();
    } else {
        next();
    }
});

Lorsque vous recevez la notification d’événement, vous devez vérifier l’en-tête « X-Paxful-Signature ». Si la demande contient la mauvaise signature, ne la traitez pas.


  app.use((req, res, next) => {
    const providedSignature = req.get('X-Paxful-Signature');
    const calculatedSignature = crypto.createHmac('sha256', apiSecret).update(JSON.stringify(req.body)).digest('hex');
    if (providedSignature !== calculatedSignature) {
        console.log('Request signature verification failed.');
        res.status(403).end();
    } else {
        next();
    }
});

Vous pouvez maintenant traiter un événement.


  app.post('*', async (req, res) => {
    console.log('New event received:');
    console.log(req.body);
    res.end();
});

app.listen(port, () => console.log(`Example app listening at http://localhost:${port}`));

Contactez notre support si vous avez d’autres questions. Vous pouvez également en savoir plus sur nos services API dans notre documentation destinée aux développeurs.

https://paxful.com/support/en-us

No comments

leave a comment