My App
Demandes de paiement

Créer une demande de paiement

Crée une nouvelle demande de paiement pour l'entreprise authentifiée. Prend en charge les types de paiement redirect et soundbox. **Types de paiement :** - **redirect** : Retourne une URL de redirection pour les paiements basés sur le web - **soundbox** : Envoie automatiquement la demande de paiement à l'appareil physique Jekobox et retourne le contenu du code QR. La communication avec le dispositif est entièrement gérée par JEKO.

POST
/partner_api/payment_requests

Crée une nouvelle demande de paiement pour l'entreprise authentifiée. Prend en charge les types de paiement redirect et soundbox.

Types de paiement :

  • redirect : Retourne une URL de redirection pour les paiements basés sur le web
  • soundbox : Envoie automatiquement la demande de paiement à l'appareil physique Jekobox et retourne le contenu du code QR. La communication avec le dispositif est entièrement gérée par JEKO.

Authorization

X-API-KEY<token>

Clé API pour les requêtes de l'API Partenaire

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/partner_api/payment_requests" \  -H "Content-Type: application/json" \  -d '{    "amountCents": 10000,    "currency": "XOF",    "reference": "PAY-2024-001",    "storeId": "59ae202a-f583-4a15-970f-9e99bd1e0baa",    "paymentDetails": {      "type": "redirect",      "data": {        "paymentMethod": "wave",        "successUrl": "https://example.com/success",        "errorUrl": "https://example.com/error"      }    }  }'
{
  "id": "d22c81f3-ee04-4ec5-8bd2-cd8af5dabcfc",
  "storeId": "59ae202a-f583-4a15-970f-9e99bd1e0baa",
  "reference": "PAY-2024-001",
  "type": "redirect",
  "paymentMethod": "wave",
  "status": "success",
  "errorReason": "Payment failed",
  "transaction": {
    "id": "txn_1234567890",
    "amount": {
      "amount": 10000,
      "currency": "XOF"
    },
    "fees": {
      "amount": 10000,
      "currency": "XOF"
    },
    "status": "success",
    "counterpartLabel": "Customer Name",
    "counterpartIdentifier": "+2250701234567",
    "description": "Payment for order #12345",
    "executedAt": "2024-01-15 14:30:25"
  },
  "redirectUrl": "https://pay.jeko.africa/payment/d22c81f3-ee04-4ec5-8bd2-cd8af5dabcfc"
}
{
  "id": "internal_error",
  "message": "Une erreur inattendue s'est produite",
  "extras": "Détails supplémentaires de l'erreur"
}
{
  "id": "unauthorized",
  "message": "Unauthorized",
  "extras": "Détails supplémentaires de l'erreur"
}
{
  "id": "forbidden_action",
  "message": "Action interdite",
  "extras": "Détails supplémentaires de l'erreur"
}
{
  "id": "payment_request_exists_with_reference",
  "message": "Une demande de paiement avec cette référence existe déjà",
  "extras": "Une demande de paiement avec cette référence existe déjà"
}
{
  "id": "validation_error",
  "message": "Échec de la validation",
  "extras": {
    "errors": [
      {
        "field": "paymentDetails.data.paymentMethod",
        "rule": "in",
        "message": "The paymentDetails.data.paymentMethod must be one of the following: orange, wave, mtn, moov, djamo"
      },
      {
        "field": "paymentDetails.data.deviceId",
        "rule": "required",
        "message": "The paymentDetails.data.deviceId field is required when paymentDetails.type is soundbox"
      }
    ]
  }
}
{
  "id": "internal_error",
  "message": "Une erreur inattendue s'est produite",
  "extras": "Détails supplémentaires de l'erreur"
}