{"info":{"_postman_id":"50add0a3-8086-42d8-a25d-b33216a8aac0","name":"QUIKK API","description":"<html><head></head><body><h1 id=\"handaki\">Handaki</h1>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code> 1.0 \n\n</code></pre><pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>OAS3\n\n</code></pre><p>Handaki is a <a href=\"https://zegetech.com/blog/2019/08/22/json-api-format.html\">JSONAPI specs</a> formatted MPESA REST API. An enterprise grade alternative to MPESA Daraja. It aims to give developers a smooth experience while integrating to MPESA by offering</p>\n<ol>\n<li>Simple Architecture for easy developer design</li>\n<li>Standardization. A slick, <code>BEAUTIFUL</code> API that is clear, concise and simple.</li>\n<li>2-way bank-grade security for both MPESA and Developer app that's not overbearing</li>\n<li>Better Workflow, providing clear documentation, stable and reliable mocking and testing.</li>\n</ol>\n<p>For those interested, here is the <a href=\"https://zegetech.com/blog/2019/09/03/unveiling-mpesa-daraja-2.html\">match up</a> that led to Handaki. Why the name Handaki™? Well.. because tunnels are way cooler than bridges!!!</p>\n<p><a href=\"https://bit.ly/handaki_dev_ppt\">Here</a> is a presentation with more of the features that make handaki a great alternative for developers.</p>\n<h1 id=\"postmans\"><strong>Postmans</strong></h1>\n<p>Postman is a favorite for many developers. We have put together two collections to help you integrate easily to Handaki.</p>\n<h1 id=\"authentication\"><strong>Authentication</strong></h1>\n<p>Handaki Uses token authentication with HMAC signing, a secure asymmetric encryption algorithm that does not compromise simplicity for security. Refer <a href=\"https://www.pimbrouwers.com/2018/09/11/hmac-authentication-better-protection-for-your-api.html\">here</a> for a quick introduction to the security scheme. The developer will be assigned both a <code>key</code> and a <code>secret</code> which will be used to build the HMAC headers. Here are scripts for generating HMAC headers required for authentication:</p>\n<ul>\n<li><a href=\"https://repl.it/@NgariNdungu/HMAC-signature\"><strong>ruby script</strong></a></li>\n<li><a href=\"https://app.swaggerhub.com/apis/zegetech/Handaki/1.0\"><strong>python script</strong></a></li>\n</ul>\n<p>Here is an example of HMAC authorization headers:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>Date: Fri, 22 Nov 2019 08:47:01 GMT\nX-Custom: custom\nAuthorization: keyId=\"0f14b9acfedf4993ba73921e32de169b\",algorithm=\"hmac-sha256\",headers=\"date x-custom\",signature=\"FhJ/H0sMU3gcOAE/cUBjFaTYeUw3WQj9d8x2xGFVrNE=\"\n\n</code></pre><p>Note that the Date header should be expressed in GMT and NOT local time.</p>\n<p><code>HMAC Clock Skew</code>, an added feature of HMAC prevents replay attacks by checking that the timestamp lies within a few milliseconds of the request time. Clock skew ensures that, if <code>key</code> gets in the wrong hands through MITM interception or otherwise, it cannot be used.</p>\n<p>Note about HMAC on Handaki: Authentication failure will result into status code <code>400</code> as opposed to <code>401</code></p>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[{"content":"Handaki","slug":"handaki"},{"content":"Postmans","slug":"postmans"},{"content":"Authentication","slug":"authentication"}],"owner":"27572440","collectionId":"50add0a3-8086-42d8-a25d-b33216a8aac0","publishedId":"2s93sf3Wjh","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"FF6C37"},"publishDate":"2023-06-14T08:26:15.000Z"},"item":[{"name":"MPESA REQUESTS","item":[{"name":"Transfer","event":[{"listen":"prerequest","script":{"id":"d344606b-ad18-4e70-8f24-29d7baf033d0","exec":[""],"type":"text/javascript"}}],"id":"97e9e0f9-2120-4429-ba11-d5e262e955d4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/vnd.api+json"},{"key":"Accept","type":"text","value":"application/vnd.api+json"},{"key":"Date","type":"text","value":"{{date}}"},{"key":"Authorization","type":"text","value":"keyId=\"{{keyId}}\",algorithm=\"hmac-sha1\",signature=\"{{signatureString}}\""}],"body":{"mode":"raw","raw":"{\n    \"data\": {\n        \"type\": \"transfer\",\n        \"id\": \"037f0f2d-2e12-4d6a-9acf-fe7f023831b0\",\n        \"attributes\": {\n            \"short_code\": \"11122\",\n            \"recipient_no\": \"601000\",\n            \"recipient_type\": \"short_code\",\n            \"recipient_category\": \"paybill\",\n            \"amount\": 1000,\n            \"posted_at\": \"{{posted_at}}\",\n            \"reference\": \"7000\"\n        }\n    }\n}"},"url":"https://tryapi.quikk.dev/v1/mpesa/transfers","description":"<p>This resource describes a transfer transaction request that originates from the developer to MPESA system for processing and eventual crediting of the organization's account upon successful processing. Commonly referred to as a B2B transaction. Simply put, it is the process of sending money from a shortcode to another shortcode.</p>\n<p><code>id</code> represents a <strong>unique</strong> string generated on the developers system for universally unique identification purpose.</p>\n<p><code>category</code> represents the type of the business transaction. Defaults to <code>BusinessPayBill</code>. Possible values are;</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>      - `BusinessPayBill`.\n      - `BusinessBuyGoods`.  \n      - `AgencyFloatAdvance` \n      - `MerchantToMerchantTransfer`.\n      - `DisburseFundsToBusiness`.\n\n</code></pre><p><code>amount</code> represents the amount of money to be credited to the end user's MPESA wallet.</p>\n<p><code>recipient_type</code> represents the type of account to be credited. The value should be <strong>short_code</strong>.</p>\n<p><code>recipient_no</code> represents the short_code of the organization receiving the transaction.</p>\n<p><code>posted_at</code> represents time in UTC standard format at which the transaction was initiated.</p>\n<p><code>reference</code> represents the <code>account number</code> for transfers to a paybill</p>\n","urlObject":{"path":["v1","mpesa","transfers"],"host":["https://tryapi.quikk.dev"],"query":[],"variable":[]}},"response":[{"id":"3b38bbca-dcae-41b9-b548-0a03aadc479c","name":"Business Transfer To Paybill","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/vnd.api+json","type":"text"},{"key":"Accept","type":"text","value":"application/vnd.api+json"},{"key":"Date","type":"text","value":"{{date}}"},{"key":"Authorization","type":"text","value":"keyId=\"{{keyId}}\",algorithm=\"hmac-sha1\",signature=\"{{signatureString}}\""}],"body":{"mode":"raw","raw":"{\n    \"data\": {\n        \"type\": \"payout\",\n        \"id\": \"d0249e00-00ea-4125-8d9b-31baa7125d5f\",\n        \"attributes\": {\n            \"short_code\": \"11122\",\n            \"recipient_no\": \"601000\",\n            \"recipient_type\": \"short_code\",\n            \"recipient_category\": \"paybill\",\n            \"amount\": 1000,\n            \"posted_at\": \"2019-03-18T17:22:09.651011Z\",\n            \"reference\": \"7000\"\n        }\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://tryapi.quikk.dev/v1/mpesa/payouts"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"176"},{"key":"Content-Type","value":"application/vnd.api+json"},{"key":"Date","value":"Wed, 04 Dec 2019 08:51:46 GMT"},{"key":"Server","value":"tyk"},{"key":"Vary","value":"Origin"},{"key":"X-Ratelimit-Limit","value":"0"},{"key":"X-Ratelimit-Remaining","value":"0"},{"key":"X-Ratelimit-Reset","value":"0"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"type\": \"response\",\n        \"id\": \"AG_20191204_0000621b54f597926004\",\n        \"attributes\": {\n            \"resource_id\": \"f4791b4c-b592-4ccf-b121-ed2688a6f6a0\"\n        }\n    }\n}"},{"id":"8d0903f3-09cb-494e-8789-e92fde3fd8e5","name":"Business Transfer to BuyGoods","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/vnd.api+json"},{"key":"Accept","type":"text","value":"application/vnd.api+json"},{"key":"Date","type":"text","value":"{{date}}"},{"key":"Authorization","type":"text","value":"keyId=\"{{keyId}}\",algorithm=\"hmac-sha1\",signature=\"{{signatureString}}\""}],"body":{"mode":"raw","raw":"{\n    \"data\": {\n        \"type\": \"payout\",\n        \"id\": \"e8776fef-d6a2-44a7-a07d-9e32310c5c7d\",\n        \"attributes\": {\n            \"short_code\": \"11122\",\n            \"amount\": 1000,\n            \"recipient_no\": \"116261\",\n            \"recipient_type\": \"short_code\",\n            \"recipient_category\": \"till\",\n            \"posted_at\": \"2019-03-18T17:22:09.651011Z\"\n        }\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://tryapi.quikk.dev/v1/mpesa/transfers"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"176"},{"key":"Content-Type","value":"application/vnd.api+json"},{"key":"Date","value":"Wed, 04 Dec 2019 08:49:42 GMT"},{"key":"Server","value":"tyk"},{"key":"Vary","value":"Origin"},{"key":"X-Ratelimit-Limit","value":"0"},{"key":"X-Ratelimit-Remaining","value":"0"},{"key":"X-Ratelimit-Reset","value":"0"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"type\": \"response\",\n        \"id\": \"AG_20191204_000072b21cad0ea0488a\",\n        \"attributes\": {\n            \"resource_id\": \"51a7810a-68dc-4c7d-bf67-fd06868100e0\"\n        }\n    }\n}"}],"_postman_id":"97e9e0f9-2120-4429-ba11-d5e262e955d4"},{"name":"Refund","event":[{"listen":"test","script":{"exec":["pm.test(\"Should be a Success response\", function () {","    pm.response.to.be.ok;","});","","pm.test(\"Should have a data response body\", function () {","    var response_body = pm.response.json();","    pm.response.to.have.jsonBody('data');","    // should return broker message id","    pm.expect(response_body.data.attributes).to.have.property('resource_id');","});"],"type":"text/javascript","id":"02b9f959-d2c4-492a-ad7b-a1bf80bfb522"}},{"listen":"prerequest","script":{"exec":[""],"type":"text/javascript","id":"21b78a74-6629-4f8a-a0d8-72d0a0b5ae10"}}],"id":"981fd999-01ed-4041-8963-f4d597c9b290","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/vnd.api+json","type":"text"},{"key":"Accept","value":"application/vnd.api+json","type":"text"},{"key":"Date","value":"{{date}}","type":"text"},{"key":"Authorization","value":"keyId=\"{{keyId}}\",algorithm=\"hmac-sha1\",signature=\"{{signatureString}}\"","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"data\": {\n        \"type\": \"refund\",\n        \"id\": \"96a430ae-ba79-4cf9-aa8f-46a989e6968f\",\n        \"attributes\": {\n            \"short_code\": \"511382\",\n            \"origin_txn_id\": \"SNAS232\"\n        }\n    }\n}"},"url":"https://tryapi.quikk.dev/v1/mpesa/refunds","urlObject":{"path":["v1","mpesa","refunds"],"host":["https://tryapi.quikk.dev"],"query":[],"variable":[]}},"response":[{"id":"b14aceed-2ccb-49c1-8d0c-4366447ef37f","name":"Refund","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"application/vnd.api+json","type":"text"},{"key":"Date","value":"{{date}}","type":"text"},{"key":"Authorization","value":"keyId=\"{{keyId}}\",algorithm=\"hmac-sha1\",signature=\"{{signatureString}}\"","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"data\": {\n        \"type\": \"refund\",\n        \"id\": \"08a1373e-b4c6-4ebe-b496-7869d2fb747a\",\n        \"attributes\": {\n            \"short_code\": \"511382\",\n            \"origin_txn_id\": \"SNAS232\"\n        }\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://tryapi.quikk.dev/v1/mpesa/refunds"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":""}],"_postman_id":"981fd999-01ed-4041-8963-f4d597c9b290"},{"name":"Charge","event":[{"listen":"prerequest","script":{"id":"c6ccb6a9-83b9-4d51-a223-87fbad54cb04","exec":[""],"type":"text/javascript"}}],"id":"7a675377-7895-49ad-9916-975de63431d5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Accept","value":"application/vnd.api+json","type":"text"},{"key":"Content-Type","value":"application/vnd.api+json","type":"text"},{"key":"Authorization","value":"keyId=\"{{keyId}}\",algorithm=\"hmac-sha1\",signature=\"{{signatureString}}\"","type":"text"},{"key":"Date","value":"{{date}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"data\": {\n        \"type\": \"charge\",\n        \"id\": \"d64679d3-3809-430e-bb40-fad86935902c\",\n        \"attributes\": {\n            \"amount\": 10,\n            \"customer_no\": \"254720000000\",\n            \"short_code\": \"174379\",\n            \"posted_at\": \"{{posted_at}}\",\n            \"reference\": \"1234\"\n        }\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://tryapi.quikk.dev/v1/mpesa/charge","description":"<p>Request for payment from a customer via Mpesa STK push.</p>\n<p>Possible <code>category</code> values;</p>\n<ul>\n<li>CustomerPayBillOnline (default)</li>\n<li>CustomerBuyGoodsOnline</li>\n</ul>\n<p><code>customer_type</code> is optional and defaults to <code>msisdn</code></p>\n","urlObject":{"path":["v1","mpesa","charge"],"host":["https://tryapi.quikk.dev"],"query":[],"variable":[]}},"response":[{"id":"b818b124-df2b-420c-9878-3c78e04f792e","name":"Charge Till","originalRequest":{"method":"POST","header":[{"key":"Accept","value":"application/vnd.api+json","type":"text"},{"key":"Content-Type","value":"application/vnd.api+json","type":"text"},{"key":"Authorization","value":"keyId=\"{{keyId}}\",algorithm=\"hmac-sha1\",signature=\"{{signatureString}}\"","type":"text"},{"key":"Date","value":"{{date}}","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"data\": {\n        \"type\": \"charge\",\n        \"attributes\": {\n            \"amount\": 100,\n            \"customer_no\": \"254722000022\",\n            \"short_code\": \"111222\",\n            \"till_no\": \"112233\",\n            \"posted_at\": \"{{posted_at}}\",\n            \"reference\": \"1234\"\n        }\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://tryapi.quikk.dev/v1/mpesa/charge"},"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"type\": \"charge\",\n        \"id\": \"8555-67195-1\",\n        \"attributes\": {\n            \"payin_id\": \"ws_CO_27072017151044001\"\n        }\n    }\n}"},{"id":"7b4484ab-12bc-41df-b2fa-ff0aa1af792c","name":"Charge PayBill","originalRequest":{"method":"POST","header":[{"key":"Accept","value":"application/vnd.api+json","type":"text"},{"key":"Content-Type","value":"application/vnd.api+json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"data\":{\n    \"type\":\"charge\",\n    \"attributes\":{ \n      \"short_code\": \"11122\",\n      \"amount\": 100,\n      \"customer_no\": \"254722000022\",\n      \"posted_at\": \"2019-03-18T17:22:09.651011Z\", \n      \"reference\": \"1234\" \n    }\n  }\n}","options":{"raw":{"language":"json"}}},"url":"https://tryapi.quikk.dev/v1/mpesa/charge"},"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"type\": \"charge\",\n        \"id\": \"8555-67195-1\",\n        \"attributes\": {\n            \"payin_id\": \"ws_CO_27072017151044001\"\n        }\n    }\n}"}],"_postman_id":"7a675377-7895-49ad-9916-975de63431d5"},{"name":"Search","event":[{"listen":"prerequest","script":{"exec":[""],"type":"text/javascript","id":"66557b00-ef81-4b70-875f-231cb8f95397"}}],"id":"7fd85e10-b80c-4716-9bbf-5f3edcb67ead","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"keyId=\"{{keyId}}\",algorithm=\"hmac-sha1\",signature=\"{{signatureString}}\"","type":"text"},{"key":"Date","value":"{{date}}","type":"text"},{"key":"Content-Type","value":"application/vnd.api+json","type":"text"},{"key":"Accept","value":"application/vnd.api+json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"data\": {\n    \"type\": \"search\",\n    \"id\": \"f30bc54c-98ee-42d1-86c3-52233708d5d3\",\n    \"attributes\": {\n      \"short_code\": \"511382\"\n    }\n  }\n}"},"url":"https://tryapi.quikk.dev/v1/mpesa/searches/:q","description":"<p>Query status of a transaction or shortcode balances</p>\n<p>You can query for a transaction using 3 possible ids(values for the <code>on</code> field);</p>\n<ul>\n<li><code>resource_id</code> - user provided id</li>\n<li><code>txn_id</code> - Mpesa Receipt number</li>\n<li><code>response_id</code> - Mpesa generated id</li>\n</ul>\n<p>The value of <code>q</code> should be the actual id</p>\n<p>Change the value of the <code>:query</code> path param to <code>balance</code> to query for balances for the passed in <code>short_code</code>.</p>\n","urlObject":{"path":["v1","mpesa","searches",":q"],"host":["https://tryapi.quikk.dev"],"query":[],"variable":[{"id":"c62733f6-3bc0-45d0-a051-4251747a355b","type":"any","value":"balance","key":"q"}]}},"response":[{"id":"5db50f85-3f95-457a-9595-c285a6b32c0a","name":"Search Transaction","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"keyId=\"{{keyId}}\",algorithm=\"hmac-sha1\",signature=\"{{signatureString}}\"","type":"text"},{"key":"Date","value":"{{date}}","type":"text"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"application/vnd.api+json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"data\": {\n    \"type\": \"search\",\n    \"id\": \"6e9a2aad-621e-444c-9fc8-1e08fdaaaa6c\",\n    \"attributes\": {\n      \"short_code\": \"511382\",\n      \"q\": \"07549370-9944-4681-8165-47a44a351a4a\",\n      \"on\": \"resource_id\" \n    }\n  }\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://tryapi.quikk.dev/v1/mpesa/searches/:q","host":["https://tryapi.quikk.dev"],"path":["v1","mpesa","searches",":q"],"variable":[{"key":"q","value":"balance"}]}},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":""},{"id":"b36ec807-00ab-4748-9643-e16e8bea7fea","name":"Search Balance","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"keyId=\"{{keyId}}\",algorithm=\"hmac-sha1\",signature=\"{{signatureString}}\"","type":"text"},{"key":"Date","value":"{{date}}","type":"text"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"application/vnd.api+json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"data\": {\n    \"type\": \"search\",\n    \"id\": \"6e9a2aad-621e-444c-9fc8-1e08fdaaaa6c\",\n    \"attributes\": {\n      \"short_code\": \"511382\"\n    }\n  }\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://tryapi.quikk.dev/v1/mpesa/searches/:q","host":["https://tryapi.quikk.dev"],"path":["v1","mpesa","searches",":q"],"variable":[{"key":"q","value":"balance"}]}},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":""}],"_postman_id":"7fd85e10-b80c-4716-9bbf-5f3edcb67ead"},{"name":"Payout","event":[{"listen":"prerequest","script":{"exec":[""],"type":"text/javascript","id":"d344606b-ad18-4e70-8f24-29d7baf033d0"}}],"id":"a997b0fb-8a9f-45ad-952c-b7042ca7070e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/vnd.api+json"},{"key":"Accept","type":"text","value":"application/vnd.api+json"},{"key":"Date","type":"text","value":"{{date}}"},{"key":"Authorization","type":"text","value":"keyId=\"{{keyId}}\",algorithm=\"hmac-sha1\",signature=\"{{signatureString}}\""}],"body":{"mode":"raw","raw":"{\n    \"data\": {\n        \"type\": \"payout\",\n        \"id\": \"cdb8dfd8-b5a0-481e-9db9-eae9e158c66f\",\n        \"attributes\": {\n            \"recipient_no\": \"0722000024\",\n            \"recipient_type\": \"msisdn\",\n            \"short_code\": \"511382\",\n            \"amount\": 10,\n            \"posted_at\": \"2019-03-18T17:22:09.651011Z\",\n            \"recipient_id_type\": \"national_id\",\n            \"recipient_id_number\": \"21212121\"\n        }\n    }\n}"},"url":"https://tryapi.quikk.dev/v1/mpesa/payouts","description":"<p>This resource describes a pay out transaction request that originates from the developer to MPESA system for processing and eventual crediting of the end customer's wallet upon successful processing. Commonly referred to as a B2C transaction. Simply put, it is the process of sending money from a shortcode to a customer or another shortcode.</p>\n<p><code>id</code> represents a <strong>unique</strong> string generated on the developers system for universally unique identification purpose.</p>\n<p><code>category</code> represents the type of the business transaction. Defaults to <code>BusinessPayment</code>. Possible values are;</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-plaintext\">- `BusinessPayment`.\n- `BusinessPaymentWithWithdrawalChargePaid`.\n- `SalaryPayment`.\n- `SalaryPaymentWithWithdrawalChargePaid`.\n- `SalaryPaymentUnregisteredUser`.\n- `PromotionPayment`.\n- `PromotionPaymentUnregisteredUser`.\n\n</code></pre>\n<p><code>amount</code> represents the amount of money to be creditted to the end user's MPESA wallet.</p>\n<p><code>recipient_type</code> represents the type of account to be credited. The value should be <strong>msisdn</strong>.</p>\n<p><code>recipient_id_number</code> is an <em><strong>optional</strong></em> attribute that represents the ID of the recipient. It's useful for validation before disbursement of funds is done.</p>\n<p><code>recipient_id_type</code> is an <em><strong>optional</strong></em> attributes that represents the type of id provided. Could be represented by (01-National ID, 02-Military ID, 03-Alien, 04-Diplomatic, 05-Passport)</p>\n<p><code>recipient_no</code> represents the MSISDN number of the person receiving the transaction.</p>\n<p><code>posted_at</code> represents time in UTC standard format at which the transaction was initiated.</p>\n","urlObject":{"path":["v1","mpesa","payouts"],"host":["https://tryapi.quikk.dev"],"query":[],"variable":[]}},"response":[{"id":"fc7da128-3e1b-46fc-b30e-764d4ab23615","name":"Business Payment To Customer","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/vnd.api+json","type":"text"},{"key":"Accept","type":"text","value":"application/vnd.api+json"},{"key":"Date","type":"text","value":"{{date}}"},{"key":"Authorization","type":"text","value":"keyId=\"{{keyId}}\",algorithm=\"hmac-sha1\",signature=\"{{signatureString}}\""}],"body":{"mode":"raw","raw":"{\n    \"data\": {\n        \"type\": \"payout\",\n        \"id\": \"068e2665-f648-4157-874d-344ca60c7ba8\",\n        \"attributes\": {\n            \"short_code\": \"11122\",\n            \"recipient_no\": \"0722000024\",\n            \"recipient_type\": \"msisdn\",\n            \"amount\": 100,\n            \"posted_at\": \"2019-03-18T17:22:09.651011Z\",\n            \"recipient_id_type\": \"national_id\",\n            \"recipient_id_number\": \"21212121\"\n        }\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://tryapi.quikk.dev/v1/mpesa/payouts"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Content-Length","value":"176"},{"key":"Content-Type","value":"application/vnd.api+json"},{"key":"Date","value":"Wed, 04 Dec 2019 08:53:07 GMT"},{"key":"Server","value":"tyk"},{"key":"Vary","value":"Origin"},{"key":"X-Ratelimit-Limit","value":"0"},{"key":"X-Ratelimit-Remaining","value":"0"},{"key":"X-Ratelimit-Reset","value":"0"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"type\": \"response\",\n        \"id\": \"AG_20191204_00005caa11a09457dae9\",\n        \"attributes\": {\n            \"resource_id\": \"5f1c4723-9c96-4873-915a-e7433fc1e0fa\"\n        }\n    }\n}"},{"id":"b4145794-cc19-4505-9f43-071c82a8df6c","name":"Payout (category set)","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","type":"text","value":"application/vnd.api+json"},{"key":"Date","type":"text","value":"{{date}}"},{"key":"Authorization","type":"text","value":"keyId=\"{{keyId}}\",algorithm=\"hmac-sha1\",signature=\"{{signatureString}}\""}],"body":{"mode":"raw","raw":"{\n    \"data\": {\n        \"type\": \"payout\",\n        \"id\": \"ba52af29-15fc-4e02-b490-ec616afe3b9f\",\n        \"attributes\": {\n        \t\"category\": \"SalaryPayment\",\n            \"recipient_no\": \"0722000024\",\n            \"recipient_type\": \"msisdn\",\n            \"short_code\": \"511382\",\n            \"amount\": 10,\n            \"posted_at\": \"2019-03-18T17:22:09.651011Z\",\n            \"recipient_id_type\": \"national_id\",\n            \"recipient_id_number\": \"21212121\"\n        }\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://tryapi.quikk.dev/v1/mpesa/payouts"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":""}],"_postman_id":"a997b0fb-8a9f-45ad-952c-b7042ca7070e"}],"id":"7633355d-284d-4603-907c-27ae5c7a4126","description":"<p>This allows for an easy access to Quikk's M-PESA sandbox. It aids you in completing a full cycle of tests, including the requests made by the developer, the responses received, and the callbacks that the developer obtains.</p>\n<p>You'll need callback URLs, a Key and Secret provided by Quikk. Insert/replace the variables with the API credentials (Key, Secret) we have provided. To request for your API credentials, please email <a href=\"mailto:dean@quikk.dev\">dean@quikk.dev</a>.</p>\n","_postman_id":"7633355d-284d-4603-907c-27ae5c7a4126"},{"name":"MPESA SIMULATIONS","item":[{"name":"payin","item":[{"name":"Payin validation callback","id":"b946e762-7e77-4c6a-93fd-7c37999bb55f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/vnd.api+json"},{"key":"Accept","type":"text","value":"application/vnd.api+json"},{"key":"x-your-custom-header","value":"header-value","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"data\": {\n        \"type\": \"payin\",\n        \"attributes\": {\n            \"txn_id\": \"NH701HA94Y\",\n            \"sender_no\": \"2547*****459\",\n            \"sender_no_sha1\": \"f001d87b438ff2959d6786f02d7dfa0fa2bbd17b\",\n            \"sender_name\": \"John J D\",\n            \"sender_type\": \"msisdn\",\n            \"amount\": 1000,\n            \"txn_created_at\": \"2022-07-01T11:00:49+0300\",\n            \"short_code\": \"60134\",\n            \"reference\": \"NTSPF6038\",\n            \"category\": \"PayBill\"\n        }\n    }\n}"},"url":"http://localhost/developer_app/payins","description":"<p>This resource describes a pay in transaction that is sent in by MPESA to a developers system for validation purpose. The validation is meant to ensure that the end customer made a valid transaction from his/her mobile end. Validation of a transaction triggers a cancellation or acceptance of the MPESA transaction. Commonly referred to as a C2B transaction.</p>\n<p><code>txn_id</code> represents transaction id that MPESA generates to uniquely identify a transaction that has been initiated on its system.</p>\n<p><code>category</code> represents the kind of transaction being made. The transaction can fall under one of the following categories <strong>Merchant_payment</strong>, <strong>paybill_payment</strong> or <strong>paybill_transfer</strong>.</p>\n<p><code>txn_created_at</code> represents the time at which the transaction was initiated. It is in the UTC standard format.</p>\n<p><code>sender_type</code> represents the mpesa transaction initiator type. The value can be either <strong>msisdn</strong> or <strong>shortcode</strong>.</p>\n<p><code>sender_no</code> represents the MSISDN number of the customer that initiated the transaction from his/her mobile end.</p>\n<p><code>sender_name</code> represents the full names(as registered on MPESA system) of the person initiating the transaction.</p>\n<p><code>amount</code> represents the amount of money transacted.</p>\n<p><code>short_code</code> represents the shortcode commonly known as <strong>paybill number or Business Number</strong> to which the transaction was made.</p>\n<p><code>reference</code> represents the account number or name to which the transaction should be associated with. Used for Paybills channel</p>\n<p><code>balance_working_ac</code> represents the balance of your working account on MPESA system.</p>\n","urlObject":{"protocol":"http","path":["developer_app","payins"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"b9deb079-2d96-4cb6-ae7a-75931bb1e3c6","name":"Payin validation failure","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"data\": {\n        \"type\": \"payin\",\n        \"attributes\": {\n            \"txn_id\": \"NH701HA94Y\",\n            \"sender_no\": \"2547*****567\",\n            \"sender_no_sha1\": \"f001d87b438ff2959d6786f02d7dfa0fa2bbd17b\",\n            \"sender_name\": \"John J D\",\n            \"sender_type\": \"msisdn\",\n            \"amount\": 1000,\n            \"txn_created_at\": \"2022-07-01T11:00:49+0300\",\n            \"short_code\": \"60134\",\n            \"reference\": \"NTSPF6038\",\n            \"category\": \"PayBill\"\n        }\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://localhost/developer_app/payins"},"status":"Bad Request","code":400,"_postman_previewlanguage":"Text","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"errors\": [\n        {\n            \"status\": \"400\",\n            \"code\": \"C2B00016\",\n            \"detail\": \"Validation deactivated\"\n        }\n    ]\n}"},{"id":"36d8e1f5-75bb-46ca-8374-a75a7335d51d","name":"Business Payment  validation","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"application/vnd.api+json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"data\": {\n        \"type\": \"payin\",\n        \"attributes\": {\n            \"txn_id\": \"NH87HBCW05\",\n            \"sender_no\": \"341562\",\n            \"sender_no_sha1\": \"7d241b37a66b4a228c421bd3d02c1fbc3aaa7490\",\n            \"sender_name\": \"Safaricom\",\n            \"sender_type\": \"short_code\",\n            \"short_code\": \"601000\",\n            \"amount\": 1000,\n            \"txn_created_at\": \"2022-07-01T11:00:49+0300\",\n            \"category\": \"B2B\"\n        }\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://localhost/developer_app/payins"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Access-Control-Allow-Headers","value":"X-Requested-With,Content-Type,Accept,Origin"},{"key":"Access-Control-Allow-Methods","value":"*"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Encoding","value":"gzip"},{"key":"Content-Type","value":"application/vnd.api+json"},{"key":"Date","value":"Wed, 04 Dec 2019 08:39:00 GMT"},{"key":"Content-Length","value":"64"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"type\": \"payin\",\n        \"id\": \"1\"\n    }\n}"}],"_postman_id":"b946e762-7e77-4c6a-93fd-7c37999bb55f"},{"name":"Business Payment Paybill confirmation callback","id":"af23ede4-e7e6-4965-8470-3c371d919a89","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/vnd.api+json"},{"key":"Accept","type":"text","value":"application/vnd.api+json"},{"key":"x-your-custom-header","type":"text","value":"header-value"}],"body":{"mode":"raw","raw":"{\n    \"data\": {\n        \"type\": \"payin\",\n        \"id\": \"1\",\n        \"attributes\": {\n            \"txn_id\": \"NH87HBCW05\",\n            \"sender_name\": \"Safaricom\",\n            \"sender_type\": \"short_code\",\n            \"amount\": 1000,\n            \"txn_created_at\": \"2022-07-01T11:00:49+0300\",\n            \"short_code\": \"601000\",\n            \"balance_working_ac\": 3060455,\n            \"category\": \"B2B\"\n        }\n    }\n}"},"url":"http://localhost/developer_app/payins","description":"<p>This resource describes a pay in transaction that is sent in by MPESA to a developers system for Confirmation purpose. The confirmation is an affirmation of a successful transaction on MPESA system.</p>\n<p><code>txn_id</code> represents transaction id that MPESA generates to uniquely identify a transaction that has been initiated on its system.</p>\n<p><code>category</code> represents the kind of transaction being made. The transaction can fall under one of the following categories <strong>Merchant_payment</strong>, <strong>paybill_payment</strong> or <strong>paybill_transfer</strong>.</p>\n<p><code>txn_created_at</code> represents the time at which the transaction was initiated. It is in the UTC standard format.</p>\n<p><code>sender_type</code> represents the mpesa transaction initiator type. The value can be either <strong>msisdn</strong> or <strong>shortcode</strong>.</p>\n<p><code>sender_no</code> represents the MSISDN number of the customer that initiated the transaction from his/her mobile end.</p>\n<p><code>sender_name</code> represents the full names(as registered on MPESA system) of the person initiating the transaction.</p>\n<p><code>amount</code> represents the amount of money transacted.</p>\n<p><code>short_code</code> represents the shortcode commonly known as <strong>paybill number or Business Number</strong> to which the transaction was made.</p>\n<p><code>reference</code> represents the account number or name to which the transaction should be associated with. Used for Paybills channel</p>\n<p><code>balance_working_ac</code> represents the balance of your working account on MPESA system.</p>\n","urlObject":{"protocol":"http","path":["developer_app","payins"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"e44c9205-d046-4e9d-b420-f2a00a6ed22e","name":"Business Payment Paybill","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"application/vnd.api+json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"data\": {\n        \"type\": \"payin\",\n        \"id\": \"1\",\n        \"attributes\": {\n            \"txn_id\": \"NH87HBCW05\",\n            \"sender_name\": \"Safaricom\",\n            \"sender_type\": \"short_code\",\n            \"amount\": 1000,\n            \"txn_created_at\": \"2022-07-01T11:00:49+0300\",\n            \"short_code\": \"601000\",\n            \"balance_working_ac\": 3060455,\n            \"category\": \"B2B\"\n        }\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://localhost/developer_app/payins"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Access-Control-Allow-Headers","value":"X-Requested-With,Content-Type,Accept,Origin"},{"key":"Access-Control-Allow-Methods","value":"*"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Encoding","value":"gzip"},{"key":"Content-Type","value":"application/vnd.api+json"},{"key":"Date","value":"Wed, 04 Dec 2019 08:45:26 GMT"},{"key":"Content-Length","value":"64"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"type\": \"payin\",\n        \"id\": \"1\"\n    }\n}"}],"_postman_id":"af23ede4-e7e6-4965-8470-3c371d919a89"},{"name":"Customer Payment BuyGoods confirmation callback","id":"8dcefd4b-a73e-449a-a579-d119e97c41d0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/vnd.api+json"},{"key":"Accept","type":"text","value":"application/vnd.api+json"},{"key":"x-your-custom-header","value":"header-value","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"data\": {\n        \"type\": \"payin\",\n        \"attributes\": {\n            \"txn_id\": \"NH75HBCV3B\",\n            \"sender_no\": \"2547*****645\",\n            \"sender_no_sha1\": \"ac8881d59f5163455663a142b6f5c55452e707a7\",\n            \"sender_name\": \"Nicholas S\",\n            \"sender_type\": \"msisdn\",\n            \"amount\": 1000,\n            \"txn_created_at\": \"2022-07-01T11:00:49+0300\",\n            \"short_code\": \"601340\",\n            \"balance_working_ac\": 20248.75,\n            \"category\": \"BuyGoods\"\n        }\n    }\n}"},"url":"http://localhost/developer_app/payins","description":"<p>This resource describes a pay in transaction that is sent in by MPESA to a developers system for Confirmation purpose. The confirmation is an affirmation of a successful transaction on MPESA system.</p>\n<p><code>txn_id</code> represents transaction id that MPESA generates to uniquely identify a transaction that has been initiated on its system.</p>\n<p><code>category</code> represents the kind of transaction being made. The transaction can fall under one of the following categories <strong>Merchant_payment</strong>, <strong>paybill_payment</strong> or <strong>paybill_transfer</strong>.</p>\n<p><code>txn_created_at</code> represents the time at which the transaction was initiated. It is in the UTC standard format.</p>\n<p><code>sender_type</code> represents the mpesa transaction initiator type. The value can be either <strong>msisdn</strong> or <strong>shortcode</strong>.</p>\n<p><code>sender_no</code> represents the MSISDN number of the customer that initiated the transaction from his/her mobile end.</p>\n<p><code>sender_name</code> represents the full names(as registered on MPESA system) of the person initiating the transaction.</p>\n<p><code>amount</code> represents the amount of money transacted.</p>\n<p><code>short_code</code> represents the shortcode commonly known as <strong>paybill number or Business Number</strong> to which the transaction was made.</p>\n<p><code>reference</code> represents the account number or name to which the transaction should be associated with. Used for Paybills channel</p>\n<p><code>balance_working_ac</code> represents the balance of your working account on MPESA system.</p>\n","urlObject":{"protocol":"http","path":["developer_app","payins"],"host":["localhost"],"query":[],"variable":[]}},"response":[],"_postman_id":"8dcefd4b-a73e-449a-a579-d119e97c41d0"},{"name":"Customer Payment Paybill confirmation callback","id":"fc41b534-9d03-460c-bb6f-e7fd1eceaa25","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/vnd.api+json"},{"key":"Accept","type":"text","value":"application/vnd.api+json"},{"key":"x-your-custom-header","value":"header-value","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"data\": {\n        \"type\": \"payin\",\n        \"id\": \"1\",\n        \"attributes\": {\n            \"txn_id\": \"NH761HA954\",\n            \"sender_no\": \"2547*****149\",\n            \"sender_no_sha1\": \"806e8ce3860b9ddcb4100df4c2eae8bb5c98fae7\",\n            \"sender_name\": \"John J D\",\n            \"sender_type\": \"msisdn\",\n            \"amount\": 1000,\n            \"txn_created_at\": \"2022-07-01T11:00:49+0300\",\n            \"short_code\": \"6012345\",\n            \"reference\": \"NTSPF6038\",\n            \"balance_working_ac\": 10,\n            \"category\": \"PayBill\"\n        }\n    }\n}"},"url":"http://localhost/developer_app/payins","description":"<p>This resource describes a pay in transaction that is sent in by MPESA to a developers system for Confirmation purpose. The confirmation is an affirmation of a successful transaction on MPESA system.</p>\n<p><code>txn_id</code> represents transaction id that MPESA generates to uniquely identify a transaction that has been initiated on its system.</p>\n<p><code>category</code> represents the kind of transaction being made. The transaction can fall under one of the following categories <strong>Merchant_payment</strong>, <strong>paybill_payment</strong> or <strong>paybill_transfer</strong>.</p>\n<p><code>txn_created_at</code> represents the time at which the transaction was initiated. It is in the UTC standard format.</p>\n<p><code>sender_type</code> represents the mpesa transaction initiator type. The value can be either <strong>msisdn</strong> or <strong>shortcode</strong>.</p>\n<p><code>sender_no</code> represents the MSISDN number of the customer that initiated the transaction from his/her mobile end.</p>\n<p><code>sender_name</code> represents the full names(as registered on MPESA system) of the person initiating the transaction.</p>\n<p><code>amount</code> represents the amount of money transacted.</p>\n<p><code>short_code</code> represents the shortcode commonly known as <strong>paybill number or Business Number</strong> to which the transaction was made.</p>\n<p><code>reference</code> represents the account number or name to which the transaction should be associated with. Used for Paybills channel</p>\n<p><code>balance_working_ac</code> represents the balance of your working account on MPESA system.</p>\n","urlObject":{"protocol":"http","path":["developer_app","payins"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"4dec5dd5-9af1-4283-aee0-ec22aef65156","name":"Customer Payment Paybill","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"application/vnd.api+json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"data\": {\n        \"type\": \"payin\",\n        \"id\": \"1\",\n        \"attributes\": {\n            \"txn_id\": \"NH761HA954\",\n            \"sender_no\": \"2547*****149\",\n            \"sender_no_sha1\": \"806e8ce3860b9ddcb4100df4c2eae8bb5c98fae7\",\n            \"sender_name\": \"John J D\",\n            \"sender_type\": \"msisdn\",\n            \"amount\": 1000,\n            \"txn_created_at\": \"2022-07-01T11:00:49+0300\",\n            \"short_code\": \"6012345\",\n            \"reference\": \"NTSPF6038\",\n            \"balance_working_ac\": 10,\n            \"category\": \"PayBill\"\n        }\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://localhost/developer_app/payins"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Access-Control-Allow-Headers","value":"X-Requested-With,Content-Type,Accept,Origin"},{"key":"Access-Control-Allow-Methods","value":"*"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Encoding","value":"gzip"},{"key":"Content-Type","value":"application/vnd.api+json"},{"key":"Date","value":"Wed, 04 Dec 2019 08:44:09 GMT"},{"key":"Content-Length","value":"64"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"type\": \"payin\",\n        \"id\": \"1\"\n    }\n}"}],"_postman_id":"fc41b534-9d03-460c-bb6f-e7fd1eceaa25"},{"name":"Refund callback","id":"36033fe0-a925-4e80-bf5c-c54a8ead6fd7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/vnd.api+json","type":"text"},{"key":"Accept","value":"application/vnd.api+json","type":"text"},{"key":"x-your-custom-header","value":"header-value","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"data\": {\n    \"type\": \"refund\",\n    \"id\": \"1\",\n    \"attributes\": {\n      \"txn_id\": \"NH94HBCXII\",\n      \"sender_name\": \"Samuel T\",\n      \"sender_no\": \"2547*****024\",\n      \"sender_no_sha1\": \"a8150b7b38fa70ae1c0e4b5312f3a79827ceb657\",\n      \"amount\": 450,\n      \"txn_created_at\": \"2022-07-01T11:00:49+0300\",\n      \"short_code\": \"511382\",\n      \"short_code_name\": \"Safaricom Disbursement Account\",\n      \"origin_txn_id\": \"NH90HBCXI4\",\n      \"response_id\": \"AG_20190808_000051f18a81f3aee279\",\n      \"balance_utility_ac\": 4761531.1,\n      \"txn_charge\": 0\n    }\n  }\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost/developer_app/payins-refunds","urlObject":{"protocol":"http","path":["developer_app","payins-refunds"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"2ea52d2e-2391-403e-882d-41fab33fe5ba","name":"Refund failure callback","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/vnd.api+json","type":"text"},{"key":"Accept","value":"application/vnd.api+json","type":"text"},{"key":"x-your-custom-header","value":"header-value","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"data\": {\n    \"type\": \"refund\",\n    \"id\": \"be140604-b53d-4725-8cdb-60b946286536\",\n    \"attributes\": {\n      \"txn_id\": \"NH90000000\",\n      \"response_id\": \"AG_20190809_00005572cb7edaef9ce6\"\n    }\n  },\n  \"meta\": {\n    \"status\": \"FAIL\",\n    \"code\": \"R000001\",\n    \"detail\": \"The transaction has already been reversed.\"\n  }\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost/developer_app/refunds"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":""},{"id":"849b0984-dc22-4b85-8ce3-36b1e4875e4d","name":"Refund callback","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/vnd.api+json","type":"text"},{"key":"Accept","value":"application/vnd.api+json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"data\": {\n    \"type\": \"refund\",\n    \"id\": \"1\",\n    \"attributes\": {\n      \"txn_id\": \"NH94HBCXII\",\n      \"sender_name\": \"Samuel T\",\n      \"sender_no\": \"2547*****024\",\n      \"sender_no_sha1\": \"a8150b7b38fa70ae1c0e4b5312f3a79827ceb657\",\n      \"amount\": 450,\n      \"txn_created_at\": \"2022-07-01T11:00:49+0300\",\n      \"short_code\": \"511382\",\n      \"short_code_name\": \"Safaricom Disbursement Account\",\n      \"origin_txn_id\": \"NH90HBCXI4\",\n      \"response_id\": \"AG_20190808_000051f18a81f3aee279\",\n      \"balance_utility_ac\": 4761531.1,\n      \"txn_charge\": 0\n    }\n  }\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost/developer_app/refunds"},"status":"No Content","code":204,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":""}],"_postman_id":"36033fe0-a925-4e80-bf5c-c54a8ead6fd7"}],"id":"4dbd62a5-d8f5-4ca5-ae78-b858f7cc7dc3","_postman_id":"4dbd62a5-d8f5-4ca5-ae78-b858f7cc7dc3","description":""},{"name":"payout","item":[{"name":"Business Payment to customer callback","id":"2cdfa3ff-72f1-441b-b30d-d130db8e6291","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/vnd.api+json"},{"key":"Accept","type":"text","value":"application/vnd.api+json"},{"key":"x-your-custom-header","type":"text","value":"header-value"}],"body":{"mode":"raw","raw":"{\n  \"data\": {\n    \"type\": \"payout\",\n    \"id\": \"1\",\n    \"attributes\": {\n      \"txn_id\": \"NI51HBHO4D\",\n      \"response_id\": \"AG_20190905_00005f0dcb86732c611c\",\n      \"recipient_type\": \"msisdn\",\n      \"recipient_name\": \"John J D\",\n      \"recipient_no\": \"2547*****024\",\n      \"recipient_no_sha1\": \"a8150b7b38fa70ae1c0e4b5312f3a79827ceb657\",\n      \"recipient_registered\": \"Y\",\n      \"amount\": 10,\n      \"txn_created_at\": \"2022-07-01T11:00:49+0300\",\n      \"balance_utility_ac\": 4517632.27,\n      \"balance_working_ac\": 299825045,\n      \"balance_charges_paid_ac\": 0\n    }\n  }\n}"},"url":"http://localhost/developer_app/payouts","description":"<p>This describes a resource transaction that's sent to the developer's system upon successful processing and crediting of funds to a MPESA customer. It is similar to the callback resource described in the callback event of the pay_out request. This endpoint accepts any http method that supports raw json body.</p>\n<p><code>id</code> represents a unique string for identification of the pay out transaction. It is the same id value generated on the developers system while initiating the request.</p>\n<p><code>response_id</code> represents a unique id that's generated on MPESA system for the original request message.</p>\n<p><code>txn_id</code> represents transaction id that MPESA generates to uniquely identify a transaction that has been initiated on its system.</p>\n<p><code>amount</code> represents the amount of money transacted</p>\n<p><code>recipient_type</code> represents the mpesa transaction recipient type. The value can be either <strong>msisdn</strong> or <strong>shortcode</strong>.</p>\n<p><code>recipient_name</code> represents the full names(as registered on MPESA system) of the transaction's recipient.</p>\n<p><code>recipient_no</code> represents the MSISDN number of the  recipient customer.</p>\n<p><code>txn_created_at</code> represents the time at which the transaction was initiated. It is in the UTC standard format.</p>\n<p><code>recipient_registered</code> represents the registration status of the customer recipient on the MPESA system</p>\n<p><code>balance_utility_ac</code> represents amount of the available balance of the organization’s Utility Account, which is the debit account of the transaction.</p>\n<p><code>balance_charges_paid_ac</code> represents amount of the available balance of the organization’s Charge Paid Account, which is the debit account of the transaction charge.</p>\n<p><code>currency</code> represents the currency code for the amount being transacted.</p>\n","urlObject":{"protocol":"http","path":["developer_app","payouts"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"a9b59a0f-3b2b-4dfa-af91-c5d7f84b2f18","name":"Business Payment to customer result","originalRequest":{"method":"PATCH","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"application/vnd.api+json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"data\": {\n        \"type\": \"payout\",\n        \"id\": \"1\",\n        \"attributes\": {\n            \"txn_id\": \"NI51HBHO4D\",\n            \"response_id\": \"AG_20190905_00005f0dcb86732c611c\",\n            \"recipient_type\": \"msisdn\",\n            \"recipient_name\": \"John J D\",\n            \"recipient_no\": \"2547*****024\",\n            \"recipient_no_sha1\": \"a8150b7b38fa70ae1c0e4b5312f3a79827ceb657\",\n            \"recipient_registered\": \"Y\",\n            \"amount\": 10,\n            \"txn_created_at\": \"2022-07-01T11:00:49+0300\",\n            \"balance_utility_ac\": 4517632.27,\n            \"balance_working_ac\": 299825045,\n            \"balance_charges_paid_ac\": 0\n        }\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://localhost/developer_app/payouts"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Access-Control-Allow-Headers","value":"X-Requested-With,Content-Type,Accept,Origin"},{"key":"Access-Control-Allow-Methods","value":"*"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Encoding","value":"gzip"},{"key":"Content-Type","value":"application/vnd.api+json"},{"key":"Date","value":"Wed, 04 Dec 2019 08:40:52 GMT"},{"key":"Content-Length","value":"121"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\":{\n        \"type\": \"payout\",\n        \"id\": 1\n    }\n}"},{"id":"bc9441b9-0759-4e5a-bb11-9f08a498a717","name":"Failed payout result","originalRequest":{"method":"PATCH","header":[{"key":"Content-Type","name":"Content-Type","value":"application/vnd.api+json","type":"text"},{"key":"Accept","value":"application/vnd.api+json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"data\": {\n    \"type\": \"payout\",\n    \"id\": \"1\",\n    \"attributes\": {\n      \"txn_id\": \"NH90HBCXPM\",\n      \"response_id\": \"AG_20190809_000040b4caf4c7a029c0\"\n    }\n  },\n  \"meta\": {\n    \"status\": \"FAIL\",\n    \"detail\": \"The initiator is not allowed to initiate this request\"\n  }\n}"},"url":"https://localhost/developer_app/payouts"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Access-Control-Allow-Headers","value":"X-Requested-With,Content-Type,Accept,Origin"},{"key":"Access-Control-Allow-Methods","value":"*"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Encoding","value":"gzip"},{"key":"Content-Type","value":"application/vnd.api+json"},{"key":"Date","value":"Mon, 27 Jan 2020 13:20:48 GMT"},{"key":"Content-Length","value":"65"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"type\": \"payout\",\n        \"id\": \"1\"\n    }\n}"}],"_postman_id":"2cdfa3ff-72f1-441b-b30d-d130db8e6291"}],"id":"339c85a5-e523-4358-b4ba-b642def51885","_postman_id":"339c85a5-e523-4358-b4ba-b642def51885","description":""},{"name":"charge","item":[{"name":"Charge callback","id":"5af41cb1-1c28-4a46-9bff-c7a769a5c46b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Accept","type":"text","value":"application/vnd.api+json"},{"key":"Content-Type","type":"text","value":"application/vnd.api+json"},{"key":"x-your-custom-header","value":"header-value","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"data\": {\n    \"type\": \"payin\",\n    \"id\": \"8555-67195-1\",\n    \"attributes\": {\n      \"txn_id\": \"FDN34Y9809\",\n      \"recipient_no\": \"07181234567\",\n      \"sender_type\": \"msisdn\",\n      \"sender_no\": \"254701234567\",\n      \"amount\": 500,\n      \"txn_charge_created_at\": \"2022-07-01T11:00:49+0300\",\n      \"txn_charge_id\": \"ws_CO_27072017151044001\"\n    }\n  }\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost/developer_app/charges","urlObject":{"protocol":"http","path":["developer_app","charges"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"6a242ec6-49ca-4779-b763-7b8483e86708","name":"Charge Result - Fail","originalRequest":{"method":"POST","header":[{"key":"Accept","value":"application/vnd.api+json","type":"text"},{"key":"Content-Type","value":"application/vnd.api+json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"data\": {\n    \"type\": \"payin\",\n    \"id\": \"8555-67195-1\",\n    \"attributes\": {\n      \"txn_charge_id\": \"AG_20190809_000040b4caf4c7a029c0\"\n    }\n  },\n  \"meta\": {\n    \"status\": \"FAIL\",\n    \"code\": \"1029\",\n    \"detail\": \"[STK_CB - ]Request cancelled by user\"\n  }\n}","options":{"raw":{"language":"json"}}},"url":"https://localhost/developer_app/charges"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":""},{"id":"ea711db4-0935-4b21-bbb1-70b88f1a5b96","name":"Charge Result -  Success","originalRequest":{"method":"POST","header":[{"key":"Accept","value":"application/vnd.api+json","type":"text"},{"key":"Content-Type","value":"application/vnd.api+json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"data\": {\n    \"type\": \"payin\",\n    \"id\": \"8555-67195-1\",\n    \"attributes\": {\n      \"txn_id\": \"FDN34Y9809\",\n      \"recipient_no\": \"07181234567\",\n      \"sender_type\": \"msisdn\",\n      \"sender_no\": \"254701234567\",\n      \"amount\": 500,\n      \"txn_charge_created_at\": \"2022-07-01T11:00:49+0300\",\n      \"txn_charge_id\": \"ws_CO_27072017151044001\"\n    }\n  }\n}","options":{"raw":{"language":"json"}}},"url":"https://localhost/developer_app/charges"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":""}],"_postman_id":"5af41cb1-1c28-4a46-9bff-c7a769a5c46b"}],"id":"72e6cfeb-6dff-4ab5-b516-7ee2e43bc392","_postman_id":"72e6cfeb-6dff-4ab5-b516-7ee2e43bc392","description":""},{"name":"search","item":[{"name":"Transaction Search callback","id":"ef412d25-09b6-4459-b731-0322331649ad","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"key":"x-your-custom-header","type":"text","value":"header-value"}],"body":{"mode":"raw","raw":"{\n  \"data\": {\n    \"type\": \"search\",\n    \"id\": \"1\",\n    \"attributes\": {\n      \"response_id\": \"AG_20190417_000049de14ae0c48\",\n      \"txn_id\": \"JK34DSL0UW\",\n      \"amount\": 1222.22,\n      \"recipient_name\": \"Chalo Z\",\n      \"recipient_no_sha1\": \"5acaf092b54c5124e06746a4023c0de8ca08f22d\",\n      \"recipient_no\": \"2547*****648\",\n      \"recipient_type\": \"msisdn\",\n      \"recipient_fee\":33.00,\n      \"sender_name\": \"Safaricom Disbursement Account\",\n      \"sender_no\": \"511382\",\n      \"txn_type\": \"payout\",\n      \"category\": \"BusinessPayment\",\n      \"sender_fee\":33.00,\n      \"txn_status\": \"Authorized\",\n      \"txn_created_at\": \"2022-07-01T11:00:49+0300\"\n    }\n  }\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost/developer_app/searches","urlObject":{"protocol":"http","path":["developer_app","searches"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"153c9afb-1536-4ead-bc5e-9bfcddf0caea","name":"Transaction Search callback","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"data\": {\n    \"type\": \"search\",\n    \"id\": \"1\",\n    \"attributes\": {\n      \"response_id\": \"AG_20190417_000049de14ae0c48\",\n      \"txn_id\": \"JK34DSL0UW\",\n      \"amount\": 1222.22,\n      \"recipient_name\": \"Chalo Z\",\n      \"recipient_no_sha1\": \"5acaf092b54c5124e06746a4023c0de8ca08f22d\",\n      \"recipient_no\": \"2547*****648\",\n      \"recipient_type\": \"msisdn\",\n      \"recipient_fee\":33.00,\n      \"sender_name\": \"Safaricom Disbursement Account\",\n      \"sender_no\": \"511382\",\n      \"txn_type\": \"payout\",\n      \"category\": \"BusinessPayment\",\n      \"sender_fee\":33.00,\n      \"txn_status\": \"Authorized\",\n      \"txn_created_at\": \"2019-03-18T17:22:09+03.00\"\n    }\n  }\n}","options":{"raw":{"language":"json"}}},"url":"https://localhost/developer_app/searches"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Access-Control-Allow-Headers","value":"X-Requested-With,Content-Type,Accept,Origin"},{"key":"Access-Control-Allow-Methods","value":"*"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Encoding","value":"gzip"},{"key":"Content-Type","value":"application/vnd.api+json"},{"key":"Date","value":"Thu, 23 Apr 2020 10:04:47 GMT"},{"key":"Content-Length","value":"65"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"type\": \"search\",\n        \"id\": \"1\"\n    }\n}"}],"_postman_id":"ef412d25-09b6-4459-b731-0322331649ad"},{"name":"Balance Search callback","id":"227331a7-427c-4221-8d7f-7f86aa7a5de7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"},{"key":"x-your-custom-header","value":"header-value","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"data\": {\n    \"type\": \"search\",\n    \"id\": \"1\",\n    \"attributes\": {\n      \"response_id\": \"AG_20190808_000051f18a81f3aee279\",\n      \"txn_id\": \"NH94HBCXII\",\n      \"balance_working_ac\": 4761531.1,\n      \"balance_utility_ac\": 4761531,\n      \"balance_charges_paid_ac\": 4761531,\n      \"balance_merchant_ac\": 4761531,\n      \"balance_organization_settlement_ac\": 4761531,\n      \"checked_at\": \"2022-07-01T11:00:49+0300\"\n    }\n  }\n}","options":{"raw":{"language":"json"}}},"url":"http://localhost/developer_app/searches","urlObject":{"protocol":"http","path":["developer_app","searches"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"b2894547-d30c-4b9f-9901-dfb3e9b79465","name":"Balances Search callback","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"data\": {\n    \"type\": \"search\",\n    \"id\": \"1\",\n    \"attributes\": {\n      \"response_id\": \"AG_20190808_000051f18a81f3aee279\",\n      \"txn_id\": \"NH94HBCXII\",\n      \"balance_working_ac\": 4761531.1,\n      \"balance_utility_ac\": 4761531,\n      \"balance_charges_paid_ac\": 4761531,\n      \"balance_merchant_ac\": 4761531,\n      \"balance_organization_settlement_ac\": 4761531,\n      \"checked_at\": \"2022-07-01T11:00:49+0300\"\n    }\n  }\n}","options":{"raw":{"language":"json"}}},"url":"https://localhost/developer_app/searches"},"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"type\": \"search\",\n        \"id\": \"1\"\n    }\n}"}],"_postman_id":"227331a7-427c-4221-8d7f-7f86aa7a5de7"}],"id":"4c690b75-de4d-48ac-96c5-99c061331ee6","_postman_id":"4c690b75-de4d-48ac-96c5-99c061331ee6","description":""},{"name":"Transfer","item":[{"name":"Business Transfer to shortcode callback","id":"933902da-8ccb-4a02-85e3-67fd3db4c20d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"noauth","isInherited":false},"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/vnd.api+json"},{"key":"Accept","type":"text","value":"application/vnd.api+json"},{"key":"x-your-custom-header","type":"text","value":"header-value"}],"body":{"mode":"raw","raw":"{\n  \"data\": {\n    \"type\": \"transfer\",\n    \"id\": \"1\",\n    \"attributes\": {\n      \"txn_id\": \"NI51HBHO4D\",\n      \"response_id\": \"AG_20190905_00005f0dcb86732c611c\",\n      \"recipient_type\": \"short_code\",\n      \"recipient_name\": \"Test short_code\",\n      \"recipient_no\": \"600100\",\n      \"amount\": 10,\n      \"txn_created_at\": \"2022-07-01T11:00:49+0300\",\n      \"balance_utility_ac\": 4517632.27,\n      \"balance_working_ac\": 299825045,\n      \"reference\": \"test-id\"\n    }\n  }\n}"},"url":"http://localhost/developer_app/transfers","urlObject":{"protocol":"http","path":["developer_app","transfers"],"host":["localhost"],"query":[],"variable":[]}},"response":[{"id":"47282656-b296-4aa4-b96e-889e70007bba","name":"Failed transfer result","originalRequest":{"method":"PATCH","header":[{"key":"Content-Type","name":"Content-Type","value":"application/vnd.api+json","type":"text"},{"key":"Accept","value":"application/vnd.api+json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"data\": {\n    \"type\": \"transfer\",\n    \"id\": \"1\",\n    \"attributes\": {\n      \"txn_id\": \"NH90HBCXPM\",\n      \"response_id\": \"AG_20190809_000040b4caf4c7a029c0\"\n    }\n  },\n  \"meta\": {\n    \"status\": \"FAIL\",\n    \"detail\": \"The initiator is not allowed to initiate this request\"\n  }\n}"},"url":"https://localhost/developer_app/transfers"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Access-Control-Allow-Headers","value":"X-Requested-With,Content-Type,Accept,Origin"},{"key":"Access-Control-Allow-Methods","value":"*"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Encoding","value":"gzip"},{"key":"Content-Type","value":"application/vnd.api+json"},{"key":"Date","value":"Mon, 27 Jan 2020 13:20:48 GMT"},{"key":"Content-Length","value":"65"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"type\": \"payout\",\n        \"id\": \"1\"\n    }\n}"},{"id":"ea588b50-e5db-4009-9c0f-cd5ac0707aad","name":"Business Payment to shortcode result","originalRequest":{"method":"PATCH","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"application/vnd.api+json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"data\": {\n        \"type\": \"transfer\",\n        \"id\": \"1\",\n        \"attributes\": {\n            \"txn_id\": \"NH90HBCXPM\",\n            \"response_id\": \"AG_20190809_000040b4caf4c7a029c0\",\n            \"recipient_type\": \"short_code\",\n            \"recipient_no\": \"12348\",\n            \"recipient_name\": \"some company\",\n            \"amount\": 10,\n            \"currency\": \"KES\",\n            \"txn_created_at\": \"2022-07-01T11:00:49+0300\",\n            \"balance_working_ac\": 111745,\n            \"balance_utility_ac\": 111745,\n            \"balance_charges_paid_ac\": 111745,\n            \"reference\": \"7000\"\n        }\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://localhost/developer_app/transfers"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Access-Control-Allow-Credentials","value":"true"},{"key":"Access-Control-Allow-Headers","value":"X-Requested-With,Content-Type,Accept,Origin"},{"key":"Access-Control-Allow-Methods","value":"*"},{"key":"Access-Control-Allow-Origin","value":"*"},{"key":"Content-Encoding","value":"gzip"},{"key":"Content-Type","value":"application/vnd.api+json"},{"key":"Date","value":"Wed, 04 Dec 2019 08:42:07 GMT"},{"key":"Content-Length","value":"121"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\":{\n        \"type\": \"payout\",\n        \"id\": 1\n    }\n}"}],"_postman_id":"933902da-8ccb-4a02-85e3-67fd3db4c20d"}],"id":"6a2d93f7-d8ee-493e-8631-874f02a5565d","_postman_id":"6a2d93f7-d8ee-493e-8631-874f02a5565d","description":""}],"id":"462d6171-f9db-4e06-aa46-75d3e4878074","description":"<p>M-PESA Simulation is our internally built M-PESA <em>sandbox</em>. It allows you to test your callback endpoints outside the normal request-response-result cycle. All you need to do is to add your endpoints. Click \"Run in Postman\" to get started.</p>\n<p>Mpesa simulation provides for Mpesa callbacks that would be sent to you, the developer. You can't get a callback without the normal request-response-result cycle. So, if you want to get the look and feel of the callbacks without actually making the initial request use this collection.</p>\n<p>You should test this collection first if you are using the C2B API.</p>\n","_postman_id":"462d6171-f9db-4e06-aa46-75d3e4878074"}],"event":[{"listen":"prerequest","script":{"id":"5a68e780-ccd3-41e1-a314-656de57000a9","type":"text/javascript","exec":["var today = new Date();","var requestDate = today.toUTCString();","var apiSecret = pm.variables.get('secret');","var keyId = pm.variables.get('key');","","// set posted_at to be used in charge","pm.environment.set('posted_at', today.toISOString());","","// prepare request headers","pm.environment.set('date', requestDate);","","// prepare signature string","var signatureContentString = 'date: ' + requestDate;","","// sha-1 encode signature","var sigString = CryptoJS.HmacSHA1(signatureContentString, apiSecret);","","var signatureString = encodeURIComponent(CryptoJS.enc.Base64.stringify(sigString));","","pm.environment.set(\"signatureString\", signatureString);","pm.environment.set(\"keyId\", keyId);",""]}},{"listen":"test","script":{"id":"708617a5-73c3-445b-8d75-b7c77322ffce","type":"text/javascript","exec":[""]}}],"variable":[{"key":"url","value":"https://tryapi.quikk.dev","type":"string"},{"key":"key","value":"","type":"string"},{"key":"secret","value":"","type":"string"}]}