😎Vérifier un transfert

Il existe trois façons de connaître le statut d'un transfert :

  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 "success" pour les paiements réussis. Pour en savoir plus sur les statuts de transaction, consultez la section "Statut de transaction".

  3. Vérifiez que la devise du transfert correspond à la devise attendue.

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 la route de vérification d'une transaction /v1/payments/{paymentId}/verify, en spécifiant l'identifiant 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.

Requête

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

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

  • Méthode: GET

Response Structure

The response from this API endpoint will be in the standard Moneroo API response format. You'll get a response that looks like this:

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

En cas de requête réussie, la route de l'API retourne un code de statut HTTP 200 et les détails de la transaction de paiement dans le corps de la réponse.

S'il y a un problème avec votre requête, l'API renverra une réponse d'erreur. Le type de réponse d'erreur dépend de la nature du problème.

  • 401 Unauthorized : Cette erreur est renvoyée si vous n'avez pas fourni un jeton d'autorisation valide dans votre requête.

  • 404 Not Found : Cette erreur est renvoyée si l'ID de paiement fourni ne correspond à aucune transaction dans le système.

  • 500 Internal Server Error : Cette erreur indique un problème inattendu sur le serveur lors du traitement de votre requête.

Considérations de sécurité

Cette route de l'API nécessite un jeton Bearer pour l'authentification. Le jeton Bearer doit être inclus dans l'en-tête Authorization de la requête. Assurez-vous que le jeton est gardé en sécurité et qu'il n'est ni partagé ni exposé de manière inappropriée.

Exemple

Veuillez remplacer payoutId par l'identifiant de la transaction de paiement et your_token par votre jeton d'autorisation valide dans les extraits de code ci-dessous.

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

Response example

You'll get a response that looks like this:

{
  "success": true,
  "message": "Payout 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"
    },
  }
}

The transaction details are contained in the data object. For instance:

  • The status of the transaction is in data.status.

  • The details of the customer are in the data.customer field.

  • The data.amount field says how much the customer was charged.

  • Some fields will vary depending on the type of transaction or state of the transaction.

  • The data.method field contains the payment method used by the customer.

  • The data.gateway field contains the payment gateway used to process the transaction.

  • The data.metadata field contains any custom metadata you may have provided when creating the transaction.

  • The data.context field contains the context of the transaction.

  • The data.app field contains the app details.

Last updated