Passer au contenu principal
GET
/
v3
/
ocpay
/
checkPayment
/
:ref
curl --request GET \
  --url https://api.oneclickdz.com/v3/ocpay/checkPayment/OCPL-A1B2C3-D4E5 \
  --header 'X-Access-Token: YOUR_API_KEY'
{
  "success": true,
  "data": {
    "status": "CONFIRMED",
    "message": "Payment confirmed successfully",
    "paymentRef": "OCPL-A1B2C3-D4E5",
    "transactionDetails": {
      "amount": 5000,
      "currency": "DZD",
      "isSandbox": false,
      "createdDate": "2025-01-15T10:30:00Z"
    }
  },
  "meta": {
    "timestamp": "2025-01-15T10:35:00Z",
    "requestId": "req_abc123xyz"
  }
}

Documentation Index

Fetch the complete documentation index at: https://docs.oneclickdz.com/llms.txt

Use this file to discover all available pages before exploring further.

Vue d’ensemble

Vérifiez le statut du paiement en temps réel à l’aide de la référence de paiement. Indispensable pour le traitement des commandes, l’interrogation du statut et la vérification des paiements.
Détection automatique de l’environnement : Cet endpoint vérifie automatiquement les transactions de production (SATIM) et sandbox en fonction de l’endroit où le paiement a été créé.

Paramètres de chemin

ref
string
requis
Code de référence du paiement (format : OCPL-XXXXXX-YYYY)
Il s’agit du paymentRef retourné lors de la création du lien de paiement

Réponse

success
boolean
Indique si l’opération a réussi
data
object
Informations sur le statut du paiement
meta
object
Métadonnées de la réponse

Explication des valeurs de statut

Quand vous voyez ceci :
  • Le client n’a pas encore commencé le processus de paiement
  • Le paiement est en cours de traitement par la banque
  • Le lien vient d’être créé et n’a pas encore été utilisé
Que faire :
  • Continuez d’interroger pour les mises à jour de statut
  • Affichez “Paiement en attente” au client
  • Ne confirmez pas la commande encore
Quand vous voyez ceci : - Paiement effectué avec succès - Les fonds seront crédités sur votre solde OneClickQue faire :
  • Marquez la commande comme payée dans votre système
  • Traitez la commande/fournissez le service
  • Envoyez une confirmation au client
Quand vous voyez ceci :
  • Le paiement a été refusé ou a échoué
  • Le lien de paiement a expiré (20 minutes)
  • Le client a annulé le paiement
Que faire :
  • Marquez la commande comme échouée/annulée
  • Créez un nouveau lien de paiement si le client souhaite réessayer
  • Ne traitez pas la commande

Expiration du lien

Les liens de paiement expirent 20 minutes après la création si aucun paiement n’est initié. Après expiration, le statut sera FAILED.
curl --request GET \
  --url https://api.oneclickdz.com/v3/ocpay/checkPayment/OCPL-A1B2C3-D4E5 \
  --header 'X-Access-Token: YOUR_API_KEY'
{
  "success": true,
  "data": {
    "status": "CONFIRMED",
    "message": "Payment confirmed successfully",
    "paymentRef": "OCPL-A1B2C3-D4E5",
    "transactionDetails": {
      "amount": 5000,
      "currency": "DZD",
      "isSandbox": false,
      "createdDate": "2025-01-15T10:30:00Z"
    }
  },
  "meta": {
    "timestamp": "2025-01-15T10:35:00Z",
    "requestId": "req_abc123xyz"
  }
}

Exemple d’intégration

Voici comment implémenter la vérification du statut dans votre système de commandes :
async function checkOrderPayment(orderId) {
  // Récupérer la référence de paiement depuis votre base de données
  const order = await db.orders.findOne({ id: orderId });

  if (!order || !order.paymentRef) {
    throw new Error("Order not found or no payment link");
  }

  // Check payment status
  const response = await fetch(
    `https://api.oneclickdz.com/v3/ocpay/checkPayment/${order.paymentRef}`,
    {
      headers: { "X-Access-Token": process.env.ONECLICK_API_KEY },
    }
  );

  const data = await response.json();

  // Mettre à jour le statut de la commande selon le statut du paiement
  switch (data.data.status) {
    case "CONFIRMED":
      await db.orders.update(orderId, {
        status: "paid",
        paidAt: new Date(),
      });
      await fulfillOrder(orderId);
      break;

    case "FAILED":
      await db.orders.update(orderId, {
        status: "payment_failed",
      });
      break;

    case "PENDING":
      // Continuer à vérifier
      break;
  }

  return data.data;
}

Étapes suivantes

Créer un lien de paiement

Apprendre à créer des liens de paiement

Guide d'intégration

Guide complet d’intégration Navio