Docs
ENFR
Tableau de bord
Référence de l’API

Outils de test

Des points d’accès qui simulent l’émetteur de cartes. Ils ne fonctionnent qu’avec une clé de test (mr_test_…) et renvoient 400 test_mode_only sinon.

Simuler une décision de vérification Mode test seulement

POST/v1/test/cardholders/{id}/verification

Approuve ou refuse un titulaire dont la vérification est in_review. Le statut change en quelques secondes et cardholder.kyc_updated est envoyé.

Rôles de la clé : Propriétaire ou Finance

Paramètres de chemin
idstringRequis

Identifiant du titulaire.

Corps
resultstringRequis

La décision à simuler.

approvedrejected
reasonstringFacultatifPar défaut Document unreadable (simulation)

Seulement avec rejected : devient verification.reason. 200 caractères au plus.

Retour

Renvoie l’objet titulaire avec 202 : le résultat suit par webhook.

Erreurs à prévoir
HTTPCodeDescription
400test_mode_onlyLes outils de test demandent une clé de test.
400verification_not_submittedL’outil de test demande d’abord une vérification envoyée.
404resource_missingAucun objet avec cet identifiant dans ce mode.
curl https://api.monerail.com/v1/test/cardholders/5df6acd9-4bac-4e19-869c-fcde6b79f389/verification \
  -H "Authorization: Bearer $MONERAIL_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "result": "rejected",
    "reason": "Name/dob mismatch"
  }'
Réponse202
{
  "id": "5df6acd9-4bac-4e19-869c-fcde6b79f389",
  "object": "cardholder",
  "livemode": false,
  "type": "customer",
  "first_name": "Awa",
  "last_name": "Ndiaye",
  "email": "awa@example.com",
  "phone": "+237670000999",
  "country": "CM",
  "city": "Douala",
  "birth_date": "1991-02-03",
  "id_document": "national_id",
  "id_number_last4": "3408",
  "verification": {
    "status": "in_review",
    "reason": null,
    "verified_at": null
  },
  "created_at": "2026-10-30T13:47:06.394Z",
  "updated_at": "2026-10-30T13:47:09.807Z"
}

Simuler un paiement par carte Mode test seulement

POST/v1/test/cards/{id}/authorizations

Simule un marchand qui débite la carte. Un paiement accepté et ses frais apparaissent sur la carte en quelques secondes, avec un événement card.transaction. Un paiement refusé envoie card.authorization_declined, ne prélève rien et renvoie authorization: null.

Rôles de la clé : Propriétaire ou Finance

Paramètres de chemin
idstringRequis

Identifiant de la carte.

Corps
amountintegerRequis

En cents de dollar, jusqu’à 10 000 000.

merchantstringFacultatif

Nom du marchand, 40 caractères au plus.

statusstringFacultatifPar défaut approved

Issue du paiement simulé.

approveddeclined
Retour

Renvoie l’objet autorisation de test avec 202 : le résultat suit par webhook.

Erreurs à prévoir
HTTPCodeDescription
400test_mode_onlyLes outils de test demandent une clé de test.
404resource_missingAucun objet avec cet identifiant dans ce mode.
curl https://api.monerail.com/v1/test/cards/ce2f0aea-7f87-4cbd-8383-03129d1253e0/authorizations \
  -H "Authorization: Bearer $MONERAIL_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": 400,
    "merchant": "Notion"
  }'
Réponse202
{
  "object": "test_authorization",
  "card": "ce2f0aea-7f87-4cbd-8383-03129d1253e0",
  "amount": 400,
  "currency": "USD",
  "merchant": "Notion",
  "status": "approved",
  "authorization": "auth_7731"
}