😎Vérifier un paiement

Après le paiement, il est essentiel de confirmer que la transaction a été traitée par Moneroo avant d'accréditer la valeur de votre client dans votre application. Cette précaution permet de s'assurer que le paiement reçu correspond à vos attentes.

Voici quelques points clés à vérifier lors de la confirmation du paiement :

  1. Confirmez que la référence de la transaction correspond à celle que vous avez générée.

  2. Vérifiez l'exactitude du statut de la transaction. Le statut de la transaction doit être "succès" pour les paiements réussis. Pour en savoir plus sur les statuts de transaction, voir la section Statut de transaction.

  3. Vérifier que la devise du paiement correspond à la devise attendue.

  4. Assurez-vous que le montant payé est égal ou supérieur au montant prévu. Si le montant est supérieur, vous pouvez fournir au client la valeur correspondante et rembourser l'excédent.

Pour authentifier un paiement, utilisez le endpoint "verify transaction", en spécifiant l'ID de la transaction dans l'URL. Vous pouvez obtenir l'ID de la transaction à partir du champ data.id dans la réponse après la création de la transaction, ainsi que dans le contenu du Webhook pour toute transaction.

Demande

GET /v1/payments/{paymentId}/verify HTTP/1.1
Host: https://api.moneroo.io
Authorization: Bearer YOUR_SECRET_KEY
Content-Type: application/json
Accept: application/json

Paramètres

  • Endpoint: /v1/payments/{paymentId}/verify

  • Method: GET

Structure de la réponse

La réponse de ce endpoint de l'API sera dans le format de réponse standard de l'API Moneroo. Vous obtiendrez une réponse qui ressemble à ceci :

{
  "success": true,
  "message": "Payment transaction fetched successfully",
  "data": {
    // Details of the payment transaction
  }
}

Réponse positive

En cas de récupération réussie, l'endpoint renvoie un code d'état HTTP de 200 et les détails de l'opération de paiement dans le corps de la réponse.

Réponses d'erreurs:

Si votre demande pose un problème, l'API renvoie une réponse d'erreur. Le type de réponse dépend de la nature du problème. Consultez notre page sur les formats de réponse pour plus d'informations.

Considérations de sécurité

Cet endpoint nécessite un jeton de support pour l'authentification. Ce jeton doit être inclus dans l'en-tête Authorization de la demande. Assurez-vous que le jeton est conservé en toute sécurité et qu'il n'est pas partagé ou exposé de manière inappropriée.

Exemples de demandes

Veuillez remplacer'paymentId' par l'id de la transaction de paiement et'your_token' par votre jeton d'autorisation valide dans les extraits de code ci-dessus.

curl --location --request GET 'https://api.moneroo.io/v1/payments/{paymentId}/verify' \
--header 'Authorization: Bearer YOUR_TOKEN'

Exemple de réponse

Vous obtiendrez une réponse qui ressemble à celle-ci :

{
  "success": true,
  "message": "Payment transaction fetched successfully",
  "data": {
    "id": "abc123",
    "status": "success",
    "is_processed": true,
    "processed_at": "2023-05-21T12:00:00Z",
    "amount": 100.0,
    "currency": "USD",
    "amount_formatted": "$100.00",
    "description": "Purchase of goods",
    "return_url": "https://example.com/return",
    "environment": "production",
    "initiated_at": "2023-05-21T11:00:00Z",
    "checkout_url": "https://example.com/checkout",
    "payment_phone_number": "+1234567890",
    "app": {
      "id": "app1",
      "name": "Example App",
      "icon_url": "https://example.com/icon.png"
    },
    "customer": {
      "id": "cust1",
      "first_name": "John",
      "last_name": "Doe",
      "email": "john.doe@example.com",
      "phone": "+1234567890",
      "address": "123 Main St",
      "city": "Springfield",
      "state": "IL",
      "country_code": "US",
      "country": "United States",
      "zip_code": "62701",
      "environment": "production",
      "created_at": "2023-01-01T00:00:00Z",
      "updated_at": "2023-05-21T00:00:00Z"
    },
    "method": {
      "name": "Credit Card",
      "code": "cc",
      "icon_url": "https://example.com/cc.png",
      "environment": "production"
    },
    "gateway": {
      "name": "Stripe",
      "account_name": "Acme Corp",
      "code": "stripe",
      "icon_url": "https://example.com/stripe.png",
      "environment": "production"
    },
    "metadata": {
      "custom_field1": "custom_value1",
      "custom_field2": "custom_value2"
    },
    "context": {
      "ip": "192.0.2.0",
      "user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (HTML, like Gecko) Chrome/58.0.3029.110 Safari/537",
      "country": "US",
      "local": "en-US"
    }
  }
}

Les détails de la transaction sont contenus dans l'objet de données. Par exemple :

  • Le statut de la transaction est indiqué dans data.status.

  • Les détails du client se trouvent dans le champdata.customer.

  • Le champ data.amount indique le montant facturé au client.

  • Certains champs varient en fonction du type de transaction ou de l'état de la transaction.

  • Le champ data.method contient la méthode de paiement utilisée par le client.

  • Le champ data.gateway contient la passerelle de paiement utilisée pour traiter la transaction.

  • Le champ data.metadata contient toutes les métadonnées personnalisées que vous avez pu fournir lors de la création de la transaction.

  • Le champ data.context contient le contexte de la transaction.

  • Le champ data.app contient les détails de l'application.

Last updated