{"info":{"_postman_id":"9e5cf7f0-1688-4a66-8476-d9f132df8aa5","name":"PaymeTrust API Implementation","description":"<html><head></head><body><h2 id=\"presentation\">Presentation</h2>\n<p>Welcome to the documentation of the <strong>Paymetrust</strong> API. This documentation describes the different operations you can perform with our API. This section presents the basics to get started with the <strong>Paymetrust</strong> API, including prerequisites and available environments.</p>\n<h2 id=\"prerequisites\">Prerequisites</h2>\n<p>To access and use the <strong>Paymetrust</strong> API, please follow the steps below:</p>\n<h2 id=\"registration-on-the-paymetrust-website\">Registration on the Paymetrust website</h2>\n<p>Go to the official <strong>Paymetrust</strong> website at the following address: <a href=\"https://paymetrust.net/\">https://paymetrust.net/</a>. Fill out the registration form with the required information.</p>\n<h2 id=\"registration-validation\">Registration validation</h2>\n<p>After submitting the registration form, your request will be reviewed by the <strong>Paymetrust</strong> team. Once your registration is validated, an account will be created for you.</p>\n<h2 id=\"receiving-api-access\">Receiving API access</h2>\n<p>The information to access your account, including your <code>api_key</code> and your <code>api_password</code>, will be sent to the email address you provided during registration. This information is essential to authenticate your requests to the <strong>Paymetrust</strong> API.</p>\n<h2 id=\"using-the-api\">Using the API</h2>\n<p>With your <code>api_key</code> and your <code>api_password</code>, you will be able to consume the <strong>Paymetrust</strong> API by following the provided documentation. Make sure to keep your authentication information secure and only share it with authorized parties.</p>\n<h2 id=\"web-payment-api-flow\">Web Payment API FLOW</h2>\n<img src=\"https://content.pstmn.io/60e214eb-bb5f-434b-b44e-cdd1a09e7bcc/d2ViX3BheW1lbnRfYXBpIGZsb3cucG5n\">\n\n<h2 id=\"transfer-api-flow\">Transfer API FLOW</h2>\n<img src=\"https://content.pstmn.io/1d840e55-a3b8-44ed-abb3-fe5efb955f55/aW1hZ2UucG5n\" width=\"1062\" height=\"1280\"></body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"owner":"16390052","collectionId":"9e5cf7f0-1688-4a66-8476-d9f132df8aa5","publishedId":"Tzedg4ca","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"3379ff"},"publishDate":"2021-06-25T08:37:09.000Z"},"item":[{"name":"Authentication","item":[{"name":"Access Token","id":"1919ba36-0313-404c-ba53-8f236ec15dfa","protocolProfileBehavior":{"disabledSystemHeaders":{"content-type":true},"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"api_key\":\"string\",\n    \"api_password\": \"string\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.sandbox.paymetrust.net/v1/oauth/login","urlObject":{"path":["v1","oauth","login"],"host":["https://api.sandbox.paymetrust.net"],"query":[],"variable":[]}},"response":[{"id":"a1aa1a68-6157-474c-af52-ae7962f42b04","name":"SUCCESS","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"api_key\":\"string\",\n    \"api_password\": \"string\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.sandbox.paymetrust.net/v1/oauth/login"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.19.2"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Vary","value":"Accept-Encoding"},{"key":"X-Xdebug-Profile-Filename","value":"/var/tmp/cachegrind.out.94765"},{"key":"Cache-Control","value":"no-cache, private"},{"key":"Date","value":"Thu, 17 Sep 2020 11:17:38 GMT"},{"key":"X-RateLimit-Limit","value":"60"},{"key":"X-RateLimit-Remaining","value":"59"},{"key":"phpdebugbar-id","value":"Xf698722f607280f7b4f3634db20d911d"},{"key":"Content-Encoding","value":"gzip"}],"cookie":[],"responseTime":null,"body":"{\n    \"code\": 200,\n    \"status\": \"OK\",\n    \"access_token\": \"eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczpcL1wvYXBpLnBheW1ldHJfgc3QudGVzdFwvdjFcL29hdXRoXC9sb2dpbiIsImlhdCI6MTYwMDM0MTQ1OCwiZXhwIjoxNjAwNDI3ODU4LCJuYmYiOjE2MDAzNDENTgsImp0aSI6nRYcjZ6NXRdDemcwWDVMeUYiLCJzdWIiOjIsInBydiI6Ijg3ZTBhZjFlZjlmZDE1ODEyZmRlYzk3MTUzYTE0ZTBiMDQ3NTQ2YWEiLCJ1c2VyX2lkIjoyfQ.oBCbNhmKIusxmtSuFR7_fOGElP0sMyjWBEAFx66AY4M\",\n    \"token_type\": \"bearer\",\n    \"expires_in\": 86400\n}"},{"id":"2fd1fd2f-9ee0-4f63-b8f2-0432b3221e4b","name":"ERROR","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"api_key\":\"string\",\n    \"api_password\": \"string\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.sandbox.paymetrust.net/v1/oauth/login"},"status":"Unprocessable Entity","code":422,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.19.2"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"X-Xdebug-Profile-Filename","value":"/var/tmp/cachegrind.out.94765"},{"key":"Cache-Control","value":"no-cache, private"},{"key":"Date","value":"Thu, 17 Sep 2020 11:18:25 GMT"},{"key":"X-RateLimit-Limit","value":"60"},{"key":"X-RateLimit-Remaining","value":"58"},{"key":"phpdebugbar-id","value":"X1ff350ad482980a85162611b5482db7c"}],"cookie":[],"responseTime":null,"body":"{\n    \"code\": 1005,\n    \"status\": \"INVALID_CREDENTIALS\",\n    \"description\": \"The requested service needs credentials, but the ones provided were invalid.\"\n}"}],"_postman_id":"1919ba36-0313-404c-ba53-8f236ec15dfa"}],"id":"a2cd7e11-e773-4d98-9160-bdf194031282","description":"<h2 id=\"introduction\">Introduction</h2>\n<p>The <strong>Paymetrust</strong> API uses token-based authentication. You must include a valid authentication token in each request.</p>\n<h2 id=\"environments\">Environments</h2>\n<p>Sandbox: <code>https://api.sandbox.paymetrust.net/v1/</code></p>\n<p>Production: <code>https://api.paymetrust.net/v1/</code></p>\n","_postman_id":"a2cd7e11-e773-4d98-9160-bdf194031282"},{"name":"Web Payment API","item":[{"name":"Web Payment transaction initialization","id":"89a43c20-ec90-4736-b967-9702dab04960","protocolProfileBehavior":{"disabledSystemHeaders":{"content-type":true},"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"YOUR-BEARER-AUTH"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"currency\": \"XOF\",\n    \"payment_method\": \"OM\",\n    \"merchant_transaction_id\": \"MY-ORDER-ID-124347776\",\n    \"otp_code\": 1234,\n    \"amount\": 100,\n    \"success_url\": \"https://mywebsite.com/success\",\n    \"failed_url\": \"https://mywebsite.com/failed\",\n    \"notify_url\": \"https://mywebsite.com/notification\",\n    \"lang\": \"fr\",\n    \"designation\": \"Payment PMT\",\n    \"client_first_name\": \"PayMe\",\n    \"client_last_name\": \"Trust\",\n    \"client_phone_number\": \"+2250707000000\",\n    \"client_email\": \"payme.trust@pmt.com\",\n    \"direct_pay\": false,\n    \"channel\": \"PUSH\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.sandbox.paymetrust.net/v1/payment","description":"<h3 id=\"request-parameters\">Request Parameters</h3>\n<p>The request body must be in JSON format and include the following properties:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Property</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>currency</code></td>\n<td>String</td>\n<td>Yes</td>\n<td>Payment currency. Possible values are: XOF, XAF, GNF, CDF.</td>\n</tr>\n<tr>\n<td><code>payment_method</code></td>\n<td>String</td>\n<td>No</td>\n<td>Payment method (see below and the payment and transfer code section for possible values). If a payment method is defined, it will be displayed at checkout, otherwise all methods for the country will be displayed.</td>\n</tr>\n<tr>\n<td><code>merchant_transaction_id</code></td>\n<td>String</td>\n<td>Yes</td>\n<td>Merchant transaction ID.</td>\n</tr>\n<tr>\n<td><code>amount</code></td>\n<td>Integer</td>\n<td>Yes</td>\n<td>Payment amount.</td>\n</tr>\n<tr>\n<td><code>lang</code></td>\n<td>String</td>\n<td>Yes</td>\n<td>Language. Possible values are \"fr\" and \"en\".</td>\n</tr>\n<tr>\n<td><code>designation</code></td>\n<td>String</td>\n<td>Yes</td>\n<td>Payment designation.</td>\n</tr>\n<tr>\n<td><code>client_email</code></td>\n<td>String</td>\n<td>Yes</td>\n<td>A valid client email address.</td>\n</tr>\n<tr>\n<td><code>client_phone_number</code></td>\n<td>String</td>\n<td>No</td>\n<td>Client phone number.</td>\n</tr>\n<tr>\n<td><code>client_first_name</code></td>\n<td>String</td>\n<td>Yes</td>\n<td>Client's first name. Minimum 2 characters, maximum 255 characters.</td>\n</tr>\n<tr>\n<td><code>client_last_name</code></td>\n<td>String</td>\n<td>Yes</td>\n<td>Client's last name. Minimum 2 characters, maximum 255 characters.</td>\n</tr>\n<tr>\n<td><code>direct_pay</code></td>\n<td>Boolean</td>\n<td>No</td>\n<td>If set, direct payment mode will be enabled. Possible values are true or false.</td>\n</tr>\n<tr>\n<td><code>otp_code</code></td>\n<td>String</td>\n<td>No</td>\n<td>OTP code for payment validation. Minimum 4 characters, maximum 6 characters (depending on the payment method used).</td>\n</tr>\n<tr>\n<td><code>success_url</code></td>\n<td>String</td>\n<td>Yes</td>\n<td>The URL of the website where the client will be redirected when the payment is successful and the client decides to return to your website.</td>\n</tr>\n<tr>\n<td><code>failed_url</code></td>\n<td>String</td>\n<td>Yes</td>\n<td>The URL of the website where the client will be redirected when the payment fails and the client decides to return to your website.</td>\n</tr>\n<tr>\n<td><code>notify_url</code></td>\n<td>String</td>\n<td>Yes</td>\n<td>The notification URL used by the web payment backend to notify the merchant backend of the payment transaction status (see more details at \"Transaction Notification\"). This notification is only sent when the payment process is confirmed and ends with a 'SUCCESS' or 'FAILED' status.</td>\n</tr>\n<tr>\n<td><code>channel</code></td>\n<td>String</td>\n<td>Yes</td>\n<td>Determines the channel that will be used to make the payment. Possible values are : PUSH, OTP &amp; QRCODE. Default value: PUSH</td>\n</tr>\n</tbody>\n</table>\n</div><blockquote>\n<p>Note </p>\n</blockquote>\n<ul>\n<li><p>Note that the field <strong><code>merchant_transaction_id</code></strong> must be unique for the system.</p>\n</li>\n<li><p>The fields <strong>merchant_transaction_id</strong> and reference are limited to 30 chars and success_url, <strong><code>failed_url</code></strong> and <strong><code>notify_url</code></strong> to 120 chars</p>\n</li>\n<li><p><strong><code>client_phone_number</code></strong> must be filled, if you don't want your customer to change his phone number when he confirms payment on payment gateway. Additionally, an option will be activating on your account to allow this.</p>\n</li>\n<li><p>You must redirect your customer to the <strong><code>payment_url</code></strong> in order to make payment</p>\n</li>\n<li><p>Your account is linked with only one currency, you must send the same currency as your account</p>\n</li>\n<li><p>After initiated the payment, you will obtain the <strong><code>payment_url</code></strong>. You must send your customer there so that they can pay</p>\n</li>\n<li><p>you have an account (<strong>account_key/account_password</strong>) in each country for which you want to process. We therefore use the token generated from your account_key to identify the country and then fix it on the checkout form.</p>\n</li>\n</ul>\n<h2 id=\"direct-payment-mode\">Direct Payment mode</h2>\n<p>it will allow you to proceed in the full payment process without redirecting users to our gateway page. For payment methods that support this type of process, users will stay in your application and finalize the whole process of payment (deposit) there.</p>\n<p>The following parameters need to be added in your payment initialization request for making a direct payment process :</p>\n<ul>\n<li><p><strong>direct_pay</strong> (boolean true/false): should be always set to true, for taking advantage of the direct payment feature (payment without walking through our gateway)</p>\n</li>\n<li><p><strong>otp_code</strong> (For Orange only): A 4 or 6-digit code (depending on our country) that should be provided by end user. You need to prepare a field to let user enter this OTP code in, and send it back in the request to our API.</p>\n</li>\n<li><p><strong>client_phone_number</strong> must also be filled when you use direct payment mode (e.g : +2250707000000)</p>\n</li>\n</ul>\n<p><strong>- NEW PARAMETERS THAT YOU RECEIVE IN THE RESPONSE</strong></p>\n<p>After sending the request with parameters specified above, you will receive a response from us containing the following:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"code\": 200,\n    \"status\": \"OK\",\n    \"payment_token\": \"1ee9f52a2704628c81590242d1c176b51240d7b5fd7e4bae9\",\n    \"notify_token\": \"0554967cbd9c439198827cb5dfd845f1\",\n    \"transaction_id\": \"4dc38466f77a4114a82bfc0d7a618213\",\n    \"merchant_transaction_id\": \"TEST_SN_PO0190\",\n    \"payment_url\":\n    \"https://secure.sandbox.paymetrust.net/payment/1ee9f52a2704628c81590242d1c176b51240\nd7b5fd7e4bae9\",\n     \"details\": {\n          \"code\": 2010,\n          \"status\": \"FAILED\",\n          \"message\": \"Paiement échoué\",\n          \"must_be_redirected\": false\n      }\n}\n\n</code></pre>\n<p>The only new parameter that has been added in this response is details. It is an object that holds all the information regarding your direct payment status. Inside it, you can find the following parameters:</p>\n<ul>\n<li><p>code: A numeric status code that specifies the status of the payment.</p>\n</li>\n<li><p>status: A string value that also specifies the status of the payment. You should rely on this status to process the payment in your side. Its values can be either:<br />  - <strong>SUCCESS</strong>: That means the user was successfully debited, and the payment was successful.<br />  - <strong>FAILED</strong>: That means the user did NOT complete the payment, or encountered error in operator’s level.<br />  - <strong>INITIATED</strong>: That means the payment is being processed by the user<br />  - <strong>PENDING</strong>: That means the payment is still being processed by the user</p>\n</li>\n<li><p>message: This text must be shown to the user</p>\n</li>\n</ul>\n<p>Once payment is successful initialized you must check value of field must_be_redirected in the response and then redirect user to payment_url if the value of field is set to true.</p>\n","urlObject":{"path":["v1","payment"],"host":["https://api.sandbox.paymetrust.net"],"query":[],"variable":[]}},"response":[{"id":"3aab6ff5-b6d4-4409-b6ec-acf4b057295d","name":"SUCCESS","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"currency\": \"XOF\",\n    \"payment_method\": \"OM\",\n    \"merchant_transaction_id\": \"MY-ORDER-ID-08082106\",\n    \"amount\": 100,\n    \"success_url\": \"https://8cbbcb8d08d6.ngrok.io\",\n    \"failed_url\": \"https://8cbbcb8d08d6.ngrok.io/cancel/\",\n    \"notify_url\": \"https://8cbbcb8d08d6.ngrok.io/notification\",\n    \"lang\": \"fr\",\n    \"designation\": \"Donation for REZ NGO\",\n    \"client_first_name\" : \"John\",\n    \"client_last_name\" : \"Doe\",\n    \"client_phone_number\" : \"+2250707000000\",\n    \"client_email\" : \"john.doe@gmail.com\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.sandbox.paymetrust.net/v1/payment"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Host","value":"127.0.0.1:8000"},{"key":"Date","value":"Wed, 16 Sep 2020 15:39:29 GMT"},{"key":"Date","value":"Wed, 16 Sep 2020 15:39:29 GMT"},{"key":"Connection","value":"close"},{"key":"X-Xdebug-Profile-Filename","value":"/var/tmp/cachegrind.out.61285"},{"key":"Cache-Control","value":"no-cache, private"},{"key":"Content-Type","value":"application/json"},{"key":"X-RateLimit-Limit","value":"60"},{"key":"X-RateLimit-Remaining","value":"59"},{"key":"phpdebugbar-id","value":"X77443d03e351405ec8fb6654f4e60dc0"},{"key":"Access-Control-Allow-Origin","value":"*"}],"cookie":[],"responseTime":null,"body":"\n{\n    \"code\": 200,\n    \"status\": \"OK\",\n    \"payment_token\": \"1ef969cf5da467dc98c70242f6c351d52eb3ff889b0f4f9e94078a1a0da6a2a3\",\n    \"notify_token\": \"382a2329ae0647f896fa70283fa087cc\",\n    \"transaction_id\": \"4c9a7225819943fe9f1eab6ef5b573a5\",\n    \"merchant_transaction_id\": \"k0oqli6ns26xyrf\",\n    \"payment_url\": \"BASEPAYURL/payment/1ef969cf5da467dc98c70242f6c351d52eb3ff889b0f4f9e94078a1a0da6a2a3\",\n    \"details\": {\n        \"code\": 2001,\n        \"status\": \"INITIATED\",\n        \"message\": \"Veuillez cliquer sur le lien pour continuer le paiement\",\n        \"must_be_redirected\": true\n    }\n}"},{"id":"c8fb222f-cee2-4100-b10d-5bfbd421f062","name":"ERROR","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"currency\": \"XOF\",\n    \"merchant_transaction_id\": \"MY-ORDER-ID-08082106\",\n    \"amount\": 1200,\n    \"success_url\": \"https://8cbbcb8d08d6.ngrok.io\",\n    \"failed_url\": \"https://8cbbcb8d08d6.ngrok.io/cancel/\",\n    \"notify_url\": \"https://8cbbcb8d08d6.ngrok.io/notification\",\n    \"lang\": \"fr\",\n    \"designation\": \"Donation for REZ NGO\",\n    \"client_first_name\" : \"John\",\n    \"client_last_name\" : \"Doe\",\n    \"client_phone_number\" : \"+2250707000000\",\n    \"client_email\" : \"john.doe@gmail.com\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.sandbox.paymetrust.net/v1/payment"},"status":"Unprocessable Entity","code":422,"_postman_previewlanguage":"json","header":[{"key":"Host","value":"127.0.0.1:8000"},{"key":"Date","value":"Wed, 16 Sep 2020 15:38:07 GMT"},{"key":"Date","value":"Wed, 16 Sep 2020 15:38:06 GMT"},{"key":"Connection","value":"close"},{"key":"X-Xdebug-Profile-Filename","value":"/var/tmp/cachegrind.out.61285"},{"key":"Cache-Control","value":"no-cache, private"},{"key":"Content-Type","value":"application/json"},{"key":"X-RateLimit-Limit","value":"60"},{"key":"X-RateLimit-Remaining","value":"59"},{"key":"phpdebugbar-id","value":"Xca434cdc0466e1ef51be8cf5a1f1a662"},{"key":"Access-Control-Allow-Origin","value":"*"}],"cookie":[],"responseTime":null,"body":"{\n    \"code\": 1200,\n    \"status\": \"TRANSACTION_EXIST\",\n    \"description\": \"La transaction existe déjà\"\n}"}],"_postman_id":"89a43c20-ec90-4736-b967-9702dab04960"},{"name":"Payment Status","id":"7fa2df84-1319-42cb-b42b-59d01380577a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"YOUR-BEARER-AUTH"}]},"isInherited":false},"method":"GET","header":[],"url":"https://api.sandbox.paymetrust.net/v1/payment/{payment_token}","description":"<p>In addition, of Transaction Notification, you can use the Transaction Status that allows you to consult in real time the current status of a payment. In practice, this can be useful for cases where notification are not sent (e.g. when users don’t validate their payments)</p>\n<ul>\n<li><p>You put the payment_token on the URL or the <strong><code>transaction_id</code></strong> returned after initialization.</p>\n</li>\n<li><p>You can also use <strong><code>merchant_transaction_id</code></strong> parameter, which is your transaction ID on your side.</p>\n</li>\n</ul>\n","urlObject":{"path":["v1","payment","{payment_token}"],"host":["https://api.sandbox.paymetrust.net"],"query":[],"variable":[]}},"response":[{"id":"960a8862-d4ae-4823-ac73-b9c4c4d88090","name":"SUCCESS","originalRequest":{"method":"GET","header":[],"url":"https://api.sandbox.paymetrust.net/v1/payment/1eafcb4c8bfa6aca9daf02a2badf5eeeeea1a0449d0541ba9cce950b02a754e3"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Tue, 22 Sep 2020 09:25:20 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"X-Powered-By","value":"PHP/7.4.10"},{"key":"X-Powered-By","value":"PleskLin"},{"key":"Cache-Control","value":"private, must-revalidate"},{"key":"pragma","value":"no-cache"},{"key":"expires","value":"-1"},{"key":"X-RateLimit-Limit","value":"60"},{"key":"X-RateLimit-Remaining","value":"59"},{"key":"phpdebugbar-id","value":"Xcfd0d231682d8eabeceb3ee5956d9c19"},{"key":"Vary","value":"Authorization"},{"key":"CF-Cache-Status","value":"DYNAMIC"},{"key":"cf-request-id","value":"0556bad3140000d8e124bb5200000001"},{"key":"Expect-CT","value":"max-age=604800, report-uri=\"https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct\""},{"key":"Server","value":"cloudflare"},{"key":"CF-RAY","value":"5d6afa64ee26d8e1-AMS"},{"key":"Content-Encoding","value":"br"}],"cookie":[],"responseTime":null,"body":"{\n    \"code\": 100,\n    \"status\": \"SUCCESS\",\n    \"merchant_transaction_id\": \"MY-ORDER-ID-08082116\",\n    \"transaction_id\": \"3de579e7ec43451a9463d45d21a4cf48\",\n    \"user\": {\n        \"name\": \"Doe John\",\n        \"email\": \"john.doe@gmail.com\",\n        \"phone_number\": \"+2250707000000\"\n    }\n}"},{"id":"eb4ac9ac-b12f-4eec-8730-bdbf3eb8a7fa","name":"ERROR","originalRequest":{"method":"GET","header":[],"url":"https://api.sandbox.paymetrust.net/v1/payment/1eafcaa6526f670ca67302a2badf5eeedfc52a97d03a4071823e69bd304885cd"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Tue, 22 Sep 2020 09:18:52 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"X-Powered-By","value":"PHP/7.4.10"},{"key":"X-Powered-By","value":"PleskLin"},{"key":"Cache-Control","value":"private, must-revalidate"},{"key":"pragma","value":"no-cache"},{"key":"expires","value":"-1"},{"key":"X-RateLimit-Limit","value":"60"},{"key":"X-RateLimit-Remaining","value":"59"},{"key":"phpdebugbar-id","value":"X7e02c050d573ebeb1fc395026558bfc0"},{"key":"Vary","value":"Authorization"},{"key":"CF-Cache-Status","value":"DYNAMIC"},{"key":"cf-request-id","value":"0556b4e5c60000d8e124984200000001"},{"key":"Expect-CT","value":"max-age=604800, report-uri=\"https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct\""},{"key":"Server","value":"cloudflare"},{"key":"CF-RAY","value":"5d6af0e93c3fd8e1-AMS"},{"key":"Content-Encoding","value":"br"}],"cookie":[],"responseTime":null,"body":"{\n    \"code\": 2005,\n    \"status\": \"INSUFFICIENT_BALANCE\",\n    \"merchant_transaction_id\": \"7879\",\n    \"transaction_id\": \"66f069cc27f34d5788a62dea0d3b8645\",\n    \"user\": {\n        \"name\": \"Doe John\",\n        \"email\": \"john.doe@gmail.com\",\n        \"phone_number\": \"+2250707000000\"\n    }\n}"}],"_postman_id":"7fa2df84-1319-42cb-b42b-59d01380577a"}],"id":"411ca3a7-c800-4c22-baa3-89cf830ad573","description":"<h2 id=\"introduction\">Introduction</h2>\n<p>The Web Payment API, also known as \"Payment\", allows the creation of payment sessions in the PaymeTrust system. Using this API, you can initiate a payment transaction by providing the necessary information in your request, and a payment token will be generated and returned in the API response.</p>\n<h3 id=\"endpoint\">Endpoint</h3>\n<p><code>POST</code>: <code>v1/payment</code></p>\n<h3 id=\"payment-limit\">Payment limit</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Type</th>\n<th>Amount</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Min</td>\n<td>100</td>\n</tr>\n<tr>\n<td>Max</td>\n<td>2 500 000</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"initializing-the-web-payment-transaction\">Initializing the Web Payment Transaction</h3>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"YOUR-BEARER-AUTH"}]},"isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","exec":[""],"id":"74c2b1bd-294a-413d-a596-e6ffeee358b9"}},{"listen":"test","script":{"type":"text/javascript","exec":[""],"id":"c23f71a4-dcc4-48e1-a61b-69bd3c9e9b83"}}],"_postman_id":"411ca3a7-c800-4c22-baa3-89cf830ad573"},{"name":"Transfer API","item":[{"name":"Transfer","id":"564ae987-056e-4f62-9e1c-27515ce081f8","protocolProfileBehavior":{"disabledSystemHeaders":{"content-type":true},"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"YOUR-BEARER-AUTH"}]},"isInherited":false},"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"currency\": \"XOF\",\n    \"merchant_transaction_id\": \"MY-ORDER-ID-08082115\",\n    \"phone_number\": \"+2250707000001\",\n    \"amount\": 100,\n    \"payment_method\": \"OM_CI\",\n    \"reason\": \"Rechargement de compte\",\n    \"notify_url\": \"https://mywebsite.com\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.sandbox.paymetrust.net/v1/transfer","description":"<h1 id=\"request-parameters\">Request Parameters</h1>\n<p>The request body must be in JSON format and include the following properties:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Required</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>currency</code></td>\n<td>String</td>\n<td>Yes</td>\n<td>Payment currency. Can be: XOF, XAF, GNF. You must send the same currency as your account.</td>\n</tr>\n<tr>\n<td><code>payment_method</code></td>\n<td>String</td>\n<td>Yes</td>\n<td>Payment method. See below and the payment and transfer code section for possible values.</td>\n</tr>\n<tr>\n<td><code>merchant_transaction_id</code></td>\n<td>String</td>\n<td>Yes</td>\n<td>Merchant transaction ID. Must be unique in the system.</td>\n</tr>\n<tr>\n<td><code>amount</code></td>\n<td>Integer</td>\n<td>Yes</td>\n<td>Payment amount.</td>\n</tr>\n<tr>\n<td><code>phone_number</code></td>\n<td>String</td>\n<td>Yes</td>\n<td>Phone number. Must be a valid phone number for the country.</td>\n</tr>\n<tr>\n<td><code>reason</code></td>\n<td>Integer</td>\n<td>Yes</td>\n<td>Reason for transfer.</td>\n</tr>\n<tr>\n<td><code>notify_url</code></td>\n<td>String</td>\n<td>Yes</td>\n<td>must be valid url. Notification url used for notification after transfer operation.</td>\n</tr>\n</tbody>\n</table>\n</div><ul>\n<li>Note : In Sandbox, please use this number for your transfers tests (+2250707000001)</li>\n</ul>\n","urlObject":{"path":["v1","transfer"],"host":["https://api.sandbox.paymetrust.net"],"query":[],"variable":[]}},"response":[{"id":"f06ceee5-c1aa-4a8a-8542-c58222d80555","name":"PENDING","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"currency\": \"XOF\",\n    \"merchant_transaction_id\": \"MY-ORDER-ID-08082115\",\n    \"phone_number\": \"+22501000001\",\n    \"amount\": 100,\n    \"payment_method\": \"OM_CI\",\n    \"reason\": \"Retait de compte\",\n    \"notify_url\": \"https://mywebsite.com/notification-transfer\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.sandbox.paymetrust.net/v1/transfer"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.19.2"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Vary","value":"Accept-Encoding"},{"key":"X-Xdebug-Profile-Filename","value":"/var/tmp/cachegrind.out.78196"},{"key":"Cache-Control","value":"no-cache, private"},{"key":"Date","value":"Tue, 22 Sep 2020 07:38:49 GMT"},{"key":"X-RateLimit-Limit","value":"60"},{"key":"X-RateLimit-Remaining","value":"59"},{"key":"phpdebugbar-id","value":"Xb6fd82e0fa60f0042b75594bd3e2a981"},{"key":"Content-Encoding","value":"gzip"}],"cookie":[],"responseTime":null,"body":"{\n    \"code\": 2002,\n    \"status\": \"PENDING\",\n    \"merchant_transaction_id\": \"0cac6b2e-1ba4-4924-8716-46784fc9589e\",\n    \"transaction_id\": \"dc1f6d3d-432f-4333-924e-714df5e53dfa\",\n    \"notify_token\": \"8fecf943b2484d50815b9980331dd53e\",\n    \"amount\": \"200\",\n    \"fee_amount\": \"0\",\n    \"phone_number\": \"+2250707200200\",\n    \"currency\": \"XOF\"\n}"},{"id":"0c361b8c-667d-4ce5-a8bb-3be6e6306d4a","name":"SUCCESS","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"currency\": \"XOF\",\n    \"merchant_transaction_id\": \"MY-ORDER-ID-08082115\",\n    \"phone_number\": \"+22501000001\",\n    \"amount\": 100,\n    \"reason\": \"Rechargement de compte\",\n    \"user_id\" : \"123\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.sandbox.paymetrust.net/v1/transfer"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.19.2"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Vary","value":"Accept-Encoding"},{"key":"X-Xdebug-Profile-Filename","value":"/var/tmp/cachegrind.out.78196"},{"key":"Cache-Control","value":"no-cache, private"},{"key":"Date","value":"Tue, 22 Sep 2020 07:38:49 GMT"},{"key":"X-RateLimit-Limit","value":"60"},{"key":"X-RateLimit-Remaining","value":"59"},{"key":"phpdebugbar-id","value":"Xb6fd82e0fa60f0042b75594bd3e2a981"},{"key":"Content-Encoding","value":"gzip"}],"cookie":[],"responseTime":null,"body":"{\n    \"code\": 100,\n    \"status\": \"SUCCESS\",\n    \"merchant_transaction_id\": \"MY-ORDER-ID-08082115\",\n    \"transaction_id\": \"69c9c46c18384f89852924ab88686058\",\n    \"amount\": 100,\n    \"fee_amount\": 2,\n    \"user\": {\n        \"name\": \"Doe John\",\n        \"email\": \"john.doe@gmail.com\",\n        \"phone_number\": \"+2250707000000\"\n    }\n}"},{"id":"a72aacc6-724a-4c7b-a321-df531492e33b","name":"FAILED","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"currency\": \"XOF\",\n    \"merchant_transaction_id\": \"MY-ORDER-ID-08082115\",\n    \"phone_number\": \"+22501000001\",\n    \"amount\": 100,\n    \"reason\": \"Rechargement de compte\",\n    \"user_id\" : \"123\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.sandbox.paymetrust.net/v1/transfer"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.19.2"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Vary","value":"Accept-Encoding"},{"key":"X-Xdebug-Profile-Filename","value":"/var/tmp/cachegrind.out.78196"},{"key":"Cache-Control","value":"no-cache, private"},{"key":"Date","value":"Tue, 22 Sep 2020 07:38:49 GMT"},{"key":"X-RateLimit-Limit","value":"60"},{"key":"X-RateLimit-Remaining","value":"59"},{"key":"phpdebugbar-id","value":"Xb6fd82e0fa60f0042b75594bd3e2a981"},{"key":"Content-Encoding","value":"gzip"}],"cookie":[],"responseTime":null,"body":"{\n    \"code\": 2010,\n    \"status\": \"FAILED\",\n    \"merchant_transaction_id\": \"MYR9JFERD997YD12992115\",\n    \"transaction_id\": \"4d897405-47f3-40fb-89ce-96ea305d36f0\",\n    \"amount\": \"300\",\n    \"fee_amount\": \"0\",\n    \"phone_number\": \"+2250767866856\",\n    \"currency\": \"XOF\",\n    \"user\": {\n        \"name\": \"Wadjo Mathias\",\n        \"email\": \"orvilleberanger@gmail.com\",\n        \"phone_number\": \"+2250767866856\"\n    }\n}"}],"_postman_id":"564ae987-056e-4f62-9e1c-27515ce081f8"},{"name":"Transfer status","id":"e5998cf8-501a-45c0-8fc9-0c230e51c84e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"YOUR-BEARER-AUTH"}]},"isInherited":false},"method":"GET","header":[],"url":"https://api.sandbox.paymetrust.net/v1/transfer/{transaction_id}","description":"<h3 id=\"instruction\">Instruction</h3>\n<p>In addition to transaction notification, you can use transaction status to check the current status of a payment in real-time. In practice, this can be useful in cases where notifications are not sent (e.g., when users do not validate their payments).</p>\n","urlObject":{"path":["v1","transfer","{transaction_id}"],"host":["https://api.sandbox.paymetrust.net"],"query":[],"variable":[]}},"response":[{"id":"e257fd95-aa44-4d81-af79-becfb070b901","name":"SUCCESS","originalRequest":{"method":"GET","header":[],"url":"https://api.sandbox.paymetrust.net/v1/transfer/69c9c46c18384f89852924ab88686058"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.19.2"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Vary","value":"Accept-Encoding"},{"key":"X-Xdebug-Profile-Filename","value":"/var/tmp/cachegrind.out.29389"},{"key":"Cache-Control","value":"no-cache, private"},{"key":"Date","value":"Tue, 22 Sep 2020 07:55:26 GMT"},{"key":"X-RateLimit-Limit","value":"60"},{"key":"X-RateLimit-Remaining","value":"59"},{"key":"phpdebugbar-id","value":"Xcf24c4b323510983d705e909f7d2b50d"},{"key":"Content-Encoding","value":"gzip"}],"cookie":[],"responseTime":null,"body":"{\n    \"code\": 100,\n    \"status\": \"SUCCESS\",\n    \"merchant_transaction_id\": \"MY-ORDER-ID-0808100\",\n    \"transaction_id\": \"3794955185b04d32956cfb65cd8b744f\",\n    \"amount\": \"100\",\n    \"fee_amount\": \"2\",\n    \"user\": {\n        \"name\": \"Account Test\",\n        \"email\": \"customer@pmt.com\",\n        \"phone_number\": \"+2250101002201\"\n    }\n}"},{"id":"0f81ed1a-1539-48be-becb-9595f86b9cd1","name":"ERROR","originalRequest":{"method":"GET","header":[],"url":"https://api.sandbox.paymetrust.net/v1/transfer/NOT_EXIST_TRANSACTION_ID"},"status":"Unprocessable Entity","code":422,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx/1.19.2"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"X-Xdebug-Profile-Filename","value":"/var/tmp/cachegrind.out.78196"},{"key":"Cache-Control","value":"no-cache, private"},{"key":"Date","value":"Tue, 22 Sep 2020 07:56:00 GMT"},{"key":"X-RateLimit-Limit","value":"60"},{"key":"X-RateLimit-Remaining","value":"58"},{"key":"phpdebugbar-id","value":"Xf49025f60563c2cb603c6436c569e8c3"}],"cookie":[],"responseTime":null,"body":"{\n    \"code\": 404,\n    \"status\": \"NOT_FOUND\",\n    \"description\": \"Not found\"\n}"}],"_postman_id":"e5998cf8-501a-45c0-8fc9-0c230e51c84e"}],"id":"34a77255-638d-4cc6-a94c-681e03eb1293","description":"<h2 id=\"introduction\">Introduction</h2>\n<p>The Transfer API, commonly referred to as \"Transfer\", is an essential component that enables secure and efficient data transmission between the <strong>Paymetrust</strong> system and various platforms. This API is designed to provide robust and flexible solutions for managing fast and secure money transfers.</p>\n","event":[{"listen":"prerequest","script":{"type":"text/javascript","exec":[""],"id":"d3e9f923-97f0-4416-93e4-9e2532e2ad13"}},{"listen":"test","script":{"type":"text/javascript","exec":[""],"id":"d555dc27-1d8b-418b-8beb-734a2dba03e0"}}],"_postman_id":"34a77255-638d-4cc6-a94c-681e03eb1293"},{"name":"Balance","item":[{"name":"Balance","id":"a9c25bb6-c0a1-4ac7-890a-cfc849539d05","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"GET","header":[],"url":"https://api.sandbox.paymetrust.net/v1/balances","urlObject":{"path":["v1","balances"],"host":["https://api.sandbox.paymetrust.net"],"query":[],"variable":[]}},"response":[{"id":"7fba0963-4531-4155-bfad-b9f8e429f84c","name":"Balance","originalRequest":{"method":"GET","header":[{"key":"Authorization","value":"Bearer {{YOUR_ACCESS_TOKEN}}","description":"token","type":"text"}],"url":"https://api.sandbox.paymetrust.net/v1/balances"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Server","value":"nginx"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"X-Powered-By","value":"PHP/8.0.29"},{"key":"X-Powered-By","value":"PleskLin"},{"key":"Cache-Control","value":"no-cache, private"},{"key":"Date","value":"Fri, 18 Aug 2023 18:36:00 GMT"},{"key":"X-RateLimit-Limit","value":"580"},{"key":"X-RateLimit-Remaining","value":"578"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"Content-Encoding","value":"br"}],"cookie":[],"responseTime":null,"body":"{\n    \"code\": 200,\n    \"status\": \"OK\",\n    \"available_balance\": \"249711.74\",\n    \"currency\": \"XOF\"\n}"}],"_postman_id":"a9c25bb6-c0a1-4ac7-890a-cfc849539d05"}],"id":"f84d0679-6091-4783-8d3f-d2df1baf74fb","description":"<p>This is the official documentation to handle the merchant account balance API.</p>\n<p>Usage: This API allows you to get the amount available on your merchant account on our side.</p>\n<p><strong><code>available_balance</code></strong> represents your account available balance in <strong>Paymetrust</strong> system. This balance is the one used for transfers operations.</p>\n<blockquote>\n<p>N.B: You need to be authenticated and send the valid access token received after logging in as a bearer token in the header of the request.</p>\n</blockquote>\n","_postman_id":"f84d0679-6091-4783-8d3f-d2df1baf74fb"},{"name":"Transaction Notification","item":[],"id":"4339d983-73f8-464b-8ded-73be23825d3d","description":"<h2 id=\"introduction\">Introduction</h2>\n<p>Notification is a mechanism to implement in order to automatically synchronize payments to your merchant site. <strong>Paymetrust</strong> will call this link after each update to notify you of status changes during a transaction. At the end of a payment, Paymetrust systematically calls the notification URL for the service concerned. The purpose of this call is to inform the merchant of the status of their transaction. The merchant can then validate their order if the payment is verified and accepted.</p>\n<h2 id=\"notification\">Notification</h2>\n<p>When the transaction (payment or transfer) has a final status (SUCCESS or FAILED)! <strong>Paymetrust</strong> will send a payment notification to you <code>notify_url</code> with the following parameters:</p>\n<ul>\n<li><p><code>notify_token</code>: this is the same as the one present in the web payment response, make sure this token matches the token sent in the POST notification. This way, you will validate the authenticity of the notification.</p>\n</li>\n<li><p><code>merchant_transaction_id</code>: represents the unique identifier of your order sent in the request</p>\n</li>\n<li><p><code>transaction_id</code>: represents the unique identifier of the order for this operation.</p>\n</li>\n<li><p>The request body is in JSON format as follows:</p>\n</li>\n</ul>\n<h2 id=\"notification-url\">Notification URL</h2>\n<p>When you make a payment request using the <strong>Paymetrust</strong> API, you must provide three important URLs for handling notifications and redirections after payment. Here is a detailed explanation of each URL:</p>\n<h3 id=\"1-success-url\">1. Success URL</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">\"success_url\" : \"https://8cbbcb8d08d6.ngrok.io\"\n\n</code></pre>\n<blockquote>\n<p>This URL is used to redirect the user after a successful payment. Once the payment is completed successfully, the user will be automatically redirected to this URL. Make sure this page provides visual confirmation and transaction details to the user. </p>\n</blockquote>\n<h3 id=\"2-failed-url\">2. Failed URL</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">\"failed_url\" : \"https://8cbbcb8d08d6.ngrok.io/cancel/\"\n\n</code></pre>\n<blockquote>\n<p>his URL is used to redirect the user in case of payment failure or cancellation by the user. If the payment cannot be completed for any reason, the user will be redirected to this URL. This page should inform the user of the transaction failure and provide options to retry the payment or contact support. </p>\n</blockquote>\n<h3 id=\"3-notify-url\">3. Notify URL</h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">\"notify_url\": \"https://8cbbcb8d08d6.ngrok.io/notification\"\n\n</code></pre>\n<blockquote>\n<p>This URL is used by the Paymetrust server to send notifications about the payment status. Once the payment is processed, Paymetrust will send a POST request to this URL containing the transaction details and its status. You must implement an endpoint at this URL to receive and process these notifications. Make sure your endpoint can handle requests securely and update the transaction status in your system. </p>\n</blockquote>\n<p>When the transaction (payment or withdrawal) has a final status (SUCCESS or FAILED) ! <strong>PaymeTrust</strong> will send the Payment Notification to your notify_url with following params :</p>\n<ul>\n<li><p>notify_token : this is the same present in the web payment response, Make sure this token matches the token sent in the notification POST. This way, you will validate the authenticity of the notification.</p>\n</li>\n<li><p>merchant_transaction_id : represents your unique order ID sent in request</p>\n</li>\n<li><p>transaction_id : represents our unique order ID for this operation.</p>\n</li>\n<li><p>It's a JSON post request</p>\n</li>\n<li><p>below the format</p>\n</li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"notify_token\": \"f92069a6b56c4bbd93ce1824ca005b8d\",\n  \"merchant_transaction_id\": \"63e0fe766f390\",\n  \"transaction_id\": \"50901a80c84b4edcb4f50ae864bfa7c5\",\n  \"user\": {\n    \"name\": \"Wadjo Mathias\",\n    \"email\": \"orvilleberanger@gmail.com\",\n    \"phone_number\": \"+2250767866856\"\n  }\n}\n\n</code></pre>\n<p>once you have received the notification, you will check our system for the final status of the transaction.</p>\n","_postman_id":"4339d983-73f8-464b-8ded-73be23825d3d"},{"name":"Status codes","item":[],"id":"e6a26736-a8ff-464c-8a05-5bce725eac2a","description":"<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>code</strong></th>\n<th><strong>status</strong></th>\n<th><strong>Message</strong></th>\n<th><strong>Final Status</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>200</td>\n<td>OK</td>\n<td>Successful operation</td>\n<td>No</td>\n</tr>\n<tr>\n<td>100</td>\n<td>SUCCESS</td>\n<td>transaction is successfully processed</td>\n<td>Yes</td>\n</tr>\n<tr>\n<td>-1</td>\n<td>OPERATION_ERROR</td>\n<td>An error has occurred</td>\n<td>No</td>\n</tr>\n<tr>\n<td>404</td>\n<td>NOT_FOUND</td>\n<td>Not found</td>\n<td>No</td>\n</tr>\n<tr>\n<td>1005</td>\n<td>INVALID_CREDENTIALS</td>\n<td>The requested service needs credentials, but the ones provided were invalid.</td>\n<td>No</td>\n</tr>\n<tr>\n<td>1004</td>\n<td>INVALID_PARAMS</td>\n<td>Params you provides for operation are invalid</td>\n<td>No</td>\n</tr>\n<tr>\n<td>1003</td>\n<td>EXPIRED_TOKEN</td>\n<td>Autentification Token has expired</td>\n<td>No</td>\n</tr>\n<tr>\n<td>1002</td>\n<td>INVALID_TOKEN</td>\n<td>Authentification Token is invalid</td>\n<td>No</td>\n</tr>\n<tr>\n<td>1200</td>\n<td>TRANSACTION_EXIST</td>\n<td>The transaction already exists</td>\n<td>Yes</td>\n</tr>\n<tr>\n<td>2001</td>\n<td>INITIATED</td>\n<td>Operation initiated waiting for user entry</td>\n<td>No</td>\n</tr>\n<tr>\n<td>2002</td>\n<td>PENDING</td>\n<td>User have started payment</td>\n<td>No</td>\n</tr>\n<tr>\n<td>2003</td>\n<td>EXPIRED</td>\n<td>Operation has expired, User has not confirmed the payment.</td>\n<td>No</td>\n</tr>\n<tr>\n<td>2004</td>\n<td>OTP_ERROR</td>\n<td>otp user provided is incorrect</td>\n<td>No</td>\n</tr>\n<tr>\n<td>2008</td>\n<td>OTP_EXPIRED</td>\n<td>otp user provided has expired</td>\n<td>No</td>\n</tr>\n<tr>\n<td>2005</td>\n<td>INSUFFICIENT_BALANCE</td>\n<td>Merchant has not enough balance to validate operation</td>\n<td>Yes</td>\n</tr>\n<tr>\n<td>2006</td>\n<td>USER_NOT_FOUND</td>\n<td>User does not exist</td>\n<td>No</td>\n</tr>\n<tr>\n<td>2007</td>\n<td>USER_IS_BLOCKED</td>\n<td>User has been blocked</td>\n<td>No</td>\n</tr>\n<tr>\n<td>2010</td>\n<td>FAILED</td>\n<td>payment has failed</td>\n<td>Yes</td>\n</tr>\n<tr>\n<td>2011</td>\n<td>NOT_ALLOWED</td>\n<td>This Ip is not withlisted</td>\n<td>No</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","exec":[""],"id":"5be6c483-a5d0-46c5-ac38-af1b6711be45"}},{"listen":"test","script":{"type":"text/javascript","exec":[""],"id":"dbc10588-549a-4c23-bdf5-c5b367886701"}}],"_postman_id":"e6a26736-a8ff-464c-8a05-5bce725eac2a"},{"name":"Payment methods","item":[],"id":"b58ff6ec-fdee-4764-881b-efdb2b90a3b4","description":"<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Country</th>\n<th>Country Code</th>\n<th>Operator</th>\n<th>Phone Code</th>\n<th>Number of Digits</th>\n<th>Operator Prefix</th>\n<th>Payment Method</th>\n<th>Payin</th>\n<th>Payout</th>\n<th>Available</th>\n<th>Currency</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Côte d'Ivoire</td>\n<td>CI</td>\n<td>Orange</td>\n<td>+225</td>\n<td>10</td>\n<td>07</td>\n<td>OM_CI</td>\n<td>Yes</td>\n<td>Yes</td>\n<td>Yes</td>\n<td>XOF</td>\n</tr>\n<tr>\n<td>Côte d'Ivoire</td>\n<td>CI</td>\n<td>Moov</td>\n<td>+225</td>\n<td>10</td>\n<td>01</td>\n<td>MOOV_CI</td>\n<td>Yes</td>\n<td>Yes</td>\n<td>Yes</td>\n<td>XOF</td>\n</tr>\n<tr>\n<td>Côte d'Ivoire</td>\n<td>CI</td>\n<td>MTN</td>\n<td>+225</td>\n<td>10</td>\n<td>05</td>\n<td>MTN_CI</td>\n<td>Yes</td>\n<td>Yes</td>\n<td>Yes</td>\n<td>XOF</td>\n</tr>\n<tr>\n<td>Côte d'Ivoire</td>\n<td>CI</td>\n<td>Wave</td>\n<td>+225</td>\n<td>10</td>\n<td>01, 05, 07</td>\n<td>WAVE_CI</td>\n<td>Yes</td>\n<td>Yes</td>\n<td>Yes</td>\n<td>XOF</td>\n</tr>\n<tr>\n<td>Burkina Faso</td>\n<td>BF</td>\n<td>Orange</td>\n<td>+226</td>\n<td>8</td>\n<td>05, 76, 75, 55, 07, 06, 54, 57</td>\n<td>OM_BF</td>\n<td>Yes</td>\n<td>Yes</td>\n<td>Yes</td>\n<td>XOF</td>\n</tr>\n<tr>\n<td>Burkina Faso</td>\n<td>BF</td>\n<td>Moov</td>\n<td>+226</td>\n<td>8</td>\n<td>50</td>\n<td>MOOV_BF</td>\n<td>Yes</td>\n<td>Yes</td>\n<td>Yes</td>\n<td>XOF</td>\n</tr>\n<tr>\n<td>Burkina Faso</td>\n<td>BF</td>\n<td>Wave</td>\n<td>+226</td>\n<td>8</td>\n<td>70, 71</td>\n<td>WAVE_BF</td>\n<td>Yes</td>\n<td>Yes</td>\n<td>Yes</td>\n<td>XOF</td>\n</tr>\n<tr>\n<td>Mali</td>\n<td>ML</td>\n<td>Orange</td>\n<td>+223</td>\n<td>8</td>\n<td>66</td>\n<td>OM_ML</td>\n<td>Yes</td>\n<td>Yes</td>\n<td>Yes</td>\n<td>XOF</td>\n</tr>\n<tr>\n<td>Mali</td>\n<td>ML</td>\n<td>Moov</td>\n<td>+223</td>\n<td>8</td>\n<td>80</td>\n<td>MOOV_ML</td>\n<td>Yes</td>\n<td>Yes</td>\n<td>Yes</td>\n<td>XOF</td>\n</tr>\n<tr>\n<td>Senegal</td>\n<td>SN</td>\n<td>Orange</td>\n<td>+221</td>\n<td>9</td>\n<td>77</td>\n<td>OM_SN</td>\n<td>Yes</td>\n<td>Yes</td>\n<td>Yes</td>\n<td>XOF</td>\n</tr>\n<tr>\n<td>Senegal</td>\n<td>SN</td>\n<td>Free</td>\n<td>+221</td>\n<td>9</td>\n<td>78</td>\n<td>FREE_SN</td>\n<td>Yes</td>\n<td>No</td>\n<td>Yes</td>\n<td>XOF</td>\n</tr>\n<tr>\n<td>Senegal</td>\n<td>SN</td>\n<td>Expresso</td>\n<td>+221</td>\n<td>9</td>\n<td>70</td>\n<td>EXPRESSO_SN</td>\n<td>No</td>\n<td>No</td>\n<td>No</td>\n<td>XOF</td>\n</tr>\n<tr>\n<td>Senegal</td>\n<td>SN</td>\n<td>Wave</td>\n<td>+221</td>\n<td>9</td>\n<td>76</td>\n<td>WAVE_SN</td>\n<td>Yes</td>\n<td>Yes</td>\n<td>Yes</td>\n<td>XOF</td>\n</tr>\n<tr>\n<td>Togo</td>\n<td>TG</td>\n<td>Moov</td>\n<td>+228</td>\n<td>8</td>\n<td>90</td>\n<td>MOOV_TG</td>\n<td>Yes</td>\n<td>Yes</td>\n<td>Yes</td>\n<td>XOF</td>\n</tr>\n<tr>\n<td>Togo</td>\n<td>TG</td>\n<td>Togocell</td>\n<td>+228</td>\n<td>8</td>\n<td>92</td>\n<td>TMONEY_TG</td>\n<td>Yes</td>\n<td>Yes</td>\n<td>Yes</td>\n<td>XOF</td>\n</tr>\n<tr>\n<td>Guinea</td>\n<td>GN</td>\n<td>Orange</td>\n<td>+224</td>\n<td>9</td>\n<td>62</td>\n<td>OM_GN</td>\n<td>Yes</td>\n<td>Yes</td>\n<td>Yes</td>\n<td>GNF</td>\n</tr>\n<tr>\n<td>Guinea</td>\n<td>GN</td>\n<td>MTN</td>\n<td>+224</td>\n<td>9</td>\n<td>65</td>\n<td>MTN_GN</td>\n<td>Yes</td>\n<td>Yes</td>\n<td>Yes</td>\n<td>GNF</td>\n</tr>\n<tr>\n<td>Cameroon</td>\n<td>CM</td>\n<td>Orange</td>\n<td>+237</td>\n<td>9</td>\n<td>69</td>\n<td>OM_CM</td>\n<td>Yes</td>\n<td>Yes</td>\n<td>Yes</td>\n<td>XAF</td>\n</tr>\n<tr>\n<td>Cameroon</td>\n<td>CM</td>\n<td>MTN</td>\n<td>+237</td>\n<td>9</td>\n<td>65</td>\n<td>MTN_CM</td>\n<td>Yes</td>\n<td>Yes</td>\n<td>Yes</td>\n<td>XAF</td>\n</tr>\n<tr>\n<td>Benin</td>\n<td>BJ</td>\n<td>Moov</td>\n<td>+229</td>\n<td>8</td>\n<td>60</td>\n<td>MOOV_BJ</td>\n<td>Yes</td>\n<td>Yes</td>\n<td>Yes</td>\n<td>XOF</td>\n</tr>\n<tr>\n<td>Benin</td>\n<td>BJ</td>\n<td>MTN</td>\n<td>+229</td>\n<td>8</td>\n<td>61</td>\n<td>MTN_BJ</td>\n<td>Yes</td>\n<td>Yes</td>\n<td>Yes</td>\n<td>XOF</td>\n</tr>\n<tr>\n<td>DR Congo</td>\n<td>CD</td>\n<td>Orange</td>\n<td>+243</td>\n<td>9</td>\n<td>80, 84, 85, 89</td>\n<td>OM_CD</td>\n<td>Yes</td>\n<td>Yes</td>\n<td>Yes</td>\n<td>CDF</td>\n</tr>\n<tr>\n<td>DR Congo</td>\n<td>CD</td>\n<td>Airtel</td>\n<td>+243</td>\n<td>9</td>\n<td>97, 99</td>\n<td>AIRTEL_CD</td>\n<td>Yes</td>\n<td>Yes</td>\n<td>Yes</td>\n<td>CDF</td>\n</tr>\n<tr>\n<td>DR Congo</td>\n<td>CD</td>\n<td>Mpesa</td>\n<td>+243</td>\n<td>9</td>\n<td>81, 82</td>\n<td>MPESA_CD</td>\n<td>Yes</td>\n<td>Yes</td>\n<td>Yes</td>\n<td>CDF</td>\n</tr>\n<tr>\n<td>DR Congo</td>\n<td>CD</td>\n<td>Africel</td>\n<td>+243</td>\n<td>9</td>\n<td>90</td>\n<td>AFRICELL_CD</td>\n<td>No</td>\n<td>No</td>\n<td>No</td>\n<td>CDF</td>\n</tr>\n<tr>\n<td>Niger</td>\n<td>NE</td>\n<td>Airtel</td>\n<td>+227</td>\n<td>8</td>\n<td>98</td>\n<td>AIRTEL_NE</td>\n<td>Yes</td>\n<td>Yes</td>\n<td>Yes</td>\n<td>XOF</td>\n</tr>\n<tr>\n<td>Niger</td>\n<td>NE</td>\n<td>Moov</td>\n<td>+227</td>\n<td>8</td>\n<td>94</td>\n<td>MOOV_NE</td>\n<td>Yes</td>\n<td>Yes</td>\n<td>Yes</td>\n<td>XOF</td>\n</tr>\n<tr>\n<td>Niger</td>\n<td>NE</td>\n<td>Zamani</td>\n<td>+227</td>\n<td>8</td>\n<td>91</td>\n<td>ZAMANI_NE</td>\n<td>Yes</td>\n<td>Yes</td>\n<td>Yes</td>\n<td></td>\n</tr>\n<tr>\n<td>Chad</td>\n<td>TD</td>\n<td>Airtel</td>\n<td>+235</td>\n<td>8</td>\n<td>66</td>\n<td>AIRTEL_TD</td>\n<td>Soon</td>\n<td>Soon</td>\n<td>Soon</td>\n<td>XAF</td>\n</tr>\n<tr>\n<td>Chad</td>\n<td>TD</td>\n<td>Moov</td>\n<td>+235</td>\n<td>8</td>\n<td>63</td>\n<td>MOOV_TD</td>\n<td>Soon</td>\n<td>Soon</td>\n<td>Soon</td>\n<td>XAF</td>\n</tr>\n<tr>\n<td>Congo</td>\n<td>CG</td>\n<td>Airtel</td>\n<td>+242</td>\n<td>9</td>\n<td>06</td>\n<td>AIRTEL_CG</td>\n<td>Soon</td>\n<td>Soon</td>\n<td>Soon</td>\n<td>XAF</td>\n</tr>\n<tr>\n<td>Congo</td>\n<td>CG</td>\n<td>MTN</td>\n<td>+242</td>\n<td>9</td>\n<td>05</td>\n<td>MTN_CG</td>\n<td>Soon</td>\n<td>Soon</td>\n<td>Soon</td>\n<td>XAF</td>\n</tr>\n<tr>\n<td>Central African Republic</td>\n<td>CF</td>\n<td>Orange</td>\n<td>+236</td>\n<td>8</td>\n<td>75</td>\n<td>OM_CF</td>\n<td>Soon</td>\n<td>Soon</td>\n<td>Soon</td>\n<td>XAF</td>\n</tr>\n<tr>\n<td>Central African Republic</td>\n<td>CF</td>\n<td>Telecel</td>\n<td>+236</td>\n<td>8</td>\n<td>77</td>\n<td>TELECEL_CF</td>\n<td>Soon</td>\n<td>Soon</td>\n<td>Soon</td>\n<td>XAF</td>\n</tr>\n<tr>\n<td>Gabon</td>\n<td>GA</td>\n<td>Airtel</td>\n<td>+241</td>\n<td>8</td>\n<td>07</td>\n<td>AIRTEL_GA</td>\n<td>Soon</td>\n<td>Soon</td>\n<td>Soon</td>\n<td>XAF</td>\n</tr>\n<tr>\n<td>Gabon</td>\n<td>GA</td>\n<td>Moov</td>\n<td>+241</td>\n<td>8</td>\n<td>06</td>\n<td>MOOV_GA</td>\n<td>Soon</td>\n<td>Soon</td>\n<td>Soon</td>\n<td>XAF</td>\n</tr>\n<tr>\n<td>Equatorial Guinea</td>\n<td>GQ</td>\n<td>Muni</td>\n<td>+240</td>\n<td>9</td>\n<td></td>\n<td>MUNI_GQ</td>\n<td>Soon</td>\n<td>Soon</td>\n<td>Soon</td>\n<td>XAF</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","exec":[""],"id":"5be6c483-a5d0-46c5-ac38-af1b6711be45"}},{"listen":"test","script":{"type":"text/javascript","exec":[""],"id":"dbc10588-549a-4c23-bdf5-c5b367886701"}}],"_postman_id":"b58ff6ec-fdee-4764-881b-efdb2b90a3b4"},{"name":"Operation Limits","item":[],"id":"4711fcbe-4bdc-4179-81c3-945ff4f436c0","description":"<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>countries</th>\n<th>country_code</th>\n<th>operator</th>\n<th>deposits limits</th>\n<th>transfer limits</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Côte d'Ivoire</td>\n<td>CI</td>\n<td>Orange</td>\n<td>min : 300  <br />max: 2 000 000</td>\n<td>min : 500  <br />max: 1 500 000</td>\n</tr>\n<tr>\n<td>Côte d'Ivoire</td>\n<td>CI</td>\n<td>Moov</td>\n<td>min : 300  <br />max: 2 000 000</td>\n<td>min : 500  <br />max: 1 500 000</td>\n</tr>\n<tr>\n<td>Côte d'Ivoire</td>\n<td>CI</td>\n<td>MTN</td>\n<td>min : 300  <br />max: 2 000 000</td>\n<td>min : 500  <br />max: 1 500 000</td>\n</tr>\n<tr>\n<td>Côte d'Ivoire</td>\n<td>CI</td>\n<td>Wave</td>\n<td>min : 300  <br />max: 2 000 000</td>\n<td>min : 500  <br />max: 1 500 000</td>\n</tr>\n<tr>\n<td>Burkina Faso</td>\n<td>BF</td>\n<td>Orange</td>\n<td>min : 300  <br />max: 2 000 000</td>\n<td>min : 500  <br />max: 1 500 000</td>\n</tr>\n<tr>\n<td>Burkina Faso</td>\n<td>BF</td>\n<td>Moov</td>\n<td>min : 300  <br />max: 2 000 000</td>\n<td>min : 500  <br />max: 1 500 000</td>\n</tr>\n<tr>\n<td>Burkina Faso</td>\n<td>BF</td>\n<td>Wave</td>\n<td>min : 300  <br />max: 2 000 000</td>\n<td>min : 500  <br />max: 1 500 000</td>\n</tr>\n<tr>\n<td>Mali</td>\n<td>ML</td>\n<td>Orange</td>\n<td>min : 300  <br />max: 2 000 000</td>\n<td>min : 500  <br />max: 1 500 000</td>\n</tr>\n<tr>\n<td>Mali</td>\n<td>ML</td>\n<td>Moov</td>\n<td>min : 300  <br />max: 2 000 000</td>\n<td>min : 500  <br />max: 1 500 000</td>\n</tr>\n<tr>\n<td>Senegal</td>\n<td>SN</td>\n<td>Orange</td>\n<td>min : 300  <br />max: 2 000 000</td>\n<td>min : 500  <br />max: 1 500 000</td>\n</tr>\n<tr>\n<td>Senegal</td>\n<td>SN</td>\n<td>Free</td>\n<td>min : 300  <br />max: 2 000 000</td>\n<td>min : 500  <br />max: 1 500 000</td>\n</tr>\n<tr>\n<td>Senegal</td>\n<td>SN</td>\n<td>Expresso</td>\n<td>min : 300  <br />max: 2 000 000</td>\n<td>min : 500  <br />max: 1 500 000</td>\n</tr>\n<tr>\n<td>Senegal</td>\n<td>SN</td>\n<td>Wave</td>\n<td>min : 300  <br />max: 2 000 000</td>\n<td>min : 500  <br />max: 1 500 000</td>\n</tr>\n<tr>\n<td>Togo</td>\n<td>TG</td>\n<td>Moov</td>\n<td>min : 300  <br />max: 2 000 000</td>\n<td>min : 500  <br />max: 1 500 000</td>\n</tr>\n<tr>\n<td>Togo</td>\n<td>TG</td>\n<td>Togocell</td>\n<td>min : 300  <br />max: 2 000 000</td>\n<td>min : 500  <br />max: 1 500 000</td>\n</tr>\n<tr>\n<td>Guinea</td>\n<td>GN</td>\n<td>Orange</td>\n<td>min : 300  <br />max: 2 000 000</td>\n<td>min : 500  <br />max: 1 500 000</td>\n</tr>\n<tr>\n<td>Guinea</td>\n<td>GN</td>\n<td>MTN</td>\n<td>min : 300  <br />max: 2 000 000</td>\n<td>min : 500  <br />max: 1 500 000</td>\n</tr>\n<tr>\n<td>Cameroun</td>\n<td>CM</td>\n<td>Orange</td>\n<td>min : 300  <br />max: 2 000 000</td>\n<td>min : 500  <br />max: 1 500 000</td>\n</tr>\n<tr>\n<td>Cameroun</td>\n<td>CM</td>\n<td>MTN</td>\n<td>min : 300  <br />max: 2 000 000</td>\n<td>min : 500  <br />max: 1 500 000</td>\n</tr>\n<tr>\n<td>Bénin</td>\n<td>BJ</td>\n<td>Moov</td>\n<td>min : 300  <br />max: 2 000 000</td>\n<td>min : 500  <br />max: 1 500 000</td>\n</tr>\n<tr>\n<td>Bénin</td>\n<td>BJ</td>\n<td>MTN</td>\n<td>min : 300  <br />max: 2 000 000</td>\n<td>min : 500  <br />max: 1 500 000</td>\n</tr>\n<tr>\n<td>RD Congo</td>\n<td>CD</td>\n<td>Orange</td>\n<td>min : 300  <br />max: 2 000 000</td>\n<td>min : 500  <br />max: 1 500 000</td>\n</tr>\n<tr>\n<td>RD Congo</td>\n<td>CD</td>\n<td>Airtel</td>\n<td>min : 300  <br />max: 2 000 000</td>\n<td>min : 500  <br />max: 1 500 000</td>\n</tr>\n<tr>\n<td>RD Congo</td>\n<td>CD</td>\n<td>Mpesa</td>\n<td>min : 300  <br />max: 2 000 000</td>\n<td>min : 500  <br />max: 1 500 000</td>\n</tr>\n<tr>\n<td>RD Congo</td>\n<td>CD</td>\n<td>Africell</td>\n<td>min : 300  <br />max: 2 000 000</td>\n<td>min : 500  <br />max: 1 500 000</td>\n</tr>\n<tr>\n<td>Niger</td>\n<td>NE</td>\n<td>Airtel</td>\n<td>min : 300  <br />max: 2 000 000</td>\n<td>min : 500  <br />max: 1 500 000</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","exec":[""],"id":"5be6c483-a5d0-46c5-ac38-af1b6711be45"}},{"listen":"test","script":{"type":"text/javascript","exec":[""],"id":"dbc10588-549a-4c23-bdf5-c5b367886701"}}],"_postman_id":"4711fcbe-4bdc-4179-81c3-945ff4f436c0"},{"name":"Best Practices","item":[],"id":"f131ca6a-48bf-4856-97a1-4d6c8d0ea9f9","description":"<h3 id=\"best-practices-for-integrating-with-paymetrust-api\">Best Practices for Integrating with PayMeTrust API</h3>\n<ol>\n<li><p><strong>Authentication</strong></p>\n<ul>\n<li><p>Use environment variables to store your API keys securely.</p>\n</li>\n<li><p>Implement OAuth 2.0 for user authentication.</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Handling Errors</strong></p>\n<ul>\n<li><p>Use try-catch blocks to handle exceptions.</p>\n</li>\n<li><p>Log errors and monitor them for quick resolution.</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Security</strong></p>\n<ul>\n<li><p>Use HTTPS for all API requests.</p>\n</li>\n<li><p>Regularly review and update your API keys and tokens.</p>\n</li>\n</ul>\n</li>\n</ol>\n<p>For more details, refer to the <a href=\"https://documenter.getpostman.com/view/16390052/Tzedg4ca\">PayMeTrust API Documentation</a>.</p>\n","_postman_id":"f131ca6a-48bf-4856-97a1-4d6c8d0ea9f9"}],"event":[{"listen":"prerequest","script":{"id":"fac5acfa-6818-47dc-94ab-50f11e1a31da","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"90d750e1-1c35-4de5-9dd7-726aee452215","type":"text/javascript","exec":[""]}}],"variable":[{"key":"baseUrl","value":"https://api.sandbox.paymetrust.net"},{"key":"bearerToken","value":"YOUR-BEARER-AUTH"},{"key":"merchantUrl","value":"https://mywebsite.com"},{"key":"account_key","value":"string"},{"key":"account_password","value":"string"}]}