{"info":{"_postman_id":"346cd33a-c9eb-4c0b-b315-1101ec60e2f8","name":"CamPay API","description":"<html><head></head><body><p>Online Payments Made Easy</p>\n<p>Signup on our demo site: <a href=\"https://demo.campay.net\">https://demo.campay.net</a></p>\n<p>Login and register an <strong>application</strong></p>\n<p><strong>Error codes reference</strong></p>\n<table><tbody><tr><th>Error code</th><th>Description</th></tr><tr><td><div>ER101</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Invalid phone number. Ensure the number starts with the country code. e.g 237xxxxxxxxx<br></div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>ER102</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Unsupported Carrier phone number. Currently, only MTN and Orange phone numbers are accepted for mobile money<br></div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>ER201</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Invalid amount. Decimal numbers are NOT allowed. The Amount can be sent as integer or string<br></div><div><div><div><div></div></div></div><div></div></div></td></tr><tr><td><div>ER301</div><div><div><div><div></div></div></div><div></div></div></td><td><div>Insufficient balance. Trying to withdraw an amount which is above your current balance for the specific carrier<br></div><div><div><div><div></div></div></div><div></div></div></td></tr></tbody></table>\n\n<h1 id=\"authentication\"><strong>Authentication</strong></h1>\n<p>There are two methods of authenticating requests.</p>\n<ol>\n<li><p>Using a <strong>permanent access token</strong> that does not expire.</p>\n</li>\n<li><p>Using a <strong>temporary access token</strong> that expires and you can renew it.</p>\n</li>\n</ol>\n<h2 id=\"method-1\">Method 1</h2>\n<h3 id=\"permanent-access-token\">Permanent access token:</h3>\n<p>You can find your permanent access token under the APP KEYS section of your app.<br>Copy it and use it in the Authorisation header of your request. e.g</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    Authorization: Token 69e2df238ea8d66f24018574c5de51e2b77d9abb,\n    Content-Type: application/json\n}\n\n</code></pre>\n<h2 id=\"method-2\">Method 2</h2>\n<h2 id=\"temporary-access-token\">Temporary access token:</h2>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[{"content":"Authentication","slug":"authentication"}],"owner":"2391374","collectionId":"346cd33a-c9eb-4c0b-b315-1101ec60e2f8","publishedId":"T1LV8PVA","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"EF5B25"},"publishDate":"2020-08-22T04:26:44.000Z"},"item":[{"name":"Get access token","id":"8803168b-d451-4d65-b8cc-85e385bc3050","protocolProfileBehavior":{"disabledSystemHeaders":{"content-type":true},"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"username\": \"b-8OfojjDf35sqwli92G2t_EU4s7Oxxbp0wEWvX_ITTUUsIkSLiQWo7c_jG0ok8E59EM8A5OXVQ-Y1FeTtTRnw\",\n    \"password\": \"hFOs7Ibg0yyN0fsDq8CFvI2QRZHmGgUMObyetKli0N07uZ8eq9d3Gr2GfjsQjvP9m5YtmQk7asBefJdNgwBzTg\"\n}","options":{"raw":{"language":"json"}}},"url":"https://demo.campay.net/api/token/","description":"<h1 id=\"token\">/token/</h1>\n<p>After registering your application from your account, we generate API access username and password for that application which will be used to get access tokens before you can perform operations on our API.</p>\n<h1 id=\"response-parameters\"><strong>Response parameters</strong></h1>\n<ul>\n   <li><b>token</b> : To be used in subsequent requests in the <b>Authorization</b> header.</li>\n   <li><b>expires_in</b> : Shows when the token will expire. In <b>seconds</b></li>\n</ul>\n\n<h1 id=\"successful-response-status-code\"><strong>Successful response status code</strong>:</h1>\n<h6>200</h6>","urlObject":{"path":["api","token",""],"host":["https://demo.campay.net"],"query":[],"variable":[]}},"response":[{"id":"e532fc81-55e8-4503-a486-41de50c70772","name":"Get access token","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"username\": \"b-8OfojjDf35sqwli92G2t_EU4s7Oxxbp0wEWvX_ITTUUsIkSLiQWo7c_jG0ok8E59EM8A5OXVQ-Y1FeTtTRnw\",\n    \"password\": \"hFOs7Ibg0yyN0fsDq8CFvI2QRZHmGgUMObyetKli0N07uZ8eq9d3Gr2GfjsQjvP9m5YtmQk7asBefJdNgwBzTg\"\n}","options":{"raw":{"language":"json"}}},"url":"https://demo.campay.net/api/token/"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.14.0 (Ubuntu)"},{"key":"Date","value":"Tue, 27 Oct 2020 18:44:43 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"192"},{"key":"Connection","value":"keep-alive"},{"key":"Allow","value":"POST, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Vary","value":"Accept-Language, Cookie, Origin"},{"key":"Content-Language","value":"en"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Access-Control-Allow-Headers","value":"*"}],"cookie":[],"responseTime":null,"body":"{\n    \"token\": \"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsInVpZCI6Mn0.eyJpYXQiOjE2MDM4MjQyODMsIm5iZiI6MTYwMzgyNDI4MywiZXhwIjoxNjAzODI3ODgzfQ.ufW8sCrf_W2RFpVvH6zri0l7pJLnkPXCZi1zc10ZvOg\",\n    \"expires_in\": 3600\n}"}],"_postman_id":"8803168b-d451-4d65-b8cc-85e385bc3050"},{"name":"Request Payment","id":"31757962-2e07-486b-a6f4-a7cc7a06d032","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Authorization","value":"Token eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsInVpZCI6Mn0.eyJpYXQiOjE2MDc0OTk4MDMsIm5iZiI6MTYwNzQ5OTgwMywiZXhwIjoxNjA3NTAzNDAzfQ.wDVpvyC00u5EX8KpddbNc8zbg43XFBrDYD7gJbeAc3w","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"amount\": \"5\",\n    \"currency\": \"XAF\",\n    \"from\": \"2376XXXXXXXX\",\n    \"description\": \"Test\",\n    \"external_reference\": \"\",\n    \"external_user\": \"\"\n}","options":{"raw":{"language":"json"}}},"url":"https://demo.campay.net/api/collect/","description":"<h1 id=\"collect\">/collect/</h1>\n<p>This endpoint is used to request payment from users.</p>\n<p>When this endpoint is called, the user gets a prompt on their mobile phone to authorize the payment by entering their mobile money PIN.</p>\n<p>The token gotten from the <code>/token</code> endpoint is used here with the Authorization header beginning with \"Token\".</p>\n<p>When you initiate a transaction, the default status is PENDING. When processed, the status can be SUCCESSFUL or FAILED.  </p>\n<p>This endpoint supports <strong>Idempotency</strong> on <strong>external_reference field.</strong> If you make the first request with a particular external_reference and then make the second request with the same external_reference as the first, you will get the results of the first request. Change the external_reference or leave it blank to initiate a new transaction</p>\n<h1 id=\"request-body\">Request Body</h1>\n<p><strong>Format</strong>: Json</p>\n<p><strong>Parameters</strong>:</p>\n<ul><li><p>\"<b>amount</b>\": \"A valid <b>integer</b>\" e.g \"5\",</p></li><li><p>\"<b>currency</b>\": \"XAF\"</p></li><li><p>\"<b>from</b>\": \"A valid phone number with country code\" e.g \"2376xxxxxxxx\",</p></li><li><p>\"<b>description</b>\": \"Payment description\",</p></li><li><p>\"<b>external_reference</b>\": \"OPTIONAL. You can use this field to specify the reference of the transaction generated by your system. We will return this reference to you on the /transaction status endpoint\"</p></li><li><p><br />\"A valid and unique <b>UUID4</b>\". Example here<a href=\"https://www.uuidgenerator.net\">https://www.uuidgenerator.net</a>e.g \"2ceefe04-1a79-4914-9dd0-c61748c2aecd\". Each request should have a unique UUID. A request with a duplicate UUID will be <b>rejected</b></p></li></ul>\n\n<h1 id=\"response-body\">Response Body</h1>\n<p><strong>Format</strong>: Json</p>\n<p><strong>Parameters</strong>:</p>\n<ul><li><p>\"<b>reference</b>\": \"A valid <b>UUID4</b>. This reference is used to check the status of the transaction. Use the <code>/transaction/(reference)/</code> endpoint to check the status.</p></li></ul>\n\n<h1 id=\"successful-response-status-code\"><strong>Successful response status code</strong>:</h1>\n<h6 id=\"200\">200</h6>\n","urlObject":{"path":["api","collect",""],"host":["https://demo.campay.net"],"query":[],"variable":[]}},"response":[{"id":"131ad055-e47a-426a-8990-a7122eada443","name":"Request Payment","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsInVpZCI6Mn0.eyJpYXQiOjE2MDc0OTk4MDMsIm5iZiI6MTYwNzQ5OTgwMywiZXhwIjoxNjA3NTAzNDAzfQ.wDVpvyC00u5EX8KpddbNc8zbg43XFBrDYD7gJbeAc3w","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\"amount\":\"5\",\"from\":\"2376XXXXXXXX\",\"description\":\"Test\",\"external_reference\": \"\"}","options":{"raw":{"language":"json"}}},"url":"https://demo.campay.net/api/collect/"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.14.0 (Ubuntu)"},{"key":"Date","value":"Tue, 27 Oct 2020 18:57:06 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"52"},{"key":"Connection","value":"keep-alive"},{"key":"Allow","value":"POST, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Vary","value":"Accept-Language, Cookie, Origin"},{"key":"Content-Language","value":"en"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Access-Control-Allow-Headers","value":"*"}],"cookie":[],"responseTime":null,"body":"{\n    \"reference\": \"bcedde9b-62a7-4421-96ac-2e6179552a1a\",\n    \"ussd_code\": \"*126# for MTN or #150*50# for ORANGE\",\n    \"operator\": \"mtn or orange\"\n}"}],"_postman_id":"31757962-2e07-486b-a6f4-a7cc7a06d032"},{"name":"Payment Links","id":"f1b5aa4a-3146-42de-9250-f9b5406a7711","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Token eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsInVpZCI6Mn0.eyJpYXQiOjE2MDc0OTk4MDMsIm5iZiI6MTYwNzQ5OTgwMywiZXhwIjoxNjA3NTAzNDAzfQ.wDVpvyC00u5EX8KpddbNc8zbg43XFBrDYD7gJbeAc3w","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"amount\": \"5\",\n    \"currency\": \"XAF\",\n    \"from\": \"2376XXXXXXXX\",\n    \"description\": \"Test\",\n    \"first_name\": \"John\",\n    \"last_name\": \"Doe\",\n    \"email\": \"example@mail.com\",\n    \"external_reference\": \"\",\n    \"redirect_url\": \"https://example.com\",\n    \"failure_redirect_url\": \"https://example.com\",\n    \"payment_options\":\"MOMO\",\n    \"payer_can_pay_more\":\"no\"\n}"},"url":"https://demo.campay.net/api/get_payment_link/","description":"<h1 id=\"get_payment_link\">/get_payment_link/</h1>\n<p>Receive payments from your clients using generated links.</p>\n<h1 id=\"request-body\">Request Body</h1>\n<p><strong>Format</strong>: Json</p>\n<p><strong>Parameters</strong>:</p>\n<ul><li><div>\"<b>amount</b>\": \"A valid <b>integer</b>\" e.g \"5\",</div></li><li><div>\"<b>currency</b>\": \"XAF\"</div></li><li><div>\"<b>from</b>\": \"OPTIONAL. A valid phone number with country code\" e.g \"2376xxxxxxxx\",</div></li><li><div>\"<b>description</b>\": \"Payment description\",</div></li><li><div>\"<b>first_name</b>\": \"OPTIONAL\". String</div></li><li><div>\"<b>last_name</b>\": \"OPTIONAL\". String</div></li><li><div>\"<b>email</b>\": \"OPTIONAL\". String</div></li><li><div>\"<b>external_reference</b>\": \"OPTIONAL. You can use this field to specify the reference of the transaction generated by your system. We will return this reference to you on the /transaction status endpoint\"</div></li><li><div>\"<b>redirect_url</b>\": \"https://example.com\",</div></li><li><div>\"<b>failure_redirect_url</b>\":\"https://example.com\",</div></li><li><div>\"<b>payment_options</b>\": \"MOMO,CARD\". The payment options that you want to be displayed on the payment widget.</div></li><li><div>\"<b>payer_can_pay_more</b>\": \"yes\" or \"no\". OPTIONAL. This field allows you to specify if the payer can pay more than the defined amount for the payment link. If an amount is set and this field value is set to \"yes\", it will be considered as the minimum amount requred for that payment but the payer can pay more.</div></li></ul>\n\n<h1 id=\"response-body\">Response Body</h1>\n<p><strong>Format</strong>: Json</p>\n<p><strong>Parameters</strong>:</p>\n<ul><li><div>\"<b>link</b>\": Redirect your customer to this returned link to complete the payment.</div></li><li><div>\"<b>reference</b>\": You can use this reference to verify the transaction status of the generated link. Note that if your client does not initiate a payment from the payment link, there will be no result if you check the transaction status. Use the /transaction/(reference)/ endpoint to check the status.</div></li></ul>\n\n<h1 id=\"successful-response-status-code\"><strong>Successful response status code</strong>:</h1>\n<h6 id=\"200\">200</h6>\n","urlObject":{"path":["api","get_payment_link",""],"host":["https://demo.campay.net"],"query":[],"variable":[]}},"response":[{"id":"c44b37e7-bd88-4cc5-89dd-56ac0feeca7f","name":"Payment Links","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsInVpZCI6Mn0.eyJpYXQiOjE2MDc0OTk4MDMsIm5iZiI6MTYwNzQ5OTgwMywiZXhwIjoxNjA3NTAzNDAzfQ.wDVpvyC00u5EX8KpddbNc8zbg43XFBrDYD7gJbeAc3w","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"amount\": \"5\",\n    \"currency\": \"XAF\",\n    \"description\": \"Test\",\n    \"external_reference\": \"\",\n    \"redirect_url\": \"https://example.com\"\n}"},"url":"https://demo.campay.net/api/get_payment_link/"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sat, 06 Nov 2021 01:20:58 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.8.10"},{"key":"Content-Type","value":"application/json"},{"key":"Allow","value":"POST, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"61"},{"key":"Vary","value":"Accept-Language, Cookie, Origin"},{"key":"Content-Language","value":"en"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Access-Control-Allow-Headers","value":"*"}],"cookie":[],"responseTime":null,"body":"{\n    \"link\": \"http://127.0.0.1:8000/pay/test-xyz-1631658\", \"reference\": \"740871ff-c527-4474-be6b-147aaas2ea5\"\n}"}],"_postman_id":"f1b5aa4a-3146-42de-9250-f9b5406a7711"},{"name":"Transaction Status","id":"d9278e44-aa8a-4ed1-85f7-7e0184dc35db","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Token eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsInVpZCI6Mn0.eyJpYXQiOjE2MDc0OTk4MDMsIm5iZiI6MTYwNzQ5OTgwMywiZXhwIjoxNjA3NTAzNDAzfQ.wDVpvyC00u5EX8KpddbNc8zbg43XFBrDYD7gJbeAc3w","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":"https://demo.campay.net/api/transaction/(reference)/","description":"<h1 id=\"transactionreference\">/transaction/(reference)/</h1>\n<p>Use this endpoint to check for the status of an initiated transaction. When you perform an operation, for example, request payment, a reference UUID is returned which will serve as the reference for your requested transaction. Use the reference to check the transaction status</p>\n","urlObject":{"path":["api","transaction","(reference)",""],"host":["https://demo.campay.net"],"query":[],"variable":[]}},"response":[{"id":"231243eb-eb6a-402a-95c8-0a37a9850c30","name":"Pending Status","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Token eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsInVpZCI6Mn0.eyJpYXQiOjE2MDc0OTk4MDMsIm5iZiI6MTYwNzQ5OTgwMywiZXhwIjoxNjA3NTAzNDAzfQ.wDVpvyC00u5EX8KpddbNc8zbg43XFBrDYD7gJbeAc3w","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":"https://demo.campay.net/api/transaction/bcedde9b-62a7-4421-96ac-2e6179552a1a/"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.14.0 (Ubuntu)"},{"key":"Date","value":"Tue, 27 Oct 2020 19:02:35 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"176"},{"key":"Connection","value":"keep-alive"},{"key":"Allow","value":"GET, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Vary","value":"Accept-Language, Origin"},{"key":"Content-Language","value":"en"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Access-Control-Allow-Headers","value":"*"}],"cookie":[],"responseTime":null,"body":"{\n    \"reference\": \"85ac913b-bf64-49c5-979e-d175f058a6af\",\n    \"external_reference\": \"\",\n    \"status\": \"PENDING\",\n    \"amount\": 2.0,\n    \"currency\": \"XAF\",\n    \"operator\": \"MTN\",\n    \"code\": \"D201102W0002LK\",\n    \"operator_reference\": null,\n    \"description\": \"Test\",\n    \"external_user\": \"\",\n    \"reason\": null,\n    \"phone_number\": \"2376xxxxxxxx\",\n    \"endpoint\": \"collect\"\n}"},{"id":"56799411-51cc-495a-b810-b1cf8418f0fa","name":"Successful Status","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Token eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsInVpZCI6Mn0.eyJpYXQiOjE2MDc0OTk4MDMsIm5iZiI6MTYwNzQ5OTgwMywiZXhwIjoxNjA3NTAzNDAzfQ.wDVpvyC00u5EX8KpddbNc8zbg43XFBrDYD7gJbeAc3w","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":"https://demo.campay.net/api/transaction/bcedde9b-62a7-4421-96ac-2e6179552a1a/"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.14.0 (Ubuntu)"},{"key":"Date","value":"Tue, 27 Oct 2020 19:04:00 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"176"},{"key":"Connection","value":"keep-alive"},{"key":"Allow","value":"GET, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Vary","value":"Accept-Language, Origin"},{"key":"Content-Language","value":"en"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Access-Control-Allow-Headers","value":"*"}],"cookie":[],"responseTime":null,"body":"{\n    \"reference\": \"85ac913b-bf64-49c5-979e-d175XXXa6af\",\n    \"external_reference\": \"\",\n    \"status\": \"SUCCESSFUL\",\n    \"amount\": 2.0,\n    \"currency\": \"XAF\",\n    \"operator\": \"MTN\",\n    \"code\": \"D201102W0002LK\",\n    \"operator_reference\": null,\n    \"description\": \"Test\",\n    \"external_user\": \"\",\n    \"reason\": null,\n    \"phone_number\": \"2376xxxxxxxx\",\n    \"endpoint\": \"collect\"\n}"},{"id":"a39cfbc6-5c0e-4c8f-84f9-dec415fcf5ac","name":"Failed Status","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Token eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsInVpZCI6Mn0.eyJpYXQiOjE2MDc0OTk4MDMsIm5iZiI6MTYwNzQ5OTgwMywiZXhwIjoxNjA3NTAzNDAzfQ.wDVpvyC00u5EX8KpddbNc8zbg43XFBrDYD7gJbeAc3w","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":"https://demo.campay.net/api/transaction/bcedde9b-62a7-4421-96ac-2e6179552a1a/"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.14.0 (Ubuntu)"},{"key":"Date","value":"Tue, 27 Oct 2020 19:04:00 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"176"},{"key":"Connection","value":"keep-alive"},{"key":"Allow","value":"GET, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Vary","value":"Accept-Language, Origin"},{"key":"Content-Language","value":"en"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Access-Control-Allow-Headers","value":"*"}],"cookie":[],"responseTime":null,"body":"{\n    \"reference\": \"85ac913b-bf64-49c5-979e-d175f058a6af\",\n    \"external_reference\": \"\",\n    \"status\": \"FAILED\",\n    \"amount\": 2.0,\n    \"currency\": \"XAF\",\n    \"operator\": \"MTN\",\n    \"code\": \"D201102W0002LK\",\n    \"operator_reference\": null,\n    \"description\": \"Test\",\n    \"external_user\": \"\",\n    \"reason\": null,\n    \"phone_number\": \"2376xxxxxxxx\",\n    \"endpoint\": \"withdraw\"\n}"}],"_postman_id":"d9278e44-aa8a-4ed1-85f7-7e0184dc35db"},{"name":"Withdraw funds","id":"885dbde0-b0dd-4514-a0f9-f84fc83df12d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Token eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsInVpZCI6Mn0.eyJpYXQiOjE2MDc0OTk4MDMsIm5iZiI6MTYwNzQ5OTgwMywiZXhwIjoxNjA3NTAzNDAzfQ.wDVpvyC00u5EX8KpddbNc8zbg43XFBrDYD7gJbeAc3w","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"amount\": \"2\",\n    \"to\": \"2376XXXXXXXX\",\n    \"description\": \"Test\",\n    \"external_reference\": \"\"\n}","options":{"raw":{"language":"json"}}},"url":"https://demo.campay.net/api/withdraw/","description":"<h1 id=\"withdraw\">/withdraw/</h1>\n<p>Withdraw funds from an app to a mobile money account. Ensure phone number has country code.  </p>\n<p>Note: <strong>Withdrawals through the API must be allowed under your application settings</strong></p>\n<p>This endpoint supports <strong>Idempotency</strong> on <strong>external_reference field.</strong> If you make the first request with a particular external_reference and then make the second request with the same external_reference as the first, you will get the results of the first request. Change the external_reference or leave it blank to initiate a new transaction</p>\n<h1 id=\"request-body\">Request Body</h1>\n<p><strong>Format</strong>: Json  </p>\n<p><strong>Parameters</strong>:  </p>\n<ul><li><p>\"<b>amount</b>\": \"A valid <b>integer</b>\" e.g \"5\",</p></li><li><p>\"<b>to</b>\": \"A valid phone number with country code\" e.g \"237679587525\",</p></li><li><p>\"<b>description</b>\": \"Payment description\",</p></li><li><p>\"<b>external_reference</b>\": \"OPTIONAL. You can use this field to specify the reference of the transaction generated by your system. We will return this reference to you on the /transaction status endpoint\"</p></li><li><p>\"<b>external_reference</b>\": \"A valid <b>UUID4</b>\". Example here <a href=\"https://www.uuidgenerator.net\">https://www.uuidgenerator.net</a> e.g \"a2707130-2419-441e-95b8-1bddefc2cbfb\". Each request should have a unique UUID. A request with a duplicate UUID will be <b>rejected</b></p></li><p></p></ul>\n\n<h1 id=\"response-body\">Response Body</h1>\n<p><strong>Format</strong>: Json  </p>\n<p><strong>Parameters</strong>:  </p>\n<ul><li><p>\"<b>reference</b>\": \"A valid <b>UUID4</b>. This reference is used to check the status of the transaction. Use the <code>/transaction/(reference)/</code> endpoint to check the status.</p></li></ul>\n\n<h1 id=\"successful-response-status-code\"><strong>Successful response status code</strong>:</h1>\n<h6 id=\"200\">200</h6>\n","urlObject":{"path":["api","withdraw",""],"host":["https://demo.campay.net"],"query":[],"variable":[]}},"response":[{"id":"5c0428ce-23e2-4fdb-94ab-3205b1271983","name":"Example","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsInVpZCI6Mn0.eyJpYXQiOjE2MDc0OTk4MDMsIm5iZiI6MTYwNzQ5OTgwMywiZXhwIjoxNjA3NTAzNDAzfQ.wDVpvyC00u5EX8KpddbNc8zbg43XFBrDYD7gJbeAc3w","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"amount\": \"2\",\n    \"to\": \"2376XXXXXXXX\",\n    \"description\": \"Test\",\n    \"external_reference\": \"\"\n}","options":{"raw":{"language":"json"}}},"url":"https://demo.campay.net/api/withdraw/"},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"Date","value":"Mon, 16 Mar 2026 06:43:26 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.12.3"},{"key":"Content-Type","value":"application/json"},{"key":"Allow","value":"POST, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"71"},{"key":"Vary","value":"Accept-Language, Cookie"},{"key":"Content-Language","value":"en"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Access-Control-Allow-Methods","value":"GET, POST, PUT, DELETE, OPTIONS"},{"key":"Access-Control-Allow-Headers","value":"*"}],"cookie":[],"responseTime":null,"body":"{\n    \"reference\": \"029e82b2-8450-4ab6-8543-915776063114\",\n    \"status\": \"PENDING\"\n}"}],"_postman_id":"885dbde0-b0dd-4514-a0f9-f84fc83df12d"},{"name":"Webhook or Callback","id":"2203c8be-8993-41d9-8c33-c42fd1a03293","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://example.com/yourcallback?status=SUCCESSFUL&reference=xyz&amount=100&currency=XAF&operator=MTN&code=ABC1234567890&operator_reference=1234567890&signature=asdfasdfasdfasdfasdf&endpoint=collect&external_reference=asdfasdfasdfadsasdf&external_user=xyz&extra_first_name=xyz&extra_last_name=xyz&extra_email=test@zyz.com&phone_number=237123456789","description":"<p>Define a callback url under your registered app.</p>\n<p>Your callback url will be notified when a transaction is SUCCESSFUL or FAILED.<br />You can set if your callback url should expect a GET or POST request.</p>\n<p>*If your callback url method is <strong>GET,</strong> expect a request with the following parameters. If your callback url is <strong>POST</strong>, expect a request with following JSON data:</p>\n<ul><li><p><b>status</b>: \"SUCCESSFUL\" or \"FAILED\",</p></li><li><p><b>reference</b>: \"Reference of the transaction. A valid UUID4\",</p></li><li><p><b>amount</b>: \"Transaction amount\",</p></li><li><p><b>currency</b>: \"Transaction currency\",</p></li><li><p><b>operator</b>: \"MTN or ORANGE\",</p></li><li><p><b>code</b>: \"CamPay Reference\",</p></li><li><p><b>operator_reference</b>: \"Mobile Operator Reference\"</p></li><li><p><b>signature</b>:\"jwt token. You can validate this request that is coming from CamPay by using your app webhook key to validate the jwt token\"</p></li><li><p><b>endpoint</b>: \"collect\" or \"withdraw\". This shows the kind of transaction that was performed. Deposits are \"collect\" while Withdrawals are \"withdraw\".</p></li><li><p><b>external_reference</b>: The reference on the platform that initiated the transaction.</p></li><li><p><b>external_user</b>: The user on the platform that initiated the transaction.</p></li><li><p><b>extra_first_name</b>: First name provided when the transaction was initiated.</p></li><li><p><b>extra_last_name</b>: Last name provided when the transaction was initiated.</p></li><li><p><b>extra_email</b>: Email provided when the transaction was initiated.</p></li><li><div><b>phone_number</b>: The phone number that initiated the transaction</div></li></ul>","urlObject":{"protocol":"https","path":["yourcallback"],"host":["example","com"],"query":[{"key":"status","value":"SUCCESSFUL"},{"key":"reference","value":"xyz"},{"key":"amount","value":"100"},{"key":"currency","value":"XAF"},{"key":"operator","value":"MTN"},{"key":"code","value":"ABC1234567890"},{"key":"operator_reference","value":"1234567890"},{"key":"signature","value":"asdfasdfasdfasdfasdf"},{"key":"endpoint","value":"collect"},{"key":"external_reference","value":"asdfasdfasdfadsasdf"},{"key":"external_user","value":"xyz"},{"key":"extra_first_name","value":"xyz"},{"key":"extra_last_name","value":"xyz"},{"key":"extra_email","value":"test@zyz.com"},{"key":"phone_number","value":"237123456789"}],"variable":[]}},"response":[],"_postman_id":"2203c8be-8993-41d9-8c33-c42fd1a03293"},{"name":"Get Application Balance","id":"7e2b34aa-6645-4d75-abe1-c28499f9d34d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Token eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsInVpZCI6Mn0.eyJpYXQiOjE2MDc0OTk4MDMsIm5iZiI6MTYwNzQ5OTgwMywiZXhwIjoxNjA3NTAzNDAzfQ.wDVpvyC00u5EX8KpddbNc8zbg43XFBrDYD7gJbeAc3w","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":"https://demo.campay.net/api/balance/","description":"<h1 id=\"balance\">/balance/</h1>\n<p>Returns</p>\n<ul>\n<li>total_balance</li>\n<li>mtn_balance</li>\n<li>orange_balance</li>\n</ul>\n","urlObject":{"path":["api","balance",""],"host":["https://demo.campay.net"],"query":[],"variable":[]}},"response":[{"id":"dce0842e-0a3a-43fd-a5f0-e16ceebaa094","name":"Successful example","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Token eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsInVpZCI6Mn0.eyJpYXQiOjE2MDc0OTk4MDMsIm5iZiI6MTYwNzQ5OTgwMywiZXhwIjoxNjA3NTAzNDAzfQ.wDVpvyC00u5EX8KpddbNc8zbg43XFBrDYD7gJbeAc3w","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"url":"https://demo.campay.net/api/balance/"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sat, 16 Jan 2021 17:06:55 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.8.5"},{"key":"Content-Type","value":"application/json"},{"key":"Allow","value":"OPTIONS, GET"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"83"},{"key":"Vary","value":"Accept-Language, Origin"},{"key":"Content-Language","value":"en"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Access-Control-Allow-Headers","value":"*"}],"cookie":[],"responseTime":null,"body":"{\n    \"total_balance\": 0.00,\n    \"mtn_balance\": 0.00,\n    \"orange_balance\": 0.00,\n    \"currency\": \"XAF\"\n}"}],"_postman_id":"7e2b34aa-6645-4d75-abe1-c28499f9d34d"},{"name":"Transaction History","id":"81828352-c676-4ed3-97e6-16a7a0c0e981","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Token eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsInVpZCI6Mn0.eyJpYXQiOjE2MDc0OTk4MDMsIm5iZiI6MTYwNzQ5OTgwMywiZXhwIjoxNjA3NTAzNDAzfQ.wDVpvyC00u5EX8KpddbNc8zbg43XFBrDYD7gJbeAc3w","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"start_date\": \"2021-01-01\",\n    \"end_date\": \"2021-01-30\"\n}"},"url":"https://demo.campay.net/api/history/","description":"<h1 id=\"history\">/history/</h1>\n<p>This endpoint is used to query your app's transaction history. <br />\nIt requires the \"start_date\" and \"end_date\" to be provided in the POST data. <br />\nNote: The date should be in the format YYYY-MM-DD</p>\n","urlObject":{"path":["api","history",""],"host":["https://demo.campay.net"],"query":[],"variable":[]}},"response":[{"id":"ddd6575a-f1c4-43f1-bd45-0c45b95dab69","name":"Transaction History","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Token eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsInVpZCI6Mn0.eyJpYXQiOjE2MDc0OTk4MDMsIm5iZiI6MTYwNzQ5OTgwMywiZXhwIjoxNjA3NTAzNDAzfQ.wDVpvyC00u5EX8KpddbNc8zbg43XFBrDYD7gJbeAc3w","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"start_date\": \"2021-01-01\",\n    \"end_date\": \"2021-01-30\"\n}"},"url":"https://demo.campay.net/api/history/"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 07 May 2021 02:28:43 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.8.5"},{"key":"Content-Type","value":"application/json"},{"key":"Allow","value":"OPTIONS, POST"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"3308"},{"key":"Vary","value":"Accept-Language, Cookie, Origin"},{"key":"Content-Language","value":"en"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Access-Control-Allow-Headers","value":"*"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": [\n        {\n            \"datetime\": \"2021-01-29T09:52:34.876707Z\",\n            \"code\": \"CP210129D0001P\",\n            \"operator_tx_code\": \"MP210129.1052.A35072\",\n            \"operator\": \"Orange\",\n            \"phone_number\": \"237696546822\",\n            \"description\": \"Test\",\n            \"external_user\": \"\",\n            \"amount\": 5,\n            \"charge_amount\": 0.05,\n            \"debit\": 0,\n            \"credit\": 4.95,\n            \"status\": \"SUCCESSFUL\",\n            \"reference_uuid\": \"25c63c72-8485-4059-85ad-fdb4bfb26c21\"\n        },\n        {\n            \"datetime\": \"2021-01-25T12:44:11.808507Z\",\n            \"code\": \"CP210125D0001N\",\n            \"operator_tx_code\": \"2171591856\",\n            \"operator\": \"MTN\",\n            \"phone_number\": \"237679587525\",\n            \"description\": \"Test\",\n            \"external_user\": \"\",\n            \"amount\": 5,\n            \"charge_amount\": 0.05,\n            \"debit\": 0,\n            \"credit\": 4.95,\n            \"status\": \"FAILED\",\n            \"reference_uuid\": \"769dc5c3-1a98-4788-bac4-2daaa49a58b6\"\n        }\n    ]\n}"}],"_postman_id":"81828352-c676-4ed3-97e6-16a7a0c0e981"},{"name":"Utilities: Airtime Tansfer","id":"544cb091-1104-4bf1-b9ad-893c5067c925","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Token eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsInVpZCI6Mn0.eyJpYXQiOjE2MDc0OTk4MDMsIm5iZiI6MTYwNzQ5OTgwMywiZXhwIjoxNjA3NTAzNDAzfQ.wDVpvyC00u5EX8KpddbNc8zbg43XFBrDYD7gJbeAc3w","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"amount\":\"5\",\n    \"to\":\"237XXXXXXXX\",\n    \"external_reference\":\"\"\n}"},"url":"https://demo.campay.net/api/utilities/airtime/transfer/","description":"<p>Transfer airtime to mobile numbers.\nOn sandbox or demo environment, manimum and maximum amount is 100 XAF</p>\n","urlObject":{"path":["api","utilities","airtime","transfer",""],"host":["https://demo.campay.net"],"query":[],"variable":[]}},"response":[],"_postman_id":"544cb091-1104-4bf1-b9ad-893c5067c925"},{"name":"Utilities: Transaction Status","id":"e2686c97-565d-45dd-86f4-375e39268a44","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Token eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsInVpZCI6Mn0.eyJpYXQiOjE2MDc0OTk4MDMsIm5iZiI6MTYwNzQ5OTgwMywiZXhwIjoxNjA3NTAzNDAzfQ.wDVpvyC00u5EX8KpddbNc8zbg43XFBrDYD7gJbeAc3w","type":"text"}],"url":"https://demo.campay.net/api/utilities/transaction/(reference)/","description":"<p>Check the status of an initiated utility(Airtime) transaction</p>\n","urlObject":{"path":["api","utilities","transaction","(reference)",""],"host":["https://demo.campay.net"],"query":[],"variable":[]}},"response":[],"_postman_id":"e2686c97-565d-45dd-86f4-375e39268a44"},{"name":"Phone Number Holder Info","id":"7f8af623-82fd-4c17-850e-329d75823697","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Token eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsInVpZCI6Mn0.eyJpYXQiOjE2MDc0OTk4MDMsIm5iZiI6MTYwNzQ5OTgwMywiZXhwIjoxNjA3NTAzNDAzfQ.wDVpvyC00u5EX8KpddbNc8zbg43XFBrDYD7gJbeAc3w","type":"text"}],"url":"https://demo.campay.net/api/holder_info/?phone_number=237XXXXXXXX","description":"<p>Check the name associated to a phone number</p>\n","urlObject":{"path":["api","holder_info",""],"host":["https://demo.campay.net"],"query":[{"key":"phone_number","value":"237XXXXXXXX"}],"variable":[]}},"response":[{"id":"ab352d1f-344f-4707-b22a-0361ee70f4e3","name":"Success","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Token eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsInVpZCI6Mn0.eyJpYXQiOjE2MDc0OTk4MDMsIm5iZiI6MTYwNzQ5OTgwMywiZXhwIjoxNjA3NTAzNDAzfQ.wDVpvyC00u5EX8KpddbNc8zbg43XFBrDYD7gJbeAc3w","type":"text"}],"url":{"raw":"https://demo.campay.net/api/holder_info/?phone_number=237XXXXXXXX","host":["https://demo.campay.net"],"path":["api","holder_info",""],"query":[{"key":"phone_number","value":"237XXXXXXXX"}]}},"status":"OK","code":200,"_postman_previewlanguage":null,"header":[{"key":"Date","value":"Wed, 28 Jan 2026 06:30:58 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.12.3"},{"key":"Content-Type","value":"application/json"},{"key":"Allow","value":"GET, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"40"},{"key":"Vary","value":"Accept-Language"},{"key":"Content-Language","value":"en"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Access-Control-Allow-Methods","value":"GET, POST, PUT, DELETE, OPTIONS"},{"key":"Access-Control-Allow-Headers","value":"*"}],"cookie":[],"responseTime":null,"body":"{\n    \"full_name\": \"JOHN DOE\"\n}"},{"id":"a09d0314-afbb-40ca-9273-d43166a039dd","name":"Error","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Token eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsInVpZCI6Mn0.eyJpYXQiOjE2MDc0OTk4MDMsIm5iZiI6MTYwNzQ5OTgwMywiZXhwIjoxNjA3NTAzNDAzfQ.wDVpvyC00u5EX8KpddbNc8zbg43XFBrDYD7gJbeAc3w","type":"text"}],"url":{"raw":"https://demo.campay.net/api/holder_info/?phone_number=237XXXXXXXX","host":["https://demo.campay.net"],"path":["api","holder_info",""],"query":[{"key":"phone_number","value":"237XXXXXXXX"}]}},"status":"Not Found","code":404,"_postman_previewlanguage":null,"header":[{"key":"Date","value":"Wed, 28 Jan 2026 06:32:57 GMT"},{"key":"Server","value":"WSGIServer/0.2 CPython/3.12.3"},{"key":"Content-Type","value":"application/json"},{"key":"Allow","value":"GET, OPTIONS"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Length","value":"27"},{"key":"Vary","value":"Accept-Language"},{"key":"Content-Language","value":"en"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Referrer-Policy","value":"same-origin"},{"key":"Cross-Origin-Opener-Policy","value":"same-origin"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Access-Control-Allow-Methods","value":"GET, POST, PUT, DELETE, OPTIONS"},{"key":"Access-Control-Allow-Headers","value":"*"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"No name found\"\n}"}],"_postman_id":"7f8af623-82fd-4c17-850e-329d75823697"}],"event":[{"listen":"prerequest","script":{"id":"707f0100-f316-4940-985e-14127767d704","type":"text/javascript","requests":{},"exec":[""]}},{"listen":"test","script":{"id":"01245fcb-2824-4d1c-973d-1b52ef88cf62","type":"text/javascript","requests":{},"exec":[""]}}],"variable":[{"key":"base_url","value":"https://demo.campay.net"},{"key":"app_username","value":"b-8OfojjDf35sqwli92G2t_EU4s7Oxxbp0wEWvX_ITTUUsIkSLiQWo7c_jG0ok8E59EM8A5OXVQ-Y1FeTtTRnw"},{"key":"app_password","value":"hFOs7Ibg0yyN0fsDq8CFvI2QRZHmGgUMObyetKli0N07uZ8eq9d3Gr2GfjsQjvP9m5YtmQk7asBefJdNgwBzTg"},{"key":"access_token","value":"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsInVpZCI6Mn0.eyJpYXQiOjE2MDc0OTk4MDMsIm5iZiI6MTYwNzQ5OTgwMywiZXhwIjoxNjA3NTAzNDAzfQ.wDVpvyC00u5EX8KpddbNc8zbg43XFBrDYD7gJbeAc3w"},{"key":"amount","value":"5"},{"key":"from","value":"2376XXXXXXXX"},{"key":"description","value":"Test"},{"key":"reference","value":"(reference)"},{"key":"external_reference","value":""},{"key":"currency","value":"XAF"},{"key":"to","value":"237XXXXXXXX"},{"key":"redirect_url","value":"https://example.com"},{"key":"first_name","value":"John"},{"key":"last_name","value":"Doe"},{"key":"email","value":"example@mail.com"}]}