{"info":{"_postman_id":"c0523f07-b6f2-4e53-b125-43990ec1730c","name":"Freemopay api v2","description":"<html><head></head><body><p><strong>Introduction générale</strong></p>\n<p>L’API <strong>Freemopay v2</strong> permet aux marchands d’encaisser des fonds de particuliers via Mobile Money ou Orange Money. Elle expose :</p>\n<ul>\n<li><p>L'url de base de l'api <a href=\"https://api-v2.freemopay.com/\">https://api-v2.freemopay.com/</a> (baseUrl)</p>\n</li>\n<li><p><strong>L’initialisation d’un paiement</strong> (<code>POST /api/v2/payment</code>)</p>\n</li>\n<li><p><strong>La récupération du statut d’un paiement</strong> (<code>GET /api/v2/payment/:reference</code>)</p>\n</li>\n<li><p><strong>La génération d’un token d’authentification</strong> (<code>POST /api/v2/payment/token</code>)</p>\n</li>\n<li><p><strong>Le callback</strong> envoyé au marchand lorsque la transaction aboutit (SUCCESS) ou échoue (FAILED)</p>\n</li>\n</ul>\n<p><strong>Flux de statut</strong></p>\n<ol>\n<li><p>Après appel à <code>POST /payment</code>, la transaction passe en <strong>PENDING</strong> jusqu’à validation du payeur.</p>\n</li>\n<li><p>Lorsque le payeur valide ou annule, Freemopay envoie un <strong>callback</strong> au webhook du marchand avec un <code>status</code> final :</p>\n<ul>\n<li><p><code>SUCCESS</code> → paiement effectué</p>\n</li>\n<li><p><code>FAILED</code> → paiement échoué (accompagné d’un message d’erreur)</p>\n</li>\n</ul>\n</li>\n<li><p>Le marchand peut aussi interroger à tout moment l’état en <strong>GET /payment/:reference</strong>.</p>\n</li>\n</ol>\n<p><strong>Authentification</strong></p>\n<ul>\n<li><p><strong>Basic Auth</strong> : <code>username</code> = <code>appKey</code>, <code>password</code> = <code>secretKey</code></p>\n</li>\n<li><p><strong>Bearer Token</strong> : jeton JWT obtenu via <code>/token</code> (expires in 3600 s)</p>\n</li>\n</ul>\n<p>Rate limiting</p>\n<p>100 requêtes par minute par compte marchand</p>\n<p>Au-delà, réponse 429 Too Many Requests avec en-tête Retry-After indiquant le délai à attendre</p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"18350660","collectionId":"c0523f07-b6f2-4e53-b125-43990ec1730c","publishedId":"2sAY55cJUy","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"0E3B33"},"publishDate":"2026-09-05T13:21:36.000Z"},"item":[{"name":"payment","item":[{"name":"token","item":[{"name":"generate Token","id":"d6e91c32-2037-44fb-bda6-17e3e2c47f24","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"appKey\": \"<string>\",\n  \"secretKey\": \"<string>\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":"{{baseUrl}}/api/v2/payment/token","description":"<h3 id=\"create-payment-token\">Create Payment Token</h3>\n<p>This endpoint allows you to create a payment token by providing the required authentication credentials.</p>\n<p><strong>Request Body</strong></p>\n<ul>\n<li><p><code>appKey</code> (string) - The application key for authentication.</p>\n</li>\n<li><p><code>secretKey</code> (string) - The secret key for authentication.</p>\n</li>\n</ul>\n<p><strong>Response</strong><br />The bearer token for make payment request.</p>\n","urlObject":{"path":["api","v2","payment","token"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"b7f286b9-12c2-46ff-9b19-40540ccd9238","name":"Success get token","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"appKey\": \"<string>\",\n  \"secretKey\": \"<string>\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":"{{baseUrl}}/api/v2/payment/token"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sat, 26 Apr 2025 11:58:00 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"cloudflare"},{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Etag","value":"W/\"d9-fbP0Cq+eb2KcOQPIQpbubuIAXkw\""},{"key":"Cf-Cache-Status","value":"DYNAMIC"},{"key":"Content-Encoding","value":"br"},{"key":"CF-RAY","value":"9365e7df597733e5-JNB"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"access_token\": \"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhY2NvdW50SWQiOiI2NzNjNjAzZGZmZmVkNTE0ZjAzNDQyNWYiLCJpYXQiOjE3NDU2Njg2ODAsImV4cCI6MTc0NTY3MjI4MH0.tL_pBYc-y0wmRJI3vDhKpa0ohuNwV0tVXnTuMgAP_CY\",\n    \"expires_in\": 3600\n}"},{"id":"5ce04c8a-91da-4aba-ab62-f8f76ad4d2df","name":"Bad Credentials","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"appKey\": \"<string>\",\n  \"secretKey\": \"<string>\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":"{{baseUrl}}/api/v2/payment/token"},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sat, 26 Apr 2025 11:59:25 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"103"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"cloudflare"},{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Etag","value":"W/\"67-grhh3DMY2W6KR6twbCZt6KTfQww\""},{"key":"Cf-Cache-Status","value":"DYNAMIC"},{"key":"CF-RAY","value":"9365e9f1d83e93cc-JNB"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"code\": \"BAD_API_CREDENTIALS\",\n    \"message\": {\n        \"en\": \"Invalid api key credention\",\n        \"fr\": \"Clé d'api invalide\"\n    }\n}"}],"_postman_id":"d6e91c32-2037-44fb-bda6-17e3e2c47f24"}],"id":"00ddf6bd-fe5f-4471-87dc-8b70aed9a59d","description":"<h3 id=\"post-apiv2paymenttoken\">POST <strong>/api/v2/payment/token</strong></h3>\n<p>Génère un <strong>Bearer Token</strong> pour les appels ultérieurs.</p>\n<p><strong>Requête</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>POST {{baseUrl}}/api/v2/payment/token\nContent-Type: application/json\n{\n  \"appKey\":    \"&lt;string&gt;\",\n  \"secretKey\": \"&lt;string&gt;\"\n}\n\n</code></pre><p><strong>Réponses</strong></p>\n<ul>\n<li><p>{ \"access_token\": \"\", \"expires_in\": 3600}</p>\n</li>\n<li><p>{ \"code\": \"BAD_API_CREDENTIALS\", \"message\": { \"en\": \"Invalid api key credentials\", \"fr\": \"Clé d'api invalide\" }}</p>\n</li>\n</ul>\n","_postman_id":"00ddf6bd-fe5f-4471-87dc-8b70aed9a59d"},{"name":"Get transactions  status","item":[{"name":"Get Payment Status with token","id":"af9bec18-50ea-463e-9582-ba164a34c63c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{bearerToken}}"}]},"isInherited":false},"method":"GET","header":[],"url":"{{baseUrl}}/api/v2/payment/:reference","description":"<h3 id=\"retrieve-payment-details\">Retrieve Payment Details</h3>\n<p>This endpoint retrieves the details of a specific payment by providing the payment reference in the URL.</p>\n<h4 id=\"request\">Request</h4>\n<ul>\n<li><p>Method: GET</p>\n</li>\n<li><p>URL: <code>{{baseUrl}}/api/v2/payment/:reference</code></p>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>The response for this request is a JSON schema. Here are some examples of the response:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"reference\": \"62a11f7a-7c58-3efe-0000-637877bcdac4\",\n  \"merchandRef\": \"12343\",\n  \"amount\": 1000,\n  \"status\": \"FAILED\",\n  \"reason\": \"cancelled\"\n}\n\n</code></pre>\n","urlObject":{"path":["api","v2","payment",":reference"],"host":["{{baseUrl}}"],"query":[],"variable":[{"type":"any","value":"","key":"reference"}]}},"response":[{"id":"75d961c9-6cbe-4bb4-8c61-1404f2349541","name":"ERROR auth","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/api/v2/payment/:reference","host":["{{baseUrl}}"],"path":["api","v2","payment",":reference"],"variable":[{"key":"reference","value":"cecb550c-f542-4f63-abe6-40534a02ddf1"}]}},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sat, 26 Apr 2025 12:06:19 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"43"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"cloudflare"},{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Etag","value":"W/\"2b-dGnJzt6gv1nJjX6DJ9RztDWptng\""},{"key":"Cf-Cache-Status","value":"DYNAMIC"},{"key":"CF-RAY","value":"9365f4131aac0d06-JNB"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Unauthorized\",\n    \"statusCode\": 401\n}"},{"id":"1fa202c9-4a28-4cd6-9075-d64aba0fa633","name":"Sucess get status","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/api/v2/payment/:reference","host":["{{baseUrl}}"],"path":["api","v2","payment",":reference"],"variable":[{"key":"reference","value":"cecb550c-f542-4f63-abe6-40534a02ddf1"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sat, 26 Apr 2025 12:06:59 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"cloudflare"},{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Etag","value":"W/\"a5-7WubokeFBSZCODh1hS3eiqsOL8Q\""},{"key":"Cf-Cache-Status","value":"DYNAMIC"},{"key":"Content-Encoding","value":"br"},{"key":"CF-RAY","value":"9365f50b7a070d06-JNB"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"reference\": \"cecb550c-f542-4f63-abe6-40534a02ddf1\",\n    \"merchandRef\": \"yourid2252626252\",\n    \"amount\": 100,\n    \"status\": \"FAILED\",\n    \"reason\": \"Transaction canceled by the customer.\"\n}"}],"_postman_id":"af9bec18-50ea-463e-9582-ba164a34c63c"},{"name":"Get Payment Status with basic auth","id":"d78c7568-aca5-471e-97ad-13f4fd9c6fe4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"<username>"},{"key":"password","value":"<password>"}]},"isInherited":false},"method":"GET","header":[],"url":"{{baseUrl}}/api/v2/payment/:reference","description":"<h3 id=\"retrieve-payment-details\">Retrieve Payment Details</h3>\n<p>This endpoint retrieves the details of a specific payment by providing the payment reference in the URL.</p>\n<h4 id=\"request\">Request</h4>\n<ul>\n<li><p>Method: GET</p>\n</li>\n<li><p>URL: <code>{{baseUrl}}/api/v2/payment/:reference</code></p>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>The response for this request is a JSON schema. Here are some examples of the response:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"reference\": \"62a11f7a-7c58-3efe-0000-637877bcdac4\",\n  \"merchandRef\": \"12343\",\n  \"amount\": 1000,\n  \"status\": \"FAILED\",\n  \"reason\": \"cancelled\"\n}\n\n</code></pre>\n","urlObject":{"path":["api","v2","payment",":reference"],"host":["{{baseUrl}}"],"query":[],"variable":[{"type":"any","value":"481bc3c6-d653-44f8-8c27-e6f5448fd008","key":"reference"}]}},"response":[{"id":"c95eaf21-fb8e-4ba9-b723-28b190cfb46b","name":"ERROR auth","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/api/v2/payment/:reference","host":["{{baseUrl}}"],"path":["api","v2","payment",":reference"],"variable":[{"key":"reference","value":"cecb550c-f542-4f63-abe6-40534a02ddf1"}]}},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sat, 26 Apr 2025 12:06:19 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"43"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"cloudflare"},{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Etag","value":"W/\"2b-dGnJzt6gv1nJjX6DJ9RztDWptng\""},{"key":"Cf-Cache-Status","value":"DYNAMIC"},{"key":"CF-RAY","value":"9365f4131aac0d06-JNB"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Unauthorized\",\n    \"statusCode\": 401\n}"},{"id":"ee22210d-1412-49f6-91f6-03e47e1452c8","name":"Transaction status with basic auth","originalRequest":{"method":"GET","header":[],"url":{"raw":"{{baseUrl}}/api/v2/payment/:reference","host":["{{baseUrl}}"],"path":["api","v2","payment",":reference"],"variable":[{"key":"reference","value":"a67691ed-3185-4153-9ede-7dc62601a177"}]}},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sat, 26 Apr 2025 12:15:03 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"cloudflare"},{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Etag","value":"W/\"a0-2JDLP40uFO3FN2eUsbs8SVapiHc\""},{"key":"Cf-Cache-Status","value":"DYNAMIC"},{"key":"Content-Encoding","value":"br"},{"key":"CF-RAY","value":"936600d99c6073dd-JNB"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"reference\": \"a67691ed-3185-4153-9ede-7dc62601a177\",\n    \"merchandRef\": \"yourid225262625342\",\n    \"amount\": 100,\n    \"status\": \"PENDING\",\n    \"reason\": \"Paiement initié avec success\"\n}"}],"_postman_id":"d78c7568-aca5-471e-97ad-13f4fd9c6fe4"}],"id":"fa846589-f642-4032-ba70-69da6634f27b","description":"<h2 id=\"dossier-paymentget-transactions-status\">Dossier <strong>payment/Get transactions status</strong></h2>\n<p>Récupère le détail d’un paiement par sa référence.</p>\n<h3 id=\"get-apiv2paymentreference-bearer\">GET <strong>/api/v2/payment/:reference</strong> <em>(Bearer)</em></h3>\n<p><strong>Requête</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>GET {{baseUrl}}/api/v2/payment/:reference\nAuthorization: Bearer {{bearerToken}}\n\n</code></pre><p><strong>Réponses</strong></p>\n<ul>\n<li><p>{ \"reference\": \"uuid\", \"merchandRef\": \"votre-externalId\", \"amount\": 100, \"status\": \"FAILED\", // ou PENDING, SUCCESS \"reason\": \"cancelled\" // motif en cas d’échec}</p>\n</li>\n<li><p>{ \"message\": \"Unauthorized\", \"statusCode\": 401}</p>\n</li>\n</ul>\n<h3 id=\"get-apiv2paymentreference-basic-auth\">GET <strong>/api/v2/payment/:reference</strong> <em>(Basic Auth)</em></h3>\n<p>Identique à la version Bearer, mais en en-tête Basic Auth.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>GET {{baseUrl}}/api/v2/payment/:reference\nAuthorization: Basic base64(appKey:secretKey)\n\n</code></pre><hr />\n","_postman_id":"fa846589-f642-4032-ba70-69da6634f27b"},{"name":"Init payment","item":[{"name":"Init Payment with token (bearer)","id":"80ae4238-2728-458e-afcc-7954c6c8fd97","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{bearerToken}}"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"payer\": \"2376xxxxxxxx\",\n  \"amount\": \"100\",\n  \"externalId\": \"yourid2252626252\",\n  \"description\": \"test\",\n  \"callback\": \"https://webhook.site/048fef35-a7ce-4ee2-bee1-e7b0d2be0c2a\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":"{{baseUrl}}/api/v2/payment","description":"<h3 id=\"post-apiv2payment\">POST /api/v2/payment</h3>\n<p>This endpoint is used to make a payment with the provided details.</p>\n<h4 id=\"request-body\">Request Body</h4>\n<ul>\n<li><p><code>payer</code> (string) - The payer's identifier.</p>\n</li>\n<li><p><code>amount</code> (number) - The amount of the payment.</p>\n</li>\n<li><p><code>externalId</code> (string) - The external identifier for the payment.</p>\n</li>\n<li><p><code>description</code> (string) - A description of the payment.</p>\n</li>\n<li><p><code>callback</code> (string) - The callback URL for receiving payment status updates.</p>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>The response for this request is expected to be in JSON format. However, the response examples are not available at the moment.</p>\n<h4 id=\"json-schema\">JSON Schema</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"reference\": \"b4766726-ccbb-0000-b53c-0b387686a397\",\n  \"status\": \"SUCCESS\",\n  \"message\": \"\"\n}\n\n</code></pre>\n","urlObject":{"path":["api","v2","payment"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"59987e35-e38d-4d0d-a30a-8141941e8a50","name":"Init with token success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"payer\": \"2376xxxxxxxx\",\n  \"amount\": \"100\",\n  \"externalId\": \"yourid2252626252\",\n  \"description\": \"test\",\n  \"callback\": \"https://webhook.site/048fef35-a7ce-4ee2-bee1-e7b0d2be0c2a\"\n}","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":"{{baseUrl}}/api/v2/payment"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sat, 26 Apr 2025 12:04:11 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"cloudflare"},{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Etag","value":"W/\"71-ACn5mUEM2ezdaP17v1sAWnvcLWg\""},{"key":"Cf-Cache-Status","value":"DYNAMIC"},{"key":"Content-Encoding","value":"br"},{"key":"CF-RAY","value":"9365f0d25cd9bbf0-JNB"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"reference\": \"cecb550c-f542-4f63-abe6-40534a02ddf1\",\n    \"status\": \"SUCCESS\",\n    \"message\": \"Paiement initié avec success\"\n}"}],"_postman_id":"80ae4238-2728-458e-afcc-7954c6c8fd97"},{"name":"Init Payment with basic auth","id":"0a726bf2-0661-445c-9346-64c41091a8e9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"<username>"},{"key":"password","value":"<password>"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"payer\": \"2376xxxxxxxx\",\n  \"amount\": \"10000\",\n  \"externalId\": \"yourid225262625342\",\n  \"description\": \"test\",\n  \"callback\": \"https://webhook.site/048fef35-a7ce-4ee2-bee1-e7b0d2be0c2a\"\n}\n","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":"{{baseUrl}}/api/v2/payment","description":"<h3 id=\"post-apiv2payment\">POST /api/v2/payment</h3>\n<p>This endpoint is used to make a payment with the provided details.</p>\n<h4 id=\"request-body\">Request Body</h4>\n<ul>\n<li><p><code>payer</code> (string) - The payer's identifier.</p>\n</li>\n<li><p><code>amount</code> (number) - The amount of the payment.</p>\n</li>\n<li><p><code>externalId</code> (string) - The external identifier for the payment.</p>\n</li>\n<li><p><code>description</code> (string) - A description of the payment.</p>\n</li>\n<li><p><code>callback</code> (string) - The callback URL for receiving payment status updates.</p>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>The response for this request is expected to be in JSON format. However, the response examples are not available at the moment.</p>\n<h4 id=\"json-schema\">JSON Schema</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"reference\": \"b4766726-ccbb-0000-b53c-0b387686a397\",\n  \"status\": \"SUCCESS\",\n  \"message\": \"\"\n}\n\n</code></pre>\n","urlObject":{"path":["api","v2","payment"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"a092c451-cefd-432b-83e5-b9b455724cde","name":"SUCCESS Init Payment with basic auth","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"payer\": \"2376xxxxxxxx\",\n  \"amount\": \"10000\",\n  \"externalId\": \"yourid225262625342\",\n  \"description\": \"test\",\n  \"callback\": \"https://webhook.site/048fef35-a7ce-4ee2-bee1-e7b0d2be0c2a\"\n}\n","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":"{{baseUrl}}/api/v2/payment"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"103"},{"key":"ETag","value":"W/\"67-MTX5a6JU7nolFnjQNOPg6oXfyCg\""},{"key":"Date","value":"Sun, 03 Aug 2025 13:28:14 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"reference\": \"27aa4ac4-a9d1-4d63-a805-77fd0794031c\",\n    \"status\": \"CREATED\",\n    \"message\": \"Transaction created\"\n}"}],"_postman_id":"0a726bf2-0661-445c-9346-64c41091a8e9"},{"name":"Init CHECKOUT Payment","id":"e3a484a2-0622-452b-966e-65cdd95a6cd3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"<username>"},{"key":"password","value":"<password>"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \n  \"amount\": 1000,\n  \"externalId\": \"yourid225262625342\",\n  \"description\": \"test\",\n  \"callback\": \"https://webhook.site/048fef35-a7ce-4ee2-bee1-e7b0d2be0c2a\"\n}\n","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":"{{baseUrl}}/api/v2/payment/checkout","description":"<h3 id=\"post-apiv2payment\">POST /api/v2/payment</h3>\n<p>This endpoint is used to make a payment with the provided details.</p>\n<h4 id=\"request-body\">Request Body</h4>\n<ul>\n<li><p><code>payer</code> (string) - The payer's identifier.</p>\n</li>\n<li><p><code>amount</code> (number) - The amount of the payment.</p>\n</li>\n<li><p><code>externalId</code> (string) - The external identifier for the payment.</p>\n</li>\n<li><p><code>description</code> (string) - A description of the payment.</p>\n</li>\n<li><p><code>callback</code> (string) - The callback URL for receiving payment status updates.</p>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>The response for this request is expected to be in JSON format. However, the response examples are not available at the moment.</p>\n<h4 id=\"json-schema\">JSON Schema</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"reference\": \"b4766726-ccbb-0000-b53c-0b387686a397\",\n  \"status\": \"SUCCESS\",\n  \"message\": \"\"\n}\n\n</code></pre>\n","urlObject":{"path":["api","v2","payment","checkout"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"f43e8922-dc51-4151-ba1f-ae1f2fcb8848","name":"SUCCESS Init Payment with basic auth","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"payer\": \"2376xxxxxxxx\",\n  \"amount\": \"10000\",\n  \"externalId\": \"yourid225262625342\",\n  \"description\": \"test\",\n  \"callback\": \"https://webhook.site/048fef35-a7ce-4ee2-bee1-e7b0d2be0c2a\"\n}\n","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":"{{baseUrl}}/api/v2/payment"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"103"},{"key":"ETag","value":"W/\"67-MTX5a6JU7nolFnjQNOPg6oXfyCg\""},{"key":"Date","value":"Sun, 03 Aug 2025 13:28:14 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"reference\": \"27aa4ac4-a9d1-4d63-a805-77fd0794031c\",\n    \"status\": \"CREATED\",\n    \"message\": \"Transaction created\"\n}"}],"_postman_id":"e3a484a2-0622-452b-966e-65cdd95a6cd3"}],"id":"985d3572-ebff-41bb-bd3e-68514082b179","description":"<h2 id=\"dossier-paymentinit-payment\">Dossier <strong>payment/Init payment</strong></h2>\n<p>Initie une demande de paiement.</p>\n<h3 id=\"post-apiv2payment-bearer\">POST <strong>/api/v2/payment</strong> <em>(Bearer)</em></h3>\n<p><strong>Requête</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>POST {{baseUrl}}/api/v2/payment\nAuthorization: Bearer {{bearerToken}}\nContent-Type: application/json\n{\n  \"payer\":      \"2376xxxxxxxx\",\n  \"amount\":     \"100\",\n  \"externalId\": \"votreIdUniqe\",\n  \"description\":\"Test de paiement\",\n  \"callback\":   \"https://votresite.com/webhook/freemopay\"\n}\n\n</code></pre><p><strong>Réponse (200 OK)</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"reference\": \"uuid-de-transaction\",\n  \"status\":    \"SUCCESS\",  // INITIALIZATION_SUCCESS ou FAILED\n  \"message\":   \"\"\n}\n\n</code></pre><h3 id=\"post-apiv2payment-basic-auth\">POST <strong>/api/v2/payment</strong> <em>(Basic Auth)</em></h3>\n<p>Même schéma, avec Basic Auth en lieu et place du Bearer.</p>\n<p>GET {{baseUrl}}/api/v2/payment/:reference<br />Authorization: Bearer bearerToken</p>\n","_postman_id":"985d3572-ebff-41bb-bd3e-68514082b179"},{"name":"Callback","item":[{"name":"Callback request you receive after a transaction Success or failed","id":"2aa0eb42-5590-4dbd-b612-6cb85eea4aa0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"\r\n{\r\n  \"status\": \"FAILED\",\r\n  \"reference\": \"cecb550c-f542-4f63-abe6-40534a02ddf2\",\r\n  \"amount\": 100,\r\n  \"transactionType\": \"DEPOSIT\",\r\n  \"externalId\": \"yourid2252626252\",\r\n  \"message\": \"Transaction canceled by the customer.\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://yoursite.com/webhook/freemopay","urlObject":{"protocol":"https","path":["webhook","freemopay"],"host":["yoursite","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"2aa0eb42-5590-4dbd-b612-6cb85eea4aa0"}],"id":"6fe27f98-76b0-4678-8b86-f7adbb632817","description":"<h2 id=\"dossier-paymentcallback\">Dossier <strong>payment/Callback</strong></h2>\n<h3 id=\"post-webhook-marchand\">POST <strong>Webhook marchand</strong></h3>\n<p>Freemopay appelle ce endpoint pour notifier le résultat final :</p>\n<p><strong>Exemple de payload</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>POST https://votresite.com/webhook/freemopay\nContent-Type: application/json\n{\n  \"status\":          \"FAILED\",              // SUCCESS ou FAILED\n  \"reference\":       \"uuid-de-transaction\",\n  \"amount\":          100,\n  \"transactionType\": \"DEPOSIT\",\n  \"externalId\":      \"votreIdUniqe\",\n  \"message\":         \"Transaction canceled by the customer.\"\n}\n\n</code></pre><blockquote>\n</blockquote>\n<p><strong>À noter :</strong></p>\n<ul>\n<li><p><code>status</code> reflète l’état <strong>final</strong> du paiement.</p>\n</li>\n<li><p><code>externalId</code> permet de faire le lien avec votre système interne.</p>\n</li>\n<li><p>Vos callbacks doivent renvoyer un <strong>200 OK</strong>, même si le paiement a échoué, pour valider la réception.</p>\n</li>\n</ul>\n","_postman_id":"6fe27f98-76b0-4678-8b86-f7adbb632817"},{"name":"Withdraw","item":[{"name":"Init Withdraw with basic auth","id":"2dae523d-52d3-4784-86e5-8052abd25099","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"basic","basic":{"basicConfig":[{"key":"username","value":"<username>"},{"key":"password","value":"<password>"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"receiver\": \"237695509408\",\n  \"amount\": \"100\",\n  \"externalId\": \"yourid225262625342\",\n  \"callback\": \"https://webhook.site/048fef35-a7ce-4ee2-bee1-e7b0d2be0c2a\"\n}\n","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":"{{baseUrl}}/api/v2/payment/direct-withdraw","description":"<h3 id=\"post-apiv2paymentdirect-withdraw\">POST /api/v2/payment/direct-withdraw</h3>\n<p>This endpoint is used to make a withdraw with the provided details.</p>\n<h4 id=\"request-body\">Request Body</h4>\n<ul>\n<li><p><code>receiver</code> (string) - The receiver's phone.</p>\n</li>\n<li><p><code>amount</code> (number) - The amount of the payment.</p>\n</li>\n<li><p><code>externalId</code> (string) - The external identifier for the payment.</p>\n</li>\n<li><p><code>callback</code> (string) - The callback URL for receiving payment status updates.</p>\n</li>\n</ul>\n<h4 id=\"response\">Response</h4>\n<p>The response for this request is expected to be in JSON format. However, the response examples are not available at the moment.</p>\n<h4 id=\"json-schema\">JSON Schema</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"reference\": \"b4766726-ccbb-0000-b53c-0b387686a397\",\n  \"status\": \"CREATED\",\n  \"message\": \"cashout created\"\n}\n\n</code></pre>\n","urlObject":{"path":["api","v2","payment","direct-withdraw"],"host":["{{baseUrl}}"],"query":[],"variable":[]}},"response":[{"id":"244d438b-cb7e-4607-b18f-3ce65655f399","name":"SUCCESS Init Cashout with basic auth","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"receiver\": \"2376xxxxxxxx\",\n  \"amount\": \"100\",\n  \"externalId\": \"yourid225262625342\",\n  \"callback\": \"https://webhook.site/048fef35-a7ce-4ee2-bee1-e7b0d2be0c2a\"\n}\n","options":{"raw":{"headerFamily":"json","language":"json"}}},"url":"{{baseUrl}}/api/v2/payment/direct-withdraw"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"X-Powered-By","value":"Express"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"99"},{"key":"ETag","value":"W/\"63-3eQtX5iZ43SvUYLJbqToqWqMg68\""},{"key":"Date","value":"Sun, 03 Aug 2025 13:54:22 GMT"},{"key":"Connection","value":"keep-alive"},{"key":"Keep-Alive","value":"timeout=5"}],"cookie":[],"responseTime":null,"body":"{\n    \"reference\": \"0e8d2768-e3fd-4224-b76f-3f7ae7bf9d27\",\n    \"status\": \"CREATED\",\n    \"message\": \"cashout created\"\n}"}],"_postman_id":"2dae523d-52d3-4784-86e5-8052abd25099"}],"id":"5b02573d-3266-4b65-8820-dbe7e3f31df0","_postman_id":"5b02573d-3266-4b65-8820-dbe7e3f31df0","description":""}],"id":"ea9c02b5-7dbc-4a53-92a7-19d2d17e4410","_postman_id":"ea9c02b5-7dbc-4a53-92a7-19d2d17e4410","description":""}]}