{"info":{"_postman_id":"0c51a59a-bed0-464a-a163-abc3a5fa86e5","name":"Payfluid Public API","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[],"description":"<html><head></head><body></body></html>","owner":"1587357","collectionId":"0c51a59a-bed0-464a-a163-abc3a5fa86e5","publishedId":"SWDzdLcg","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"EF5B25"},"publishDate":"2019-11-30T07:03:56.000Z"},"item":[{"name":"Create Secure Zone","id":"8913f1e9-36b0-4fe7-9b4a-19c500d28557","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"id","value":"MDQwNDA0MDU="},{"key":"apiKey","value":"dBlGB5/d3MDSY3wTopUySCh3Zubi3xNH75eALZaEJuJgFdWqSsyl8uEkH4oL6Xg/QvDRPiv18DJtfEQat8byTw=="}],"body":{"mode":"raw","raw":"{\n    \"cmd\": \"getSecureParams\",\n    \"datetime\": \"20191130073759324\",\n    \"mobile\": \"25580774744\"\n}"},"url":"https://payfluid-api.herokuapp.com/payfluid/ext/api/secureCredentials","description":"<p><strong>API Endpoint</strong></p>\n<p><a href=\"https://payfluid-api.herokuapp.com/payfluid/ext/api/secureCredentials\">https://payfluid-api.herokuapp.com/payfluid/ext/api/secureCredentials</a></p>\n<p><strong>Payfluid API Integration Support</strong></p>\n<p><a href=\"https://chat.whatsapp.com/E2p2JOqhdQ24jDUVJR5TrO\">https://chat.whatsapp.com/E2p2JOqhdQ24jDUVJR5TrO</a></p>\n<p><a href=\"https://join.skype.com/p0aXwBDj3h6w\">https://join.skype.com/p0aXwBDj3h6w</a></p>\n<p><strong>API Objective</strong></p>\n<p>The API is used to create a secure zone channel between the client integrator and the server. Security credentials to be used in subsequent API calls are delivered in the feedback of this call</p>\n<p><strong>Request Header</strong></p>\n<ul>\n<li><p><em>apiKey</em> - This is the login parameter value supplied to client <strong>plus</strong> the current date time value (<strong>yyyyMMddHHmmssSSS</strong>) delimited with a full stop (<strong>.</strong>) . The login value is encrypted with RSA algorithm using the public RSA key supplied to client. The resultant value is set as the apiKey in the request header</p>\n</li>\n<li><p><em>id</em> - This is a unique identifier of the client initiating requests. The value would be supplied to client. It is set as a base64 string</p>\n</li>\n</ul>\n<p><strong>Request Body</strong></p>\n<blockquote>\n<p>The request body is a parseabe json string with the following tag</p>\n</blockquote>\n<ul>\n<li><p><em>cmd</em> - The value is static and set as \"getSecureParams\"</p>\n</li>\n<li><p><em>datetime</em> - The datetime value in format <strong>yyyyMMddHHmmssSSS</strong></p>\n<ul>\n<li>yyyy - Year</li>\n<li>MM - Month</li>\n<li>dd - Day</li>\n<li>HH - 24 hours format</li>\n<li>mm - Minute</li>\n<li>ss - Second</li>\n<li>SSS - Millisecond</li>\n</ul>\n</li>\n</ul>\n<p><strong>API Request Sample</strong></p>\n<p><em>Request Header</em></p>\n<p><i>id =  MDQwNDA0MDU=</i></p>\n<p><i>apiKey</i> = dBlGB5/d3MDSY3wTopUySCh3Zubi3xNH75eALZaEJuJgFdWqSsyl8uEkH4oL6Xg/QvDRPiv18DJtfEQat8byTw==</p>\n<p><i>Content-Type</i> = application/json</p>\n<p><em>Request Body</em></p>\n<code>\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n    \"cmd\": \"getSecureParams\",\n    \"datetime\": \"20191130073759324\",\n    \"mobile\": \"25580774744\" \n}\n</code></pre></code>\n\n<blockquote>\n<p><strong>NOTE:</strong></p>\n</blockquote>\n<ol>\n<li>The API login key would be supplied to client at start of integration</li>\n<li>The id value identifying the client would also be supplied</li>\n<li>The RSA public key to be used for encrypting the API login key would also be supplied to the client</li>\n<li>The client is expected to provide the server IP from which request are to be sent from for the purpose of whitelisting</li>\n</ol>\n<p><strong>Response Header</strong></p>\n<ul>\n<li><em>kek</em> - This contains the security parameters that will be used for securing subsequent requests. The value is separated by a full stop delimeter.</li>\n</ul>\n<blockquote>\n<p>The first segment is the dynamic RSA public key expected to be used for encrypting the data set as the signature header in subsequent request</p>\n<p>The second segment is a 32 bit data that is to be used as SHA-256 key/salt when hashing subsequent request payload values.</p>\n</blockquote>\n<p><strong>Response Body</strong></p>\n<blockquote>\n<p>The response body is also a parseable json string</p>\n</blockquote>\n<ul>\n<li><p><em>session</em> - This is a dynamic session id value that is expected to be sent in subsequent request.</p>\n</li>\n<li><p><em>kekExpiry</em> - The elaspse time the RSA public key can remain valid and active. Any request sent after this elapse time would result into a format error. </p>\n</li>\n<li><p><em>macExpiry</em> - The elaspse time the 32 bit for SHA-256 hashing can remain valid and active. Any request sent after this elapse time would result into a format error.</p>\n</li>\n<li><p><em>approvalCode</em> - A server generated code to show request was approved by upstream server</p>\n</li>\n</ul>\n<p><strong>API Response Sample</strong></p>\n<p><em>Response Header</em></p>\n<p><i>kek</i> = MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQC1ADV8mcXej4Kpx/e1F6colTamw3s9zrs+XwLfgv+dEyqhb3Mnqm9DH13M9crZEfRUTHYVcDGuG+QldMrPtdLl44Fdz8GNoigquKLZBnLd7iqArfQ/N8QE6ms79uWSu4XMySuMf/AJgDgi8zQXhEX92384yZSaajlLtxWfldRusQIDAQAB.33113ccaee62c90c575a8cffef65ca90</p>\n<p><em>Response Body</em></p>\n<code>\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{ \n      \"approvalCode\":\"509338\",\n      \n      \"cmd\":\"getSecureParams\",\n      \n      \"datetime\":\"2019-11-21T17:19:35.272Z\",\n      \n      \"kekExpiry\":120000,\n      \n      \"macExpiry\":7000,\n      \n      \"resultCode\":\"00\",\n      \n      \"resultMessage\":\"Secure credentials created\",\n      \n      \"session\":\"cb01d865-b23d-4b44-a082-cb2529b92b04\"\n}\n</code></pre></code>\n\n<blockquote>\n<h2 id=\"response-codes\">Response Codes</h2>\n<ul>\n<li>00 - Secure credentials created</li>\n<li>12 - Invalid { request source, datetime, datetime format, key, Operation }</li>\n<li>06 - Error at Login</li>\n<li>13 - Invalid Merchant</li>\n</ul>\n</blockquote>\n<blockquote>\n<h2 id=\"test-parameter\">Test Parameter</h2>\n<ul>\n<li>id - 04040405</li>\n<li>RSA public key - MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAI8LN/AC3XOz23O7v/de/jbYFQYrbeFqQVaIYpFRIR+YSCWfHlcl3PNKy7Vniq+rWG8KPN8uw2RUU/1qvoZP3xsCAwEAAQ==</li>\n<li>login parameter - 781e5e245d69b566979b86e28d23f2c7</li>\n</ul>\n</blockquote>\n","urlObject":{"protocol":"https","path":["payfluid","ext","api","secureCredentials"],"host":["payfluid-api","herokuapp","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"8913f1e9-36b0-4fe7-9b4a-19c500d28557"},{"name":"Get Payment Link","id":"3b4e3a30-4714-4d21-a53a-1ca938618ede","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"signature","value":"jekHqR2yf2DLtSdW0crOJsdXzF+DwBftNggv5XCyGH9Reiggb7OtyGn8mb0Mz6BEZADH05sywISIGUrq9ZX1DdtkIi48Av1n0zbaL53jq5OUHqzSgF5sA1MDmIkAbTM60UTnWT8hNONJf98VcGK9gGm8K6YVvN36r2+v0RLCLZE="}],"body":{"mode":"raw","raw":"{\n    \"amount\": 1,\n    \"currency\": \"GHS\",\n    \"datetime\": \"2019-11-21T17:19:36.021Z\",\n    \"descr\": \"testn2\",\n    \"email\": \"biodunolrj@gmail.com\",\n    \"lang\": \"en\",\n    \"mobile\": \"9412274444\",\n    \"name\": \"Abiodun Taiwo\",\n    \"otherInfo\": \"cb01d865-b23d-4b44-a082-cb2529b92b04\",\n    \"reference\": \"77333\",\n    \"responseRedirectURL\": \"http://localhost:8089/#/client\",\n    \"session\": \"cb01d865-b23d-4b44-a082-cb2529b92b04\",\n    \"trxStatusCallbackURL\": \"http://payfluid.herokuapp.com/payfluid/ext/api/cupay\"\n}"},"url":"https://payfluid-api.herokuapp.com/payfluid/ext/api/getPayLink","description":"<p><strong>API Endpoint</strong></p>\n<p><a href=\"https://payfluid-api.herokuapp.com/payfluid/ext/api/getPayLink\">https://payfluid-api.herokuapp.com/payfluid/ext/api/getPayLink</a></p>\n<p><strong>Payfluid API Integration Support</strong></p>\n<p><a href=\"https://chat.whatsapp.com/E2p2JOqhdQ24jDUVJR5TrO\">https://chat.whatsapp.com/E2p2JOqhdQ24jDUVJR5TrO</a></p>\n<p><a href=\"https://join.skype.com/p0aXwBDj3h6w\">https://join.skype.com/p0aXwBDj3h6w</a></p>\n<p><strong>API Objective</strong></p>\n<p>The API is used to submit customer's payment request to the server. Customer's details are correctly passed to payment server as created or profiled on merchant's system. </p>\n<p>The result of this call if correctly processed is the release of a payment link associated with the transaction.</p>\n<p>The client integrator can proceed to open the payment link/URL on customers browser for customer to effect payment. The payment link calso be delivered to customer to effect payment at a later time or customer's convenience.</p>\n\n<p><strong>Request Header</strong></p>\n<ul>\n<li><em>signature</em> - This is a digital signature set on the header of getPayLink request. The signature value is an RSA encryption of the SHA-256 hash of all the json request body values in an alphabetical order of the json keys. <p>The RSA public key to use for the encryption and 32 bit SHA-256 hashing key is used as received in the preceding createSecureZones response</p></li>\n</ul>\n<p><strong>Request Body</strong></p>\n<blockquote>\n<p>The request body is a parseabe json string with the following tag</p>\n</blockquote>\n<ul>\n<li><p><em>amount</em> - (Mandatory) The exact transaction amount value expected to be charged the customer.</p>\n</li>\n<li><p><em>currency</em> - (Mandatory) The ISO currency code. e.g. GHS</p>\n</li>\n<li><p><em>datetime</em> - (Mandatory) The date time transaction was created and sent by the client. Its format is yyyy-MM-ddThh:mm:ss.SSSZ</p>\n</li>\n<li><p><em>descr</em> - (Optional) The narration or description of the purchase made on client store or cat. It sgould not be more than 40 characters</p>\n</li>\n<li><p><em>email</em> - (Mandatory) The email of customer as maintained on client platform</p>\n</li>\n<li><p><em>lang</em> - (Mandatory) The language in which the payment platform should serve the customer. Acceptable values include \"en\", \"fr\"</p>\n</li>\n<li><p><em>mobile</em> - (Mandatory) The mobile number of customer as maintained on client platform. This is preferred in international format</p>\n</li>\n<li><p><em>name</em> - (Mandatory) The names of customer making the purchase</p>\n</li>\n<li><p><em>otherInfo</em> - (Optional) Any other information the client want to be sent to the payment platform</p>\n</li>\n<li><p><em>reference</em> - (Mandatory) An alphanumeric identification and tracing value associated to the customers transaction. It should not be more than 10 characters and its expected to be unique when sent to the payment server</p>\n</li>\n<li><p><em>responseRedirectURL</em> - (Mandatory) This is the client URL where the payment server would redirect to inorder to deliver the status of customer's transaction. It is expected that the details of the feedback would be verified and used to issue receipt or purchase value to customer.</p>\n</li>\n<li><p><em>session</em> - (Mandatory) The unique id received from payment server and expected to be used for the creation of the payment request</p>\n</li>\n<li><p><em>trxStatusCallbackURL</em> - (Optional) This is the client backend URL that the payment server would push the transaction status to. This serves the purpose of double PUSH confirmation and also for payments that were done out of trackable session on client platform. It should be different from \"responseRedirectURL\"</p>\n</li>\n<li><p><em>customTxn</em> - (Optional) This field exposes the power, dynamism and flexibility of Payfluid platform by handing over control to the integrator as to how the behaviour of the payment link generated is to be. Integrator can overide much of payment link properties to suit their taste and application use case.</p>\n</li>\n</ul>\n<blockquote>\n<p>The field takes a json parsable object with the following properties;</p>\n</blockquote>\n<blockquote>\n<blockquote>\n<p><strong>editAmt</strong> - This gives the payer of a payment link the opputunity to change and decide the amount to pay.</p>\n</blockquote>\n</blockquote>\n<blockquote>\n<blockquote>\n<p><strong>minAmt</strong> - Integrator can set and enforce a minimum amount that can be paid by the payer.</p>\n</blockquote>\n</blockquote>\n<blockquote>\n<blockquote>\n<p><strong>maxAmt</strong> - Integrator can set and enforce a maximum amount that can be paid by the payer.</p>\n</blockquote>\n</blockquote>\n<blockquote>\n<blockquote>\n<p><strong>borderTheme</strong> - Used to overideand customise the colour theme of the payment page seen by the payer.</p>\n</blockquote>\n</blockquote>\n<blockquote>\n<blockquote>\n<p><strong>receiptSxMsg</strong> - Used to overide and customise the receipt message that is displayed to the payer upon successful payment.</p>\n</blockquote>\n</blockquote>\n<blockquote>\n<blockquote>\n<p><strong>receiptFeedbackPhone</strong> - Used to overide and customise the merchant's phone number to be displayed on the receipt.</p>\n</blockquote>\n</blockquote>\n<blockquote>\n<blockquote>\n<p><strong>receiptFeedbackEmail</strong> - Used to overide and customise the merchant's email address to be displayed on the receipt.</p>\n</blockquote>\n</blockquote>\n<blockquote>\n<blockquote>\n<p><strong>payLinkExpiryInDays</strong> - Used to overide and customise the number of days generated payment link should remain active before its expired by the system. The default is 3 days.</p>\n</blockquote>\n</blockquote>\n<blockquote>\n<blockquote>\n<p><strong>payLinkCanPayMultipleTimes</strong> - Used to overide the default behaviour of a generated payment link that gets closed by the system after a successful payment attempt. Setting this option to true, leaves the payment link open to accept multiple payment request from different payers. This is particularly useful for use cases that involves donation, church payments etc.</p>\n</blockquote>\n</blockquote>\n<blockquote>\n<blockquote>\n<p><strong>displayPicture</strong> - Used to overide and customise the default display picture setup for merchant or clients. This personifies the Payfluid payment page and makes payer comfortable to pay the sender of the payment link. This is useful for cases of remittance from abroad or to recieve payment for goods and services rendered locally.</p>\n</blockquote>\n</blockquote>\n<blockquote>\n<blockquote>\n<p><strong>xtraCustomerInput</strong> - This field is used to collect extra information from the payer of a payment link. Up to 3 different information can be requested. It is a json array object signifying the properties of what is to be seen and collected.</p>\n</blockquote>\n</blockquote>\n<blockquote>\n<blockquote>\n<blockquote>\n<ul>\n<li><strong>Example</strong></li>\n</ul>\n</blockquote>\n</blockquote>\n</blockquote>\n<code>\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>    {\n    \n        \"editAmt\":true,\n        \n        \"minAmt\":5.00,\n        \n        \"maxAmt\":1500.50,\n        \n        \"borderTheme\":\"#9c27b0\",\n        \n        \"receiptSxMsg\":\"Please login to www.nestle.com, type in your payment reference number to download your order form. Contact the below number if there are any challenges\",\n        \n        \"receiptFeedbackPhone\":\"233241234567\",\n        \n        \"receiptFeedbackEmail\":\"order@nestle.com\",\n        \n        \"payLinkExpiryInDays\":15,\n        \n        \"payLinkCanPayMultipleTimes\":true,\n        \n        \"displayPicture\":\"https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcSQbozpnBbX46cLB7OrTw977TArZ1jIDExRBolJxBXf8dVMjSId--SxEA\",\n        \n        \"xtraCustomerInput\": [\n            {\n                \"label\":\"Church Membership ID\",\n                \"placeHolder\":\"Membership ID #\",\n                \"type\":\"input\",\n                \"options\":[{\"k\":\"\",\"v\":\"\"}],\n                \"required\":true\n            },\n            {\n                \"label\":\"Offering Type\",\n                \"placeHolder\":\"Offering Type2\",\n                \"type\":\"select\",\n                \"options\": [\n                    {\n                        \"k\":\"firstfruit\",\n                        \"v\":\"First Fruit\"\n                    },\n                    {\n                        \"k\":\"tithe\",\n                        \"v\":\"Tithe\"\n                    },\n                    {\n                        \"k\":\"harvest\",\n                        \"v\":\"Harvest\"\n                    }\n                ],\n                \"required\":true\n            }\n        ]\n    }\n    \n</code></pre></code>\n\n<p><strong>API Request Sample</strong></p>\n<p><em>Request Header</em></p>\n<p><i>signature</i> = jekHqR2yf2DLtSdW0crOJsdXzF+DwBftNggv5XCyGH9Reiggb7OtyGn8mb0Mz6BEZADH05sywISIGUrq9ZX1DdtkIi48Av1n0zbaL53jq5OUHqzSgF5sA1MDmIkAbTM60UTnWT8hNONJf98VcGK9gGm8K6YVvN36r2+v0RLCLZE=</p>\n<p><i>Content-Type</i> = application/json</p>\n<p><em>Request Body</em></p>\n<code>\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n    \n      \"amount\":1.0,\n      \n      \"currency\":\"GHS\",\n      \n      \"datetime\":\"2019-11-21T17:19:36.021Z\",\n      \n      \"descr\":\"testn2\",\n      \n      \"email\":\"biodunolrj@gmail.com\",\n      \n      \"lang\":\"en\",\n      \n      \"mobile\":\"9412274444\",\n      \n      \"name\":\"Abiodun Taiwo\",\n      \n      \"otherInfo\":\"cb01d865-b23d-4b44-a082-cb2529b92b04\",\n      \n      \"reference\":\"77333\",\n      \n      \"responseRedirectURL\":\"http://mywebsite.com/payResponse\",\n      \n      \"session\":\"cb01d865-b23d-4b44-a082-cb2529b92b04\",\n      \n      \"trxStatusCallbackURL\":\"http://mywebsite.com/backendProcess\",\n      \n      \"customTxn\": {}\n  \n}\n</code></pre></code>\n\n\n<p><strong>Response Header</strong></p>\n<p><em>Not Available</em></p>\n<p><strong>Response Body</strong></p>\n<blockquote>\n<p>The response body is also a parseable json string</p>\n</blockquote>\n<ul>\n<li><p><em>approvalCode</em> - A server generated code to show request was approved by upstream server</p>\n</li>\n<li><p><em>result_code</em> - Status code signifying the state of the transaction</p>\n</li>\n<li><p><em>result_message</em> - Status message stating the meaning of the result_code</p>\n</li>\n<li><p><em>webURL</em> - The generated payment link for the transaction. It should be automatically open on the browser for customer to complete the payment</p>\n</li>\n<li><p><em>session</em> - The session number that created the transaction as echoed</p>\n</li>\n</ul>\n<p><strong>API Response Sample</strong></p>\n<p><em>Response Header</em></p>\n<p>Not Available</p>\n<p><em>Response Body</em></p>\n<code>\n\n<p>  {</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>    \"approvalCode\":\"566546\",\n    \n    \"result_message\":\"Processed Successfully\",\n    \n    \"webURL\":\"https://payfluid.herokuapp.com/#/pay/LS9iw8D\",\n    \n    \"session\":\"cb01d865-b23d-4b44-a082-cb2529b92b04\",\n    \n    \"result_code\":\"00\"\n    \n</code></pre><p>  }\n</p></code><p></p>\n<blockquote>\n<h2 id=\"response-codes\">Response Codes</h2>\n<ul>\n<li>00 - Processed Successfully</li>\n<li>96 - System Malfunction, Paylink creation problem</li>\n<li>30 - Format error, Invalid signature :</li>\n<li>13 - Invalid Parameter, Missing Parameter(s)</li>\n<li>94 - Duplicate transmission: client duplicate reference</li>\n<li>12 - Invalid Request, No login session or elapsed session</li>\n<li>52 - Invalid Request, No mandatory session id</li>\n</ul>\n</blockquote>\n","urlObject":{"protocol":"https","path":["payfluid","ext","api","getPayLink"],"host":["payfluid-api","herokuapp","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"3b4e3a30-4714-4d21-a53a-1ca938618ede"},{"name":"Payment Status Feedback","id":"ad51284e-a72c-49f6-a412-e5768ca5c777","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://mywebsite.com/qs=","description":"<p><strong>API Endpoint</strong></p>\n<p><a href=\"http://mywebsite.com/\">http://mywebsite.com/</a></p>\n<p>This is the client server endpoint as provided in the \"responseRedirectURL\" json tag of \"GetPaymentLink\" API call</p>\n\n\n<p><strong>API Objective</strong></p>\n<p>The API is used to submit customer's payment status on Payfluid payment engine back to the client website or platform immediately after transaction is concluded. The Payfluid platform does a redirection to the provided URL</p>\n<p><strong>Request Header</strong></p>\n<p>Not Available</p>\n<p><strong>Request Body</strong></p>\n<blockquote>\n<p>The request body is a json parsable string contained in the \"qs\" query string with the following parameters</p>\n</blockquote>\n<ul>\n<li><p><em>aapf_txn_amt</em> - The exact transaction amount value that was charged to the customer.</p>\n</li>\n<li><p><em>aapf_txn_clientRspRedirectURL</em> - The response page redirect URL that was provided in \"GetPaymentLink\" API echoed</p>\n</li>\n<li><p><em>aapf_txn_clientTxnWH</em> - The backend notification URL that was provided in \"GetPaymentLink\" API echoed</p>\n</li>\n<li><p><em>aapf_txn_cref</em> - The client unique transaction reference provided in \"GetPaymentLink\" API echoed</p>\n</li>\n<li><p><em>aapf_txn_currency</em> - The transaction currency with which the customer was charged</p>\n</li>\n<li><p><em>aapf_txn_datetime</em> - The date and time payment was made on Payfluid payment server</p>\n</li>\n<li><p><em>aapf_txn_gw_ref</em> - The generated reference associated to transaction as was processed at the upstream processor</p>\n</li>\n<li><p><em>aapf_txn_gw_sc</em> - The error code and error message delimited by an hypen as received from the upstream processor</p>\n</li>\n<li><p><em>aapf_txn_maskedInstr</em> - The payment particular tat customer used to effect the transaction. The detail is masked</p>\n</li>\n<li><p><em>aapf_txn_payLink</em> - The payment link code or reference for this transaction on Payfluid platform</p>\n</li>\n<li><p><em>aapf_txn_payScheme</em> - The scheme type used for transaction payment by customer</p>\n</li>\n<li><p><em>aapf_txn_ref</em> - The unique reference associated with transaction on the Payfluid platform</p>\n</li>\n<li><p><em>aapf_txn_sc</em> - The error code for transaction on Payfluid platform</p>\n</li>\n<li><p><em>aapf_txn_sc_msg</em> - The error message for transaction on Payfluid platform</p>\n</li>\n<li><p><em>aapf_txn_signature</em> - The digital signature stamp on the transaction feedback as relayed back to the client. It is a SHA-256 value.<br /></p>\n<p>It is COMPULSORY for client integrator to VALIDATE and CONFIRM that this digital signature is valid and correct before the issuance of receipt or purchase value to customer.</p><br /></li>\n</ul>\n<p>\n**PAYFLUID WOULD NOT BE LIABLE FOR ANY LIABILITY INCURRED DUE TO THE INTEGRATOR'S FAILURE TO VALIDATE THIS SIGNATURE**\n</p>\n<br />\n\n<p>The data is the SHA-256 value of all the query string parameters arranged in alphabetical order with the MD5 of the  \"session\" value received at \"CreateSecureZones\" as the HMAC-SHA-256 key/salt</p>\n\n\n\n\n<p><strong>API Request Sample</strong></p>\n<p><em>Request Header</em></p>\n<p>Not Available</p>\n<p><em>Request Body</em></p>\n<code>\n    \n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>?qs=\n{\n      \"aapf_txn_amt\":49.0,\n      \"aapf_txn_clientRspRedirectURL\":\"http%253A%252F%252Flocalhost%253A8089%252F%2523%252Fclient\",\n      \"aapf_txn_clientTxnWH\": \"NA\",\n      \"aapf_txn_cref\": \"20994\",\n      \"aapf_txn_currency\": \"XOF\",\n      \"aapf_txn_datetime\": \"2019%2F11%2F24+12%3A27%3A05\",\n      \"aapf_txn_gw_ref\": \"932822596706\",\n      \"aapf_txn_gw_sc\": \"0-Approved\",\n      \"aapf_txn_maskedInstr\": \"555555******4444\",\n      \"aapf_txn_payLink\": \"3F3guaB\",\n      \"aapf_txn_payScheme\": \"MASTERCARD\",\n      \"aapf_txn_ref\": \"6e72-41d5-bda8-f30d3db4fa\",\n      \"aapf_txn_sc\": \"0\",\n      \"aapf_txn_sc_msg\": \"Approved\",\n      \"aapf_txn_signature\":\"014058BED63B9FCA0F9B1F9C7D0407AEA68994A462C33D276A1F5A47AFD52FF7\"\n}\n</code></pre></code>\n\n\n<p><strong>Response Header</strong></p>\n<p><em>Not Available</em></p>\n<p><strong>Response Body</strong></p>\n<p>Not Applicable</p>\n<blockquote>\n<p>The client server is ONLY expected to acknowledge with an http status code of 200</p></blockquote>\n","urlObject":{"protocol":"http","path":["qs="],"host":["mywebsite","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"ad51284e-a72c-49f6-a412-e5768ca5c777"},{"name":"Payment Status Notification","id":"068a5382-bc1e-48a6-a6ba-3af79ed9c027","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{\n  \"aapf_txn_amt\":49.0,\n  \"aapf_txn_clientRspRedirectURL\":\"http%253A%252F%252Flocalhost%253A8089%252F%2523%252Fclient\",\n  \"aapf_txn_clientTxnWH\": \"NA\",\n  \"aapf_txn_cref\": \"20994\",\n  \"aapf_txn_currency\": \"XOF\",\n  \"aapf_txn_datetime\": \"2019%2F11%2F24+12%3A27%3A05\",\n  \"aapf_txn_gw_ref\": \"932822596706\",\n  \"aapf_txn_gw_sc\": \"0-Approved\",\n  \"aapf_txn_maskedInstr\": \"555555******4444\",\n  \"aapf_txn_payLink\": \"3F3guaB\",\n  \"aapf_txn_payScheme\": \"MASTERCARD\",\n  \"aapf_txn_ref\": \"6e72-41d5-bda8-f30d3db4fa\",\n  \"aapf_txn_sc\": \"0\",\n  \"aapf_txn_sc_msg\": \"Approved\",\n  \"aapf_txn_signature\":\"014058BED63B9FCA0F9B1F9C7D0407AEA68994A462C33D276A1F5A47AFD52FF7\"\n}"},"url":"http://mywebsite.com/","description":"<p><strong>API Endpoint</strong></p>\n<p><a href=\"http://mywebsite.com/\">http://mywebsite.com/</a></p>\n<p>This is the client server endpoint as provided in the \"trxStatusCallbackURL\" json tag of \"GetPaymentLink\" API call</p>\n\n\n<p><strong>API Objective</strong></p>\n<p>The API is used to notify the client platform on the status of transaction done by customer whether successful or failed. The notification would be sent until an http status code of 200 is received. This would assist as a double confirmation on the status of transaction and also allow client to be notified for those payment made outside of website trackable session</p>\n<p><strong>Request Header</strong></p>\n<p>Not Available</p>\n<p><strong>Request Body</strong></p>\n<blockquote>\n<p>The request body is a parsable json string with the following parameters</p>\n</blockquote>\n<ul>\n<li><p><em>aapf_txn_amt</em> - The exact transaction amount value that was charged to the customer.</p>\n</li>\n<li><p><em>aapf_txn_clientRspRedirectURL</em> - The response page redirect URL that was provided in \"GetPaymentLink\" API echoed</p>\n</li>\n<li><p><em>aapf_txn_clientTxnWH</em> - The backend notification URL that was provided in \"GetPaymentLink\" API echoed</p>\n</li>\n<li><p><em>aapf_txn_cref</em> - The client unique transaction reference provided in \"GetPaymentLink\" API echoed</p>\n</li>\n<li><p><em>aapf_txn_currency</em> - The transaction currency with which the customer was charged</p>\n</li>\n<li><p><em>aapf_txn_datetime</em> - The date and time payment was made on Payfluid payment server</p>\n</li>\n<li><p><em>aapf_txn_gw_ref</em> - The generated reference associated to transaction as was processed at the upstream processor</p>\n</li>\n<li><p><em>aapf_txn_gw_sc</em> - The error code and error message delimited by an hypen as received from the upstream processor</p>\n</li>\n<li><p><em>aapf_txn_maskedInstr</em> - The payment particular tat customer used to effect the transaction. The detail is masked</p>\n</li>\n<li><p><em>aapf_txn_payLink</em> - The payment link code or reference for this transaction on Payfluid platform</p>\n</li>\n<li><p><em>aapf_txn_payScheme</em> - The scheme type used for transaction payment by customer</p>\n</li>\n<li><p><em>aapf_txn_ref</em> - The unique reference associated with transaction on the Payfluid platform</p>\n</li>\n<li><p><em>aapf_txn_sc</em> - The error code for transaction on Payfluid platform</p>\n</li>\n<li><p><em>aapf_txn_sc_msg</em> - The error message for transaction on Payfluid platform</p>\n</li>\n<li><p><em>aapf_txn_signature</em> - The digital signature stamp on the transaction feedback as relayed back to the client. It is a SHA-256 value.<br /></p>\n<p>It is COMPULSORY for client integrator to validate and confirm that this digital signature is valid and correct before the issuance of receipt or purchase value to customer</p><br /></li>\n</ul>\n<p>\n**PAYFLUID WOULD NOT BE LIABLE FOR ANY LIABILITY INCURRED DUE TO THE INTEGRATOR'S FAILURE TO VALIDATE THIS SIGNATURE**\n</p>\n<br />\n\n<p>The data is the HMAC-SHA-256 value of all the query string parameters arranged in alphabetical order with the MD5 of the  \"session\" value received at \"CreateSecureZones\" as the HMAC-SHA-256 key/salt</p>\n\n\n\n<p><strong>API Request Sample</strong></p>\n<p><em>Request Header</em></p>\n<p>Not Available</p>\n<p><em>Request Body</em></p>\n<code>\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n      \"aapf_txn_amt\":49.0,\n      \n      \"aapf_txn_clientRspRedirectURL\":\"http%253A%252F%252Flocalhost%253A8089%252F%2523%252Fclient\",\n      \n      \"aapf_txn_clientTxnWH\": \"NA\",\n      \n      \"aapf_txn_cref\": \"20994\",\n      \n      \"aapf_txn_currency\": \"XOF\",\n      \n      \"aapf_txn_datetime\": \"2019%2F11%2F24+12%3A27%3A05\",\n      \n      \"aapf_txn_gw_ref\": \"932822596706\",\n      \n      \"aapf_txn_gw_sc\": \"0-Approved\",\n      \n      \"aapf_txn_maskedInstr\": \"555555******4444\",\n      \n      \"aapf_txn_payLink\": \"3F3guaB\",\n      \n      \"aapf_txn_payScheme\": \"MASTERCARD\",\n      \n      \"aapf_txn_ref\": \"6e72-41d5-bda8-f30d3db4fa\",\n      \n      \"aapf_txn_sc\": \"0\",\n      \n      \"aapf_txn_sc_msg\": \"Approved\",\n      \n      \"aapf_txn_signature\":\"014058BED63B9FCA0F9B1F9C7D0407AEA68994A462C33D276A1F5A47AFD52FF7\"\n      \n}\n</code></pre></code>\n\n\n<p><strong>Response Header</strong></p>\n<p><em>Not Available</em></p>\n<p><strong>Response Body</strong></p>\n<p>Not Applicable</p>\n<blockquote>\n<p>The client server is ONLY expected to acknowledge with an http status code of 200</p></blockquote>\n","urlObject":{"protocol":"http","path":[""],"host":["mywebsite","com"],"query":[],"variable":[]}},"response":[],"_postman_id":"068a5382-bc1e-48a6-a6ba-3af79ed9c027"},{"name":"Payment Reference Status Check","id":"6053d3e9-6422-4df1-a5ab-94801ac6a68d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"payReference","value":"324436877","type":"text"}],"url":"https://www.payoutlet.com.gh/payfluid/ext/api/status?msg","description":"<p><strong>API Endpoint</strong></p>\n<p><a href=\"https://payfluid-api.herokuapp.com/payfluid/ext/api/status?msg\">https://payfluid-api.herokuapp.com/payfluid/ext/api/status?msg</a></p>\n<p>This is the server endpoint to be used in order to retreive and confirm the status of a previously pre-created transaction in \"GetPaymentLink\" API function</p>\n\n\n<p><strong>API Objective</strong></p>\n<p>The API is used to by integrator to confirm the status of a payment reference.</p>\n<p><strong>Request Header</strong></p>\n<blockquote>\n<p>The request has an header named \"payReference\"</p>\n</blockquote>\n<ul>\n<li><em>payReference</em> - This is the payment reference received in the \"webURL\" field of \"GetPaymentLink\" API. The value after the last forward slash</li>\n</ul>\n<p><strong>Request Body</strong></p>\n<blockquote>\n<p>No request body is required</p>\n</blockquote>\n<p><strong>Response Header</strong></p>\n<p><em>Not Available</em></p>\n<p><strong>Response Body</strong></p>\n<ul>\n<li><p><em>aapf_txn_amt</em> - The exact transaction amount value that was charged to the customer.</p>\n</li>\n<li><p><em>aapf_txn_clientRspRedirectURL</em> - The response page redirect URL that was provided in \"GetPaymentLink\" API echoed</p>\n</li>\n<li><p><em>aapf_txn_clientTxnWH</em> - The backend notification URL that was provided in \"GetPaymentLink\" API echoed</p>\n</li>\n<li><p><em>aapf_txn_cref</em> - The client unique transaction reference provided in \"GetPaymentLink\" API echoed</p>\n</li>\n<li><p><em>aapf_txn_currency</em> - The transaction currency with which the customer was charged</p>\n</li>\n<li><p><em>aapf_txn_datetime</em> - The date and time payment was made on Payfluid payment server</p>\n</li>\n<li><p><em>aapf_txn_gw_ref</em> - The generated reference associated to transaction as was processed at the upstream processor</p>\n</li>\n<li><p><em>aapf_txn_gw_sc</em> - The error code and error message delimited by an hypen as received from the upstream processor</p>\n</li>\n<li><p><em>aapf_txn_maskedInstr</em> - The payment particular tat customer used to effect the transaction. The detail is masked</p>\n</li>\n<li><p><em>aapf_txn_payLink</em> - The payment link code or reference for this transaction on Payfluid platform</p>\n</li>\n<li><p><em>aapf_txn_payScheme</em> - The scheme type used for transaction payment by customer</p>\n</li>\n<li><p><em>aapf_txn_ref</em> - The unique reference associated with transaction on the Payfluid platform</p>\n</li>\n<li><p><em>aapf_txn_sc</em> - The error code for transaction on Payfluid platform</p>\n</li>\n<li><p><em>aapf_txn_sc_msg</em> - The error message for transaction on Payfluid platform</p>\n</li>\n<li><p><em>aapf_txn_signature</em> - The digital signature stamp on the transaction feedback as relayed back to the client. It is a SHA-256 value.<br /></p>\n<p>It is COMPULSORY for client integrator to VALIDATE and CONFIRM that this digital signature is valid and correct before the issuance of receipt or purchase value to customer. </p><br />\n<p>\n**PAYFLUID WOULD NOT BE LIABLE FOR ANY LIABILITY INCURRED DUE TO THE INTEGRATOR'S FAILURE TO VALIDATE THIS SIGNATURE**\n</p>\n<br /></li>\n</ul>\n<p>The data is the SHA-256 (HMAC) value of all the query string parameters arranged in alphabetical order with the MD5 of  \"session\" value received at \"CreateSecureZones\" as the HMAC-SHA-256 key/salt</p>\n\n\n<code>\n\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n\n      \"aapf_txn_amt\":49.0,\n      \n      \"aapf_txn_clientRspRedirectURL\":\"http%253A%252F%252Flocalhost%253A8089%252F%2523%252Fclient\",\n      \n      \"aapf_txn_clientTxnWH\": \"NA\",\n      \n      \"aapf_txn_cref\": \"20994\",\n      \n      \"aapf_txn_currency\": \"XOF\",\n      \n      \"aapf_txn_datetime\": \"2019%2F11%2F24+12%3A27%3A05\",\n      \n      \"aapf_txn_gw_ref\": \"932822596706\",\n      \n      \"aapf_txn_gw_sc\": \"0-Approved\",\n      \n      \"aapf_txn_maskedInstr\": \"555555******4444\",\n      \n      \"aapf_txn_payLink\": \"3F3guaB\",\n      \n      \"aapf_txn_payScheme\": \"MASTERCARD\",\n      \n      \"aapf_txn_ref\": \"6e72-41d5-bda8-f30d3db4fa\",\n      \n      \"aapf_txn_sc\": \"0\",\n      \n      \"aapf_txn_sc_msg\": \"Approved\",\n      \n      \"aapf_txn_signature\":\"014058BED63B9FCA0F9B1F9C7D0407AEA68994A462C33D276A1F5A47AFD52FF7\"\n      \n}\n</code></pre></code>","urlObject":{"protocol":"https","path":["payfluid","ext","api","status"],"host":["www","payoutlet","com","gh"],"query":[{"key":"msg","value":null}],"variable":[]}},"response":[],"_postman_id":"6053d3e9-6422-4df1-a5ab-94801ac6a68d"}]}