APINovasend

Paiement

Creer une session de paiement via l'API Wallet.

POST https://business.novasend.app/v1/payin/sessions

Crée une session d'intention de paiement sécurisée sans débit tant que le client n'a pas confirmé.

En-tête de la Requête

ValeurDescriptionObligatoire
AuthorizationPour authentifier l'Api, Basic base64(api_key:api_client)
X-Idempotency-KeyCet en-tête garantit l'unicité de vos transactions. La valeur doit être un UUID
Content-Typeapplication/json
Accept-LanguagePour traduire les messages d'erreur, langues possibles: en, fr

Requête

ChampTypeDescriptionObligatoire
referencestringIdentifiant unique de la transaction côté marchand (UUID recommandé).
amountnumberMontant à payer (en unités entières, sans décimales).
msisdnstringNuméro de téléphone du client payeur (format E.164).
customerNamestringNom du client initiant le paiement.
countrystringCode ISO du pays (CI, CM).
action.successUrlurlURL de redirection après une action réussie.
action.failureUrlurlURL de redirection après une action échouée.

{
  "reference": "uuid-merchant",
  "amount": 300,
  "msisdn": "{{phoneNumber}}",
  "customerName": "John Doe",
  "country": "CI",
  "action": {
    "successUrl": "https://votre-url-de-success.com",
    "failureUrl": "https://votre-url-de-failure.com"
  }
}

Réponse

{
  "id": "pr_bakvkozbmqcmte1d8izelffjlz",
  "type": "payin",
  "reference": "0f3fed58-0590-434e-8a00-5d6cd3560382",
  "status": "processing",
  "confirmationRequired": true,
  "confirmationStatus": "none",
  "paymentUrl": "https://business.novasend.app/link/QGRD4D",
  "customer": {
    "name": "Joe",
    "phoneNumber": "+225000000000"
  },
  "isDirect": false,
  "payFee": false,
  "createdAt": "2026-01-19T09:11:25.832Z",
  "amount": 200,
  "fee": 7,
  "chargedAmount": 207,
  "currency": "XOF",
  "failure": null
}

Interprétation de la Réponse

ChampDescription
idIdentifiant unique de la session de paiement.
typeType d'opération — ici payin pour un paiement entrant.
referenceRéférence fournie par le marchand pour identifier le paiement.
statusStatut initial du paiement (processing, processed, expired, etc.).
confirmationRequiredIndique si une confirmation du client est requise avant l'exécution du paiement.
confirmationStatusÉtat actuel de la confirmation client (none, pending, accepted, declined).
paymentUrlLien web/deep link permettant au client de confirmer le paiement via son application Novasend.
isDirectIndique si le paiement a été initié via un flux direct.
payFeeIndique si les frais de transaction sont pris en charge par le marchand.
createdAtDate et heure de création de la session de paiement.
amountMontant brut du paiement.
feeFrais de service appliqués à la transaction.
chargedAmountMontant total débité (montant + frais).
currencyDevise utilisée (ex. XOF, XAF).
failureDétails de l'erreur en cas d'échec du paiement (null en cas de succès).

customer

ChampDescription
nameNom du client.
phoneNumberNuméro de téléphone du client (format international).

Statut du paiement

GET https://business.novasend.app/v1/payin/{reference}

Cet endpoint permet de consulter à tout moment l'état d'un paiement.


Réponse

{
  "id": "pr_bakvkozbmqcmte1d8izelffjlz",
  "type": "payin",
  "reference": "0f3fed58-0590-434e-8a00-5d6cd3560382",
  "status": "processing",
  "confirmationRequired": true,
  "confirmationStatus": "none",
  "paymentUrl": "https://business.novasend.app/link/QGRD4D",
  "customer": {
    "name": "Joe",
    "phoneNumber": "+225000000000"
  },
  "isDirect": false,
  "payFee": false,
  "createdAt": "2026-01-19T09:11:25.832Z",
  "amount": 200,
  "fee": 7,
  "chargedAmount": 207,
  "currency": "XOF",
  "failure": null
}