{"info":{"_postman_id":"bb77b486-553b-41e6-834b-a7df14ee7d59","name":"OnePipe v2 - Documentation","description":"<html><head></head><body><p><strong>NOTE:</strong> For version 1 information, please see <a href=\"https://v1.docs.onepipe.io\">OnePipe v1 documentation</a></p>\n<p>This suite of APIs provides access to an array of financial services-related APIs like card charging, account debit, statement lookup, airtime purchase, bill payment, instant loans and KYC lookup services. Some of these services come from multiple providers like Polaris Bank, SunTrust Bank, Interswitch, Flutterwave and Paystack, but OnePipe wraps around them an abstraction layer with one major goal: To provide a consistent interface to integrators regardless of underlying service provider. That way, you can switch between providers at any time, based on quality of service, business justification, etc. without starting a new integration project or changing your systems in any way.</p>\n<h1 id=\"the-principles-behind-onepipe\">The principles behind OnePipe</h1>\n<ol>\n<li><p>Ability to add multiple providers for the same service</p>\n</li>\n<li><p>A standard unified API interface encapsulating all feature set available across providers</p>\n</li>\n<li><p>Ability to setup as many apps as possible and determine which provider should fulfill the service for each app.</p>\n</li>\n</ol>\n<img src=\"http://www.onepipe.io/docs/principles.jpg\">\n\n<h1 id=\"want-to-try-it-quickly\">Want to try it quickly?</h1>\n<ol>\n<li><p>Click the <em>run in postman</em> button in the top right to import the collection.</p>\n</li>\n<li><p>Familiarise yourself with the variables in the collection</p>\n</li>\n<li><p>Try the various endpoints using the pre-loaded API keys</p>\n</li>\n</ol>\n<h1 id=\"getting-access-to-the-apis\">Getting access to the APIs</h1>\n<h3 id=\"sign-up-and-customize-the-collection-to-use-your-own-keys\">Sign up and customize the collection to use your own keys</h3>\n<p>Access to the APIs can only be via any of the OnePipe partners. We refer to them as \"hosts\". They are Banks with whom we have a special arrangement. Once granted access under their account, you will receive an invite email to set your password.</p>\n<ol>\n<li><p>Sign up <a href=\"https://onepipe.io/start\">here</a></p>\n</li>\n<li><p>Once approved, you will receive an email to set up your password</p>\n</li>\n<li><p>Login and with newly set password, then generate your <strong>API key</strong> and <strong>secret</strong></p>\n</li>\n<li><p>Update the variables <strong>api-key</strong> and <strong>secret-key</strong> in the collection</p>\n</li>\n<li><p>Change the <code>mock_mode</code> in any endpoint you want to try to <code>inspect</code></p>\n</li>\n<li><p>Use the tools <a href=\"https://onepipe.io/tools/\">here</a> to manage encryption of the secure elements</p>\n</li>\n<li><p>Try as many API calls as required</p>\n</li>\n<li><p>The bank will contact you about necessary documentations and KYC</p>\n</li>\n<li><p>Once completed, the bank will enable you for go live</p>\n</li>\n<li><p>Once approved, switch your calls between live and test as you see fit. This can be done per service/endpoint (from the console) or changing the <code>mock_mode</code> in the payload of your calls to <code>live</code>.</p>\n</li>\n</ol>\n<h1 id=\"general-api-information\">General API information</h1>\n<p>The APIs are fairly RESTful and are organized around the main services you would be interacting with. The base url sits at:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>https://api.onepipe.io\n\n</code></pre><h1 id=\"the-headers\">The headers</h1>\n<p>For your API calls, include your API key in the Authorization header of every request you make. You can manage your API keys from your dashboard.</p>\n<p><em><strong>Sample Authorization Header:</strong></em></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>Authorization: Bearer {api_key}\n\n</code></pre><p>Also, every request requires you to provide a unique <code>request_ref</code> per call within the payload. Then You'd need to add a custom header called <code>Signature</code> which is an MD5 hash of that <code>request_ref</code> and your <code>api_secret</code> separated by a semi-colon. <code>;</code>. This just serves as a simple way to \"sign\" your payload as a second layer of security.</p>\n<p><em><strong>Sample Signature Header:</strong></em></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>Signature:MD5Hash(request_ref;client_secret)\n\n</code></pre><p>Your complete header for evey single call will look like:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>Content-Type:application/json\nAuthorization:Bearer {{api_key}}\nSignature:{{MD5Hash(request_ref;client_secret)}}\n\n</code></pre><h1 id=\"the-main-operations-you-can-perform\">The main operations you can perform</h1>\n<p>The operations you can perform on any OnePipe API falls into the following categories</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><strong>Transact</strong></td>\n<td>This is the actual service or operation you are trying to execute. Your primary call. This typically sits at <code>{{baseUrl}}/v2/transact</code></td>\n</tr>\n<tr>\n<td><strong>Validate</strong></td>\n<td>Some transactions will require second level authentication/consent from the user. In this case the provider will response to your primary call with either <code>WaitingForOTP</code> or <code>PendingValidation</code>. Supply the validation required by calling <code>{{baseUrl}}/v2/transact/validate</code></td>\n</tr>\n<tr>\n<td><strong>Query</strong></td>\n<td>This is typically to get tha status of a prior transaction. Sits at <code>{{baseUrl}}/v2/transact/query</code></td>\n</tr>\n<tr>\n<td><strong>Options</strong></td>\n<td>Some services are such that you may need to 'probe' for a list of options before you can place the primary call. In these cases, this typically sits at <code>{{baseUrl}}/v2/transact/options</code></td>\n</tr>\n<tr>\n<td><strong>Reverse</strong></td>\n<td>Some services (or providers) support the capability to reverse a prior transaction. In this case, you can execute this at <code>{{baseUrl}}/v2/transact/reverse</code></td>\n</tr>\n</tbody>\n</table>\n</div><h1 id=\"what-requests-would-look-like\">What requests would look like</h1>\n<p>For all requests, you'd put a JSON object in the body of your API call. All payloads have the following high level construct:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">    {\n        \"request_ref\":\"{{request_ref}}\", \n        \"request_type\":\"transfer_funds\",\n        \"auth\": {\n            \"type\": \"bank.account | card | wallet\", \n            \"secure\": \"{{encrypted(bank account details | card details | wallet)}}\",\n            \"auth_provider\": \"Beeceptor\",\n            \"route_mode\": null\n        },\n        \"transaction\": {\n            \"mock_mode\": \"live\", \n            \"transaction_ref\": \"998383938292\", \n            \"transaction_desc\": \"A random transaction\", \n            \"transaction_ref_parent\": null, \n            \"amount\": 1000,\n            \"customer\":{\n                \"customer_ref\": \"DemoApp_Customer007\",\n                \"firstname\": \"Uju\",\n                \"surname\": \"Usmanu\",\n                \"email\": \"ujuusmanu@gmail.com\",\n                \"mobile_no\": \"234802343132\"\n            },\n            \"meta\":{\n                \"a_key\":\"a_meta_value_1\",\n                \"another_key\":\"a_meta_value_2\"\n            },\n            \"details\": {\n                \"a_key\":\"a_value\",\n                \"a_key\":\"a_value\"\n            }\n        }\n    }\n\n</code></pre>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><em>Field</em></th>\n<th><em>Type</em></th>\n<th><em>Requirement</em></th>\n<th><em>Description</em></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>request_ref</td>\n<td>string</td>\n<td>compulsory</td>\n<td>A unique value for every request made to the APIs. It uniquely identifies the API call itself.</td>\n</tr>\n<tr>\n<td>request_type</td>\n<td>string</td>\n<td>compulsory</td>\n<td>This should be set to the service. e.g. <code>transfer_funds</code></td>\n</tr>\n<tr>\n<td>auth.type</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Depending on the source of funds or unique authorization credentials. This can be set to either <code>bank.account</code>, <code>card</code>, <code>token</code>, <code>bvn</code> or <code>wallet</code></td>\n</tr>\n<tr>\n<td>auth.secure</td>\n<td>string</td>\n<td>compulsory</td>\n<td>This is the encrypted value of the <code>auth.type</code>. The format depends on the auth type, see <a href=\"#encryption-of-secure-element\">here</a></td>\n</tr>\n<tr>\n<td>auth.provider</td>\n<td>string</td>\n<td>compulsory</td>\n<td>This should be set to the name of the Provider you want to forward the request to</td>\n</tr>\n<tr>\n<td>auth.route_mode</td>\n<td>string</td>\n<td>N/A</td>\n<td>This can be set to <code>null</code>. It informs OnePipe to [optionally] do some pre-processing before forwarding to the actual provider.</td>\n</tr>\n<tr>\n<td>transaction.mock_mode</td>\n<td>string</td>\n<td>optional</td>\n<td>This can be set to either <code>live</code> or <code>inspect</code>. If left as null, value will fall back to the state of the service set on the console.</td>\n</tr>\n<tr>\n<td>transaction.transaction_desc</td>\n<td>string</td>\n<td>optional</td>\n<td>Description of your transaction. For value based transactions, this could be the narration that will be seen in the account statement or store of value.</td>\n</tr>\n<tr>\n<td>transaction.transaction_ref_parent</td>\n<td>string</td>\n<td>optional</td>\n<td>Takes value of a (parent) transaction reference. In case it's a transaction being retried.</td>\n</tr>\n<tr>\n<td>transaction.customer.customer_ref</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Unique identifier for customer</td>\n</tr>\n<tr>\n<td>transaction.customer.firstname</td>\n<td>string</td>\n<td>optional</td>\n<td>First name of customer</td>\n</tr>\n<tr>\n<td>transaction.customer.surname</td>\n<td>string</td>\n<td>optional</td>\n<td>Surname of customer</td>\n</tr>\n<tr>\n<td>transaction.customer.email</td>\n<td>string</td>\n<td>optional</td>\n<td>Email address of customer</td>\n</tr>\n<tr>\n<td>transaction.customer.mobile_no</td>\n<td>string</td>\n<td>optional</td>\n<td>Phone number of customer</td>\n</tr>\n<tr>\n<td>transaction.amount</td>\n<td>int</td>\n<td>compulsory</td>\n<td>This is the amount (lower denomination) for value based transactions.</td>\n</tr>\n<tr>\n<td>transaction.transaction_ref</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Generate a unique transaction reference for every transaction call to OnePipe.</td>\n</tr>\n<tr>\n<td>transaction.meta</td>\n<td>object</td>\n<td>optional</td>\n<td>Json object of your arbitrary transaction parameters</td>\n</tr>\n<tr>\n<td>transaction.details</td>\n<td>object</td>\n<td>varies per transaction type</td>\n<td>JSON object of transaction type specific elements. The details required per transaction type will be explained in the docs for the transaction type.</td>\n</tr>\n</tbody>\n</table>\n</div><h1 id=\"what-responses-would-look-like\">What responses would look like</h1>\n<p>For all responses, you'd get a JSON object in the body of the response you receive. All payloads have the following high level construct:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">    {\n        \"status\": \"Successful\",\n        \"message\": \"Transaction processed successfully\",\n        \"data\": {\n            \"provider_response_code\": \"00\",\n            \"provider\": \"DemoProvider\",\n            \"errors\": [],\n            \"error\": {},\n            \"provider_response\": {\n                \"reference\": \"000022200225154318222333334432\",\n                \"field_key\":\"field_value\",\n                \"field_key\":\"field_value\",\n                \"field_etc\": \"3056433222\",\n                \"meta\":{\n                    \"fee_flat\": 0,\n                    \"fee_percent\": 0,\n                    \"commission_flat\": 0,\n                    \"commission_percent\": 0,\n                    \"field_key\":\"field_value\",\n                    \"field_key\":\"field_value\"\n                }\n            }\n        }\n    }\n\n</code></pre>\n<ul>\n<li><p><strong>status</strong>: Indicates the state of the request, whether successful, failed or anything in between</p>\n</li>\n<li><p><strong>message</strong>: Provides a text description of the state of the request and at times a message for the customer</p>\n</li>\n<li><p><strong>data</strong>: Will contain much more details of the outcome of the request. The values within this could vary by request type or endpoint called but some standard elements would be in almost all calls</p>\n</li>\n<li><p><strong>provider_response_code</strong>: The actual response code received from the underlying provider, e.g. <code>00</code> for Quickteller</p>\n</li>\n<li><p><strong>provider_response</strong>: This contains the actual response from the provider, specific to the actual operation you are trying to perform. The elements here will vary based on the operation. This is the main area of interest.</p>\n</li>\n<li><p><strong>provider</strong>: The provider that was used to process the request</p>\n</li>\n<li><p><strong>errors</strong>: In case of a failed transaction, this contains the lists of errors that occurred while processing the transaction</p>\n</li>\n<li><p><strong>error</strong>: This contains the most important error that hinders the successful completion of the transaction.<br>  We highly recommend that developers use the Errors field to determine the result of an API call. As an empty Errors node indicates a successful transaction.</p>\n</li>\n</ul>\n<p><strong>NOTE</strong>: Some API calls may have response elements that are only applicable to those API calls. You will see examples in the provided postman collection and across the documentation.</p>\n<h1 id=\"onepipe-standard-status-codes\">OnePipe standard status codes</h1>\n<ul>\n<li><p><strong>Successful</strong>: For all requests that were successfully processed</p>\n</li>\n<li><p><strong>Failed</strong>: If a request fails. Read the errors object(s)</p>\n</li>\n<li><p><strong>WaitingForOTP</strong>: If a request requires OTP validation for completion.</p>\n</li>\n<li><p><strong>PendingValidation</strong>: If a request requires other information to be supplied for completion.</p>\n</li>\n<li><p><strong>Processing</strong>: If a transaction request is still in a processing state and needs to be subsequently queried.</p>\n</li>\n<li><p><strong>OptionsDelivered</strong>: Applicable only for services that support some form of options processing.</p>\n</li>\n<li><p><strong>InvalidID</strong>: If an ID being looked up by service is not valid.</p>\n</li>\n<li><p><strong>Fraud</strong>: If a request is flagged as suspicious.</p>\n</li>\n<li><p><strong>Duplicate</strong>: If a similar request has been made earlier within a stipulated time frame of 5 minutes.</p>\n</li>\n<li><p><strong>PendingFulfilment</strong>: The transaction requires extra steps from the customer.</p>\n</li>\n<li><p><strong>[Anything else]</strong>: This would vary per endpoint called. Applicable values would be in the documentation for that endpoint.</p>\n</li>\n</ul>\n<h1 id=\"http-status-codes\">HTTP Status Codes</h1>\n<ul>\n<li><p><strong>200</strong>: Request was processed \"conclusively\". Not to be taken as a successful status. Always read the <code>response.status</code> object for actual processing status. Also note that the description field on the response can contain further steps to be carried on this transaction.</p>\n</li>\n<li><p><strong>400</strong>: Data validation error occurred due to inconsistent data supplied by the client</p>\n</li>\n<li><p><strong>401</strong>: Invalid request authorization, which might be due to invalid API key or the client is not registered for the service being accessed.</p>\n</li>\n<li><p><strong>500</strong>: An internal server error at our End, this should be reported if it persists.</p>\n</li>\n</ul>\n<h1 id=\"encryption-of-secure-element\">Encryption of Secure element</h1>\n<p>As mentioned, the <code>auth.secure</code> enlement needs to contain the encrypted value of authorization details or customer credentials. e.g. card details. Encrypt the value using the Triple DES Encryption Algorithm with your Client application secret key as the encryption key.</p>\n<p>E.g.</p>\n<h4 id=\"when-its-a-card-it-should-be\">When it's a <code>card</code>, it should be:</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>TripleDES.encrypt(\"{card.Pan};{card.Cvv};{card.Expdate};{card.Pin}\",secretKey)\n\n</code></pre><h4 id=\"if-its-bankaccount--it-should-be\">If it's <code>bank.account</code> , it should be:</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>TripleDES.encrypt(\"{accountNumber};{bankCBNCode}\",secretKey)\n\n</code></pre><h4 id=\"if-its-wallet--it-should-be\">If it's <code>wallet</code> , it should be:</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>TripleDES.encrypt(\"{walletNumber};{providerCode}\",secretKey)\n\n</code></pre><h4 id=\"if-its-airtime--it-should-be\">If it's <code>airtime</code> , it should be:</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>TripleDES.encrypt(\"{phoneNumber};{telcoCode}\",secretKey)\n\n</code></pre><h4 id=\"if-its-voucher--it-should-be\">If it's <code>voucher</code> , it should be:</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>TripleDES.encrypt(\"{voucherCode};{providerCode}\",secretKey)\n\n</code></pre><h4 id=\"if-its-bvn--it-should-be\">If it's <code>bvn</code> , it should be:</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>TripleDES.encrypt(\"{bvn}\",secretKey)\n\n</code></pre><h4 id=\"if-its-basic--it-should-be\">If it's <code>basic</code> , it should be:</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>TripleDES.encrypt(\"{userName};{password}\",secretKey)\n\n</code></pre><h4 id=\"if-its-custom--it-should-be\">If it's <code>custom</code> , it should be:</h4>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>TripleDES.encrypt(\"{ref}\",secretKey)\n\n</code></pre><p><strong>NOTE</strong> Expiry date is MMyy</p>\n<h2 id=\"sample-encryption-in-java\">Sample encryption in Java</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>MessageDigest md = MessageDigest.getInstance(\"md5\");\nbyte[] digestOfPassword = md.digest(key.getBytes(\"UTF-16LE\"));\nbyte[] keyBytes = Arrays.copyOf(digestOfPassword, 24);\nfor (int j = 0, k = 16; j &lt; 8;) {\n    keyBytes[k++] = keyBytes[j++];\n}\nSecretKey secretKey = new SecretKeySpec(keyBytes, 0, 24, \"DESede\");\nIvParameterSpec iv = new IvParameterSpec(new byte[8]);\nCipher cipher = Cipher.getInstance(\"DESede/CBC/PKCS5Padding\");\ncipher.init(Cipher.ENCRYPT_MODE, secretKey, iv);\nbyte[] plainTextBytes = toBeEncrypted.getBytes(\"UTF-16LE\");\nbyte[] cipherText = cipher.doFinal(plainTextBytes);\nString output = new String(Base64.encodeBase64(cipherText));\nreturn output;\n\n</code></pre><h2 id=\"sample-encryption-in-c-sharp\">Sample encryption in C-Sharp</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>string encryptedText = \"\";\nMD5 md5 = new MD5CryptoServiceProvider();\nTripleDES des = new TripleDESCryptoServiceProvider();\ndes.KeySize = 128;\ndes.Mode = CipherMode.CBC;\ndes.Padding = PaddingMode.PKCS7;\nbyte[] md5Bytes = md5.ComputeHash(Encoding.Unicode.GetBytes(key));\nbyte[] ivBytes = new byte[8];\ndes.Key = md5Bytes;\ndes.IV = ivBytes;\nbyte[] clearBytes = Encoding.Unicode.GetBytes(TextToEncrypt);\nICryptoTransform ct = des.CreateEncryptor();\nusing (MemoryStream ms = new MemoryStream())\n{\n    using (CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write))\n    {\n        cs.Write(clearBytes, 0, clearBytes.Length);\n        cs.Close();\n    }\n    encryptedText = Convert.ToBase64String(ms.ToArray());\n}\nreturn encryptedText;\n\n</code></pre><h2 id=\"sample-encryption-in-php\">Sample encryption in PHP</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>function EncryptV2($encryption_key,$data)\n{\n    $method = \"des-ede3-cbc\";\n    $source = mb_convert_encoding($encryption_key, 'UTF-16LE', 'UTF-8');\n    $encryption_key = md5($source, true);\n    $encryption_key .= substr($encryption_key, 0, 16);\n    $iv =  \"\\0\\0\\0\\0\\0\\0\\0\\0\";\n    $encData = openssl_encrypt($data,$method, $encryption_key, $options=OPENSSL_RAW_DATA, $iv);\n    echo base64_encode($encData);\n}\n\n</code></pre><h2 id=\"sample-encryption-in-nodejs\">Sample encryption in Node.js</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>const crypto = require('crypto');\nfunction encrypt(secretKey, plainText) {\n    const bufferedKey = Buffer.from(secretKey, 'utf16le');\n    const key = crypto.createHash('md5').update(bufferedKey).digest();\n    const newKey = Buffer.concat([key, key.slice(0, 8)]);\n    const IV = Buffer.alloc(8, '\\0');\n    const cipher = crypto.createCipheriv('des-ede3-cbc', newKey, IV).setAutoPadding(true);\n    return cipher.update(plainText, 'utf8', 'base64') + cipher.final('base64');\n}\n\n</code></pre><p>NB: If the snippet of your preferred language is not available, you can make use of our <a href=\"https://hub.docker.com/r/onepipe/encryption\">Encryption Service on Docker</a></p>\n<h1 id=\"switching-providers-for-a-service\">Switching providers for a service</h1>\n<p>All services subscribed to in your application are attached to providers that will end up fulfilling such service(s) on request. You can switch providers as you wish by managing the application from your dashboard and editing the service details. Also, for some endpoints, you can explicitly set the provider you would like to be used in the request payload. You would see examples in the documentation for the endpoints that support this.</p>\n<h1 id=\"bank-cbn-codes\">Bank CBN Codes</h1>\n<p>Anywhere bank codes are required in the API specification (<code>bank_code</code>), this refers to the CBN bank codes. Details of all bank codes can be found <a href=\"https://onepipe.atlassian.net/wiki/spaces/PUB/pages/2042888195/CBN+BANK+CODES\">here</a>.</p>\n<h1 id=\"test-cards\">Test cards</h1>\n<ul>\n<li><p>Paystack - Test cards <a href=\"https://developers.paystack.co/docs/test-cards\">here</a></p>\n</li>\n<li><p>Flutterwave - Test cards <a href=\"https://developer.flutterwave.com/docs/test-cards\">here</a></p>\n</li>\n<li><p>Quickteller - Test cards <a href=\"https://sandbox.interswitchng.com/docbase/docs/interswitch-payment-gateway-mobile-inappsdk-implementation/test-cards/\">here</a> =&gt; Pan:5061040000000000306 Pin:1234 CVV:123 EXP:1901</p>\n</li>\n</ul>\n<h1 id=\"scheduled-transactions\">Scheduled transactions</h1>\n<p>Scheduler works great with all of OnePipe existing services be it purchase services, payment services or credit services. You can set up a schedule that works best for you and your customers. With this provider, re-occuring transactions can be scheduled to be processed on a regular basis by using the additional <code>meta</code> tag that is present for all OnePipe services.</p>\n<p>This will enable you to process future transactions for different time periods such as daily, weekly, monthly and more! for example, you might want to be able to collect monthly payments from your customers or schedule for automatic transfers to account(s) on a regular basis.</p>\n<h4 id=\"please-be-sure-to-have-gone-through\">Please be sure to have gone through....</h4>\n<p>First, please be familiar with below documentation on OnePipe services...</p>\n<ul>\n<li><p><a href=\"#the-headers\">The headers</a></p>\n</li>\n<li><p><a href=\"#the-main-operations-you-can-perform\">Main API operations</a></p>\n</li>\n<li><p><a href=\"#what-requests-would-look-like\">Typical OnePipe requests</a></p>\n</li>\n<li><p><a href=\"#what-responses-would-look-like\">Typical OnePipe responses</a></p>\n</li>\n<li><p><a href=\"#encryption-of-secure-element\">Encryption of the <code>secure</code> element</a></p>\n</li>\n</ul>\n<h4 id=\"post-scheduled-transaction\">Post Scheduled Transaction</h4>\n<p>With this call <code>transact/schedule</code>, you can send a request to be processed in a future date and/or at regular time intervals. You will have to provide your authorisation details and OnePipe will in turn forward to the provider’s dedicated implementation for execution on the specified date. On job complete, transaction notification will be sent to the customer via the client webhook. For example: Buy N1000 airtime every 7 days (weekly) using the <code>buy_airtime</code> purchase service.</p>\n<h4 id=\"sequence-of-call\">Sequence of call</h4>\n<ol>\n<li><p>Call <code>v2/transact/schedule</code> with the right auth details and request_type.</p>\n</li>\n<li><p>Provider responds with any of the completion codes <code>Successful</code> or <code>Failed</code>.</p>\n</li>\n</ol>\n<p><strong>Please note</strong>:Please refer to OnePipe v2 documentation to understand the several request_types available which are grouped into different segments for example, payment services, messaging services and more!). You will only have to include three extra tags that start with the <code>repeat_</code> keyword. These tags must be specified within the <code>meta</code> tag of the payload in order to schedule a future request.</p>\n<h4 id=\"request-sample-for-transactschedule\">Request Sample for 'transact/schedule'</h4>\n<p>For all schedule requests, you'd put a JSON object in the body of your API call. All payloads have the following high level construct:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">    {\n        \"request_ref\":\"{{request_ref}}\", \n        \"request_type\":\"{{request_type}}\",\n        \"auth\": {\n            \"type\": \"Basic\", \n            \"secure\": \"{{encrypted(password)}}\",\n            \"auth_provider\": \"Scheduler\"\n        },\n        \"transaction\": {\n            \"mock_mode\": \"inspect\", \n            \"transaction_ref\": \"998383938292\", \n            \"transaction_desc\": \"A random scheduled transaction\", \n            \"transaction_ref_parent\": null, \n            \"amount\": 1000,\n            \"customer\":{\n                \"customer_ref\": \"DemoApp_Customer007\",\n                \"firstname\": \"Demo\",\n                \"surname\": \"Demo\",\n                \"email\": \"demo@gmail.com\",\n                \"mobile_no\": \"234802343132\"\n            },\n            \"meta\":{\n                \"repeat_frequency\":\"once | hourly | daily | weekly | monthly | yearly\",\n                \"repeat_start\":\"2021-02-27-18-50-00\"\n                \"repeat_target_provider\":\"Payant\",\n                \"exclude\":\"Sunday\"\n            },\n            \"details\": {\n                \"a_key\":\"a_value\",\n                \"a_key\":\"a_value\"\n            }\n        }\n    }\n\n</code></pre>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><em>Field</em></th>\n<th><em>Type</em></th>\n<th><em>Requirement</em></th>\n<th><em>Description</em></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>repeat_frequency</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The re-occuring time period which is a limited set of options. This can be set to either <code>once</code>, <code>hourly</code>, <code>daily</code>, <code>weekly</code>, <code>monthly</code> or <code>yearly</code></td>\n</tr>\n<tr>\n<td>request_start</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The datetime stamp to initiate first transaction where the format is <code>YYYY-MM-DD-HH-MM-SS</code></td>\n</tr>\n<tr>\n<td>repeat_target_provider</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The preferred provider to process the transactions during execution on a regular basis</td>\n</tr>\n<tr>\n<td>exclude</td>\n<td>string</td>\n<td>optional</td>\n<td>Exclude a certain time in the frequency.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response-sample-for-transactschedule\">Response Sample for 'transact/schedule'</h4>\n<p>For all schedule responses, you'd get a JSON object in the body of the response you receive. All payloads have the following high level construct:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">    {\n        \"status\": \"Successful\",\n        \"message\": \"Operation was successful\",\n        \"data\": {\n            \"provider_response_code\": \"00\",\n            \"provider\": \"Scheduler\",\n            \"errors\": [],\n            \"error\": {},\n            \"provider_response\": \"null\"\n        }\n    }\n\n</code></pre>\n<ul>\n<li><p><code>status</code>: The state of the request, whether successful or failed</p>\n</li>\n<li><p><code>message</code>: Provides a text description of the state of the request</p>\n</li>\n<li><p><code>data</code>: This will contain much more details of the outcome of the request which will include the response code from the provider and any error objects if present</p>\n</li>\n<li><p><code>provider_response_code</code>: The actual response code received from the Scheduler provider, e.g. <code>00</code> for Successful requests</p>\n</li>\n<li><p><code>provider_response</code>: This contains additional response from the provider if any specific to the actual operation being performed.</p>\n</li>\n<li><p><code>provider</code>: The provider that was used to process the request. This will always be <code>Scheduler</code>.</p>\n</li>\n<li><p><code>errors</code>: In case of a failed transaction, this contains the lists of errors that occurred while processing the transaction</p>\n</li>\n<li><p><code>error</code>: This contains the most important error that hinders the successful completion of the transaction.<br>  We highly recommend that developers use the Errors field to determine the result of an API call. As an empty Errors node indicates a successful transaction.</p>\n</li>\n</ul>\n<h4 id=\"interpreting-the-response\">Interpreting the response</h4>\n<ul>\n<li>Read the reponse <code>status</code> and <code>message</code></li>\n</ul>\n<h4 id=\"possible-status-values\">Possible status values</h4>\n<ul>\n<li><p><strong>Successful</strong>: Success</p>\n</li>\n<li><p><strong>[Anything else]</strong>: Error. Read the errors object(s)</p>\n</li>\n</ul>\n<h4 id=\"reverse-scheduled-transaction\">Reverse Scheduled Transaction</h4>\n<p>With this service <code>v2/transact/schedule/reverse</code>, you can cancel a previously scheduled request. Upon successful response from the Scheduler Provider, the future re-occuring transactions will not be executed on a regular basis. To continue with the schedule after termination, you will have to post a new request.</p>\n<h4 id=\"sequence-of-call-1\">Sequence of call</h4>\n<p>Now, here's the call sequence specific to this service...</p>\n<ol>\n<li><p>Call <code>/transact/schedule/reverse</code> with the right auth details and <code>request_type</code>.</p>\n</li>\n<li><p>Provider responds with any of the completion codes <code>Successful</code> or <code>Failed</code>.</p>\n</li>\n</ol>\n<p><strong>Please note</strong>:Please refer to OnePipe v2 documentation to understand the several request_types available which are grouped into different segments for example, payment services, messaging services and more!). You will only have to include three extra tags that start with <code>repeat_</code> specified in more detail below inside the <code>meta</code> tag of the payload to schedule a future request.</p>\n<h4 id=\"request-sample-for-transactschedulereverse\">Request Sample for 'transact/schedule/reverse'</h4>\n<p>For all reverse requests, you'd put a JSON object in the body of your API call. All payloads have the following high level construct:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">    {\n        \"request_ref\":\"{{request_ref}}\", \n        \"request_type\":\"{{request_type}}\",\n        \"transaction\": { \n            \"transaction_ref\": \"998383938292\", \n            \"transaction_desc\": \"A sample transaction to be reversed\"\n        }\n    }\n\n</code></pre>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><em>Field</em></th>\n<th><em>Type</em></th>\n<th><em>Requirement</em></th>\n<th><em>Description</em></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>repeat_ref</td>\n<td>string</td>\n<td>compulsory</td>\n<td>A unique reference for this API call</td>\n</tr>\n<tr>\n<td>request_type</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Depends on what the provider requires to reverse the request. This has to match the <code>request_type</code> of the original transaction. For instance, if a request was initially sent to schedule <code>buy_airtime</code> service, then the reverse call will also be <code>buy_airtime</code>.</td>\n</tr>\n<tr>\n<td>transaction.transaction_ref</td>\n<td>string</td>\n<td>compulsory</td>\n<td>This is the original <code>transaction_ref</code> for the initial schedule request which is to be terminated</td>\n</tr>\n<tr>\n<td>transaction.transaction_desc</td>\n<td>string</td>\n<td>compulsory</td>\n<td>A short description or narration</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response-sample-for-transactschedulereverse\">Response Sample for 'transact/schedule/reverse'</h4>\n<p>For all reverse responses, you'd get a JSON object in the body of the response you receive. All payloads have the following high level construct:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">    {\n        \"status\": \"Successful\",\n        \"message\": \"Operation was successful\",\n        \"data\": {\n            \"provider_response_code\": \"00\",\n            \"provider\": \"Scheduler\",\n            \"errors\": [],\n            \"error\": {},\n            \"provider_response\": \"null\"\n        }\n    }\n\n</code></pre>\n<ul>\n<li><p><code>status</code>: The state of the request, whether successful or failed</p>\n</li>\n<li><p><code>message</code>: Provides a text description of the state of the request</p>\n</li>\n<li><p><code>data</code>: This will contain much more details of the outcome of the request which will include the response code from the provider and any error objects if present</p>\n</li>\n<li><p><code>provider_response_code</code>: The actual response code received from the Scheduler provider, e.g. <code>00</code> for Successful requests</p>\n</li>\n<li><p><code>provider_response</code>: This contains additional response from the provider if any specific to the actual operation being performed.</p>\n</li>\n<li><p><code>provider</code>: The provider that was used to process the request. This will always be <code>Scheduler</code>.</p>\n</li>\n<li><p><code>errors</code>: In case of a failed transaction, this contains the lists of errors that occurred while processing the transaction</p>\n</li>\n<li><p><code>error</code>: This contains the most important error that hinders the successful completion of the transaction.<br>  We highly recommend that developers use the Errors field to determine the result of an API call. As an empty Errors node indicates a successful transaction.</p>\n</li>\n</ul>\n<h4 id=\"interpreting-the-response-1\">Interpreting the response</h4>\n<ul>\n<li>Read the reponse <code>status</code> and <code>message</code></li>\n</ul>\n<h4 id=\"possible-status-values-1\">Possible status values</h4>\n<ul>\n<li><p><strong>Successful</strong>: Success</p>\n</li>\n<li><p><strong>[Anything else]</strong>: Error. Read the errors object(s)</p>\n</li>\n</ul>\n</body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[{"content":"The principles behind OnePipe","slug":"the-principles-behind-onepipe"},{"content":"Want to try it quickly?","slug":"want-to-try-it-quickly"},{"content":"Getting access to the APIs","slug":"getting-access-to-the-apis"},{"content":"General API information","slug":"general-api-information"},{"content":"The headers","slug":"the-headers"},{"content":"The main operations you can perform","slug":"the-main-operations-you-can-perform"},{"content":"What requests would look like","slug":"what-requests-would-look-like"},{"content":"What responses would look like","slug":"what-responses-would-look-like"},{"content":"OnePipe standard status codes","slug":"onepipe-standard-status-codes"},{"content":"HTTP Status Codes","slug":"http-status-codes"},{"content":"Encryption of Secure element","slug":"encryption-of-secure-element"},{"content":"Switching providers for a service","slug":"switching-providers-for-a-service"},{"content":"Bank CBN Codes","slug":"bank-cbn-codes"},{"content":"Test cards","slug":"test-cards"},{"content":"Scheduled transactions","slug":"scheduled-transactions"}],"owner":"6358444","collectionId":"bb77b486-553b-41e6-834b-a7df14ee7d59","publishedId":"SzmiWwB3","public":true,"customColor":{"top-bar":"212121","right-sidebar":"303030","highlight":"00B1E5"},"publishDate":"2025-02-22T10:44:33.000Z"},"item":[{"name":"Common use cases","item":[{"name":"PaywithTransfer","item":[{"name":"1. Setup a callback","item":[],"id":"8dd10630-82e4-46a7-9407-7a7fcbbfb3d7","description":"<h4 id=\"setting-up-pay-with-transfer\">Setting up \"Pay with transfer\"</h4>\n<p><a href=\"https://paywithtransfer.com/login\">Log in</a> to your \"Pay with transfer\" dashboard.</p>\n<p>Depending on your level of access, you can also reach it by logging in to OnePipe and navigating to the \"Pay with transfer\" solution.</p>\n<img src=\"http://www.onepipe.io/docs/pwt-console.png\" alt=\"Launching PWT\" />\n\n<h4 id=\"configure-a-callback-url\">Configure a callback URL</h4>\n<p>Expose a callback url, that will receive a <code>POST</code> message from OnePipe upon a credit activity on an account that you have assigned. Edit your settings to setup your webhook url.</p>\n<img src=\"https://content.pstmn.io/85767595-dfe9-4a88-b98f-1b02ffe1fdf9/cHd0LXNldC13ZWJob29rLW5vdGlmeS5wbmc=\" alt=\"Configure%20callback%20for%20notification\" />\n\n<p>Optionally, you can also configure a <code>lookup_url</code> to be called if you want to dynamically provide feedback on the validity of a customer before settlement processing.</p>\n<img src=\"https://content.pstmn.io/f65b4476-9927-447e-b0b2-6bf08ee368ff/cHd0LXNldC13ZWJob29rLWxvb2t1cC5wbmc=\" alt=\"Configure%20callback%20for%20lookups\" />\n\n<p>Now, you can start assigning accounts...</p>\n","_postman_id":"8dd10630-82e4-46a7-9407-7a7fcbbfb3d7"},{"name":"2. Assign accounts","item":[],"id":"3fa5b51c-17fc-4480-a4bb-52e6d94a3806","description":"<h4 id=\"create-an-account-for-each-customer-or-order\">Create an account for each customer or order</h4>\n<p>Once you've got your callback URLs all set up, you'd create a virtual account any time you want to receive payment or on a per customer basis.</p>\n<p>You can do that by making the <a href=\"#0c2e20f0-e9d8-45e0-b402-d1eb1a9e3e3d\">relevant API call</a>.</p>\n<p>Here are the providers you can set in your <code>auth.auth_provider</code> for this use case.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Bank</th>\n<th>Provider name</th>\n<th>USP</th>\n<th>Status</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Polaris</td>\n<td>PolarisVirtual</td>\n<td>Notifications under 10sec</td>\n<td>LIVE</td>\n</tr>\n<tr>\n<td>Fidelity</td>\n<td>FidelityVirtual</td>\n<td>Notifications under 5sec</td>\n<td>LIVE</td>\n</tr>\n<tr>\n<td>SunTrust</td>\n<td>SunTrustVirtual</td>\n<td>Notifications under 10sec</td>\n<td>LIVE</td>\n</tr>\n<tr>\n<td>Optimus</td>\n<td>OptimusVirtual</td>\n<td>Notifications under 20sec</td>\n<td>PILOT</td>\n</tr>\n<tr>\n<td>Paga</td>\n<td>PagaVirtual</td>\n<td>Fast notifications</td>\n<td>PILOT</td>\n</tr>\n</tbody>\n</table>\n</div><p><em>Please note: This list would increase over time. We are adding more providers on an ongoing basis.</em></p>\n<h5 id=\"special-note-on-multi-accounts\">Special note on Multi-accounts</h5>\n<p><strong>NOTE 1:</strong> The OnePipe platform supports a scenario such that: If a provider is down or unavailable at any point in time, you could get back account numbers from other supported providers in the interim. This functionality has to be requested before it can be enabled though.</p>\n<p><strong>NOTE 2</strong>: The OnePipe platform supports both static and dynamic virtual accounts.</p>\n<ul>\n<li><p>Static: Virtual accounts attached to a single user. You will always get the same number for the same <code>customer_ref</code></p>\n</li>\n<li><p>Dynamic: Virtual accounts attached to a specific order. A different account with an expiry will be generated every time you make an <code>open_account</code> call.</p>\n</li>\n</ul>\n<p>Please inform the OnePipe or bank team what your preference is at the point of sign up.</p>\n<p><strong>NOTE 3</strong>: The OnePipe platform also supports the possibility of sending an SMS to the user (for static virtual accounts) once an account is attached to them. Please inform the OnePipe or bank team if you would like this enabled.</p>\n<h5 id=\"special-note-on-bulk-account-assignments\">Special note on bulk account assignments</h5>\n<p>Alternatively, if supported by the configuration that was done for your app on OnePipe, you can also bulk upload a list of customers and they'd all get virtual accounts assigned to them.</p>\n<img src=\"https://content.pstmn.io/294e83c6-5f01-4618-9678-cf0759c898c0/cHd0LXVwbG9hZC5wbmc=\" />\n\n<p>Now that you have provisioned accounts... Here's what happens next.</p>\n","_postman_id":"3fa5b51c-17fc-4480-a4bb-52e6d94a3806"},{"name":"3. Customers can transfer","item":[],"id":"3b3c540d-960a-433f-803a-bf5fe7343ace","description":"<h4 id=\"customers-make-deposits-into-the-accounts\">Customers make deposits into the accounts</h4>\n<p><a href=\"https://drive.google.com/file/d/1-MbvGDhj-x6JJBT6S6ir1j5euKewgf5Y/view?usp=sharing\">A regular bank transfer on any channel</a></p>\n<p>The OnePipe platform will be notified by the provider once this transfer hits the virtual account. And then the next steps kick in...</p>\n","_postman_id":"3b3c540d-960a-433f-803a-bf5fe7343ace"},{"name":"4. Respond to a lookup","item":[],"id":"44e241be-4152-4db8-87b8-24517b3ac5fc","description":"<p><em>[This is an optional step]</em></p>\n<h4 id=\"respond-to-a-lookup-request\">Respond to a lookup request</h4>\n<p>If you configured a <code>lookup_url</code> in step 1, OnePipe will connect to your system to verify the customer that is making payment and obtain any details necessary for that payment like Name, amount due, bill_id, etc.</p>\n<h5 id=\"the-request\">The request</h5>\n<p>The request will look like what's below:</p>\n<p><strong>Headers</strong></p>\n<ul>\n<li>Content-Type: application/json</li>\n<li>Signature: <code>{{MD5Hash(request_ref;your_app_secret)}}</code></li>\n</ul>\n<p><em>NOTE: Please validate the signature to ensure the request came from OnePipe. See</em> <a href=\"#the-headers\"><i>here</i></a><em>.</em></p>\n<p><strong>Body</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"request_ref\": \"{{request_ref}}\",\n    \"request_type\": \"transaction_notification\",\n    \"requester\": \"{{page_name}}\",\n    \"mock_mode\": \"live\",\n    \"details\": {\n        \"amount\": 10000,\n        \"transaction_type\": \"lookup_customer_reference\",\n        \"status\": \"Successful\",\n        \"provider\": \"FidelityVirtual\",\n        \"transaction_ref\": \"23486644\",\n        \"customer_ref\": \"9090905\",\n        \"customer_email\": \"email@gmail.com\",\n        \"customer_firstname\": \"Uju\",\n        \"customer_surname\": \"James\",\n        \"customer_mobile_no\": \"2349066666544\",\n        \"data\": {\n            \"biller_id\": \"{{code representing the biller}}\", \n            \"biller_item_id\": \"{{code representing the biller's specific product}}\",\n            \"meta\":{\n                \"a_key\":\"a_meta_value_1\",\n                \"another_key\":\"a_meta_value_2\" \n            }\n        }\n    },\n    \"app_info\": {\n        \"app_code\": \"{{app_code}}\"\n    }\n}\n\n</code></pre>\n<p><strong>What each element means</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>request_ref</td>\n<td>A unique ref generated by OnePipe</td>\n</tr>\n<tr>\n<td>request_type</td>\n<td>Will be set to <code>order_details</code> at this stage</td>\n</tr>\n<tr>\n<td>requester</td>\n<td>The page name on PaywithTransfer</td>\n</tr>\n<tr>\n<td>mock_mode</td>\n<td>Will be set to <code>live</code> if this is a live transaction. And <code>inspect</code> if this is a test transaction.</td>\n</tr>\n<tr>\n<td>details.amount</td>\n<td>The amount that was paid in. In lower denomination.</td>\n</tr>\n<tr>\n<td>details.transaction_type</td>\n<td>Will contain the value <code>lookup_customer_reference</code></td>\n</tr>\n<tr>\n<td>details.status</td>\n<td>The notification status. For you to have received this call, it would be set to <code>Successful</code></td>\n</tr>\n<tr>\n<td>details.provider</td>\n<td>The Name of the Provider handling this transaction</td>\n</tr>\n<tr>\n<td>details.transaction_ref</td>\n<td>A unique transaction reference generated by the provider.</td>\n</tr>\n<tr>\n<td>details.customer_ref</td>\n<td>The <code>customer_ref</code> that was sent in when the account was originally created</td>\n</tr>\n<tr>\n<td>details.customer_email</td>\n<td>The <code>customer_email</code> that was originally set when the account was assigned</td>\n</tr>\n<tr>\n<td>details.customer_firstname</td>\n<td>The <code>customer_firstname</code> that was originally set when the account was assigned</td>\n</tr>\n<tr>\n<td>details.customer_surname</td>\n<td>The <code>customer_surname</code> that was originally set when the account was assigned</td>\n</tr>\n<tr>\n<td>data</td>\n<td>An object containing a key/value pair of any needed extra information</td>\n</tr>\n<tr>\n<td>meta</td>\n<td>An object containing a key/value pair of any needed extra information</td>\n</tr>\n<tr>\n<td>app_info.app_code</td>\n<td>The unique code of your App on OnePipe</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"the-response\">The response</h5>\n<p>Your response should look like what's below:</p>\n<p><strong>The body</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"status\": \"Successful\",\n  \"message\": \"Transaction processed successfully\",\n  \"data\": {\n    \"provider_response_code\": \"00\",\n    \"provider\": \"{{your_app_code}}\", \n    \"errors\": null,\n    \"error\": null,\n    \"provider_response\": {\n      \"products\": [\n        {\n          \"order_reference\": \"101638163628490752\",\n          \"biller_item_id\": \"101638163628490752\",          \n          \"biller_item_code\": \"RAC01\",\n          \"biller_item_name\": \"DSTV Premium\",\n          \"biller_item_description\": \"This is DSTV Premium that is lovely\",\n          \"biller_item_image_url\": \"{{url to an image}}\",\n          \"biller_item_prompt\": \"Please neter your smartcard number\",\n          \"customer_name\": \"Kola Uju Abubakar Premium\",\n          \"biller_item_meta\": {}\n          \"amount\": \"500000\",\n          \"currency\": \"566\",\n          \"terms\": \"{{some HTML content}}\",\n          \"terms_url\": \"{{some url}}\"\n        },\n        {\n          \"order_reference\": \"101638163628490752\",\n          \"biller_item_id\": \"101638163628490752\",\n          \"biller_item_code\": \"RAC01\",\n          \"biller_item_name\": \"DSTV Premium\",\n          \"biller_item_description\": \"This is DSTV Premium that is lovely\",\n          \"biller_item_image_url\": \"{{url to an image}}\",\n          \"biller_item_prompt\": \"Please neter your smartcard number\",\n          \"customer_name\": \"Kola Uju Abubakar Premium\",\n          \"biller_item_meta\": {}\n          \"amount\": \"500000\",\n          \"currency\": \"566\",\n          \"terms\": \"{{some HTML content}}\",\n          \"terms_url\": \"{{some url}}\"\n        }\n      ],\n      \"reference\": \"000022200225154318222333334432\",\n      \"meta\":{\n        \"field_key\":\"field_value\",\n        \"field_key\":\"field_value\"\n      }\n    }\n  }\n}\n\n</code></pre>\n<p>Please see <a href=\"https://onepipe.atlassian.net/wiki/spaces/PUB/pages/261062673/Lookup+Customer+Reference#Response\">here</a> for a full breakown of this specification and the fields.</p>\n<p>Next....</p>\n","_postman_id":"44e241be-4152-4db8-87b8-24517b3ac5fc"},{"name":"5. Receive payment completion","item":[],"id":"9a5efffe-e7aa-4980-bfb2-349611119076","description":"<h4 id=\"handle-reconciliation-with-payment-completion-request\">Handle reconciliation with Payment Completion request</h4>\n<p>When the money has been deposited, OnePipe will push a <code>payment completion</code> request to your callback URL so you can perform in-house clean ups and reconciliation.</p>\n<h5 id=\"the-request\">The request</h5>\n<p>The request will look like what's below:</p>\n<p><strong>Headers</strong></p>\n<ul>\n<li>Content-Type: application/json</li>\n<li>Signature: <code>{{MD5Hash(request_ref;your_app_secret)}}</code></li>\n</ul>\n<p>Please validate the signature to ensure the request came from OnePipe. See <a href=\"#the-headers\">here</a>.</p>\n<p><strong>Body</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"request_ref\": \"{{request_ref}}\",\n    \"request_type\": \"transaction_notification\",\n    \"requester\": \"{{provider}}\",\n    \"mock_mode\": \"live\", \n    \"details\": {\n        \"amount\": 100000,\n        \"status\": \"Successful|Failed\",\n        \"provider\": \"{{provider}}\",\n        \"customer_ref\": \"2349870818\",\n        \"customer_email\": \"roqak0@gmail.com\",\n        \"transaction_ref\": \"998383938292\",\n        \"customer_surname\": \"Adigun\",\n        \"transaction_desc\": \"{{transaction_description}}\",\n        \"transaction_type\": \"collect\",\n        \"customer_firstname\": \"Jonah\",\n        \"customer_mobile_no\": \"2349000870818\",\n        \"data\": {{{object containing raw data from the payment source}}}\n    },\n    \"app_info\": {\n        \"app_code\": \"{{your_app_code}}\"\n    }\n}\n\n</code></pre>\n<p><strong>What each element means</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>request_ref</td>\n<td>A unique ref set by the provider</td>\n</tr>\n<tr>\n<td>request_type</td>\n<td>This would be set to <code>payment_completion</code></td>\n</tr>\n<tr>\n<td>requester</td>\n<td>This would be the name of the provider</td>\n</tr>\n<tr>\n<td>mock_mode</td>\n<td>Will be set to <code>live</code> if this is a live call. It will be set to <code>inspect</code> if otherwise</td>\n</tr>\n<tr>\n<td>details.amount</td>\n<td>The amount that was received in lower denomination</td>\n</tr>\n<tr>\n<td>details.status</td>\n<td>Will be <code>Successful</code> or <code>Failed</code>.</td>\n</tr>\n<tr>\n<td>details.provider</td>\n<td>This would be the name of the provider</td>\n</tr>\n<tr>\n<td>details.transaction_ref</td>\n<td>A unique transaction reference as set by the provider</td>\n</tr>\n<tr>\n<td>details.transaction_type</td>\n<td>Will be typically set to <code>collect</code></td>\n</tr>\n<tr>\n<td>details.transaction_desc</td>\n<td>A description for the transaction. Most times the narration from the sender's bank</td>\n</tr>\n<tr>\n<td>details.customer_ref</td>\n<td>The <code>customer_ref</code> with which the account was assigned originally</td>\n</tr>\n<tr>\n<td>details.customer_firstname</td>\n<td>The <code>customer_firstname</code> with which the account was assigned originally</td>\n</tr>\n<tr>\n<td>details.customer_surname</td>\n<td>The <code>customer_surname</code> with which the account was assigned originally</td>\n</tr>\n<tr>\n<td>details.customer_email</td>\n<td>The <code>customer_email</code> with which the account was assigned originally</td>\n</tr>\n<tr>\n<td>details.customer_mobile_no</td>\n<td>The <code>customer_mobile_no</code> with which the account was assigned originally</td>\n</tr>\n<tr>\n<td>details.data</td>\n<td>A JSON object containing the raw and unparsed inflow data from the provider. This would vary from provider to provider and may change from time to time without notice.</td>\n</tr>\n<tr>\n<td>app_info.app_code</td>\n<td>Your app_code on OnePipe</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"the-response\">The response</h5>\n<p>Simply respond with a <code>200- OK</code>. Signalling acknowledgement and treatment. If your system does not respond as such, OnePipe will try again a few minutes later till it gets an OK.</p>\n<p>IMPORTANT NOTE: By the time you are receiving this notification, typically money has been moved into your configured destination account in realtime - less fees.</p>\n","_postman_id":"9a5efffe-e7aa-4980-bfb2-349611119076"},{"name":"6. Settlement process","item":[],"id":"42be892f-a321-4a66-9df8-001611c57f1c","description":"<h4 id=\"how-settlement-works\">How settlement works</h4>\n<p>Here's what you need to know about settlements:</p>\n<ol>\n<li><p>Settlement is in realtime</p>\n</li>\n<li><p>By the time you receive a notification, money would have been credited to your account</p>\n</li>\n<li><p>The credit will be less the agreed fees</p>\n</li>\n</ol>\n","_postman_id":"42be892f-a321-4a66-9df8-001611c57f1c"}],"id":"bcb0350d-5f58-4c2f-b64b-9444de7d9056","description":"<p>There is a new wave of payment approaches that businesses are starting to explore:</p>\n<ol>\n<li>Open a virtual account and map it to a customer</li>\n<li>Ask customers to transfer to that account</li>\n<li>Money is auto-swept into your account as soon as the credit hits</li>\n<li>Get notified once #3 has happened</li>\n<li>Process any pending order that the customer was supposed to pay for or fulfil their service request</li>\n</ol>\n<p>We built <a href=\"https://paywithtransfer.com/developers\">paywithtransfer.com</a> as a use case on OnePipe to drive this specific scenario.</p>\n<p>We adapted it for 2 variants.</p>\n<p>1. Specific for FMCG use cases<br />2. For general purpose use cases.</p>\n<p>This section talks about the general scenario</p>\n<hr />\n<h4 id=\"take-a-look-at-this\">Take a look at this</h4>\n<blockquote>\n<p>Want to see an ideal embedded payments integration that combines virtual accounts with 1-click direct-from-account payments? Play with <a href=\"http://demo.paywithaccount.com\">this demo</a> and see what happens after you register. You can embed an experience just like that </p>\n</blockquote>\n<hr />\n<blockquote>\n<p><strong>To get started:</strong> <a href=\"https://app.paywithaccount.com/sign-up\">Sign up, </a> and after compliance checks and approval, request API access</p>\n</blockquote>\n","_postman_id":"bcb0350d-5f58-4c2f-b64b-9444de7d9056"},{"name":"PaywithAccount","item":[{"name":"0. Getting started","item":[],"id":"dbfa698a-7fad-4649-bfc1-5d78994f4dc0","description":"<p>Here are the preliminary steps before you can use PaywithAccount via APIs</p>\n<ol>\n<li><p>Sign up on PaywithAccount [<a href=\"https://paywithaccount.com/guide/?q=How%20to%20request%20API%20access\">guide</a>]</p>\n</li>\n<li><p>Request API access [<a href=\"https://paywithaccount.com/guide/?q=How%20to%20request%20API%20access\">guide</a>]</p>\n</li>\n</ol>\n<p>Doc W.I.P.</p>\n","_postman_id":"dbfa698a-7fad-4649-bfc1-5d78994f4dc0"},{"name":"1. Setup a callback","item":[],"id":"e129a6cc-eb56-4144-8541-2b61af24e030","description":"<p>On the <a href=\"https://app.paywithaccount.com\">PaywithAccount</a> dashboard, after your merchant account has been setup, navigate to your business settings and configure your webhook URL.</p>\n<p>All notifications &amp; events will be delivered to the endpoint you have set up.</p>\n<blockquote>\n<p><strong>NOTE</strong>: This is an optional step. In all cases, your back office will receive all notifications by email. The webhook URL is simply to allow further automation on your systems.</p>\n</blockquote>\n","_postman_id":"e129a6cc-eb56-4144-8541-2b61af24e030"},{"name":"2. Request to link an account","item":[],"id":"d33f6048-6b8d-43aa-8ccc-679a7e6bed3c","description":"<h2 id=\"method-one-explicit-link-requests\">Method one: Explicit link requests</h2>\n<p>To get things started, you'd place a <code>create mandate</code> API call to OnePipe setting \"PaywithAccount\" as the <code>auth.auth_provider</code>. Please see sample payload below.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"request_ref\": \"111111111\",\n    \"request_type\": \"create mandate\",\n    \"auth\": {\n        \"type\": \"bank.account\",\n        \"secure\": \"{{TripleDES.encrypt(\"{accountNumber};{bankCBNCode}\",secretKey)}}\",\n        \"auth_provider\": \"PaywithAccount\"\n    },\n    \"transaction\": {\n        \"mock_mode\": \"Inspect\",\n        \"transaction_ref\": \"{{transaction-ref}}\",\n        \"transaction_desc\": \"Creating a mandate\",\n        \"transaction_ref_parent\": null,\n        \"amount\": 0,\n        \"customer\": {\n            \"customer_ref\": \"2348000021412\",\n            \"firstname\": \"Koko\",\n            \"surname\": \"Below\",\n            \"email\": \"kokobelow@gmail.com\",\n            \"mobile_no\": \"2348000021412\"\n        },\n        \"meta\": {\n            \"amount\": \"100000\",\n            \"skip_consent\": \"true\",\n            \"bvn\": \"{{TripleDES.encrypt(\"{BVN}\",secretKey)}}\",\n            \"biller_code\" : \"000019\",\n            \"customer_consent\": \"\"//url\n        },\n        \"details\": {}\n    }\n}\n\n</code></pre>\n<p>You would receive a <code>PendingValidation</code> or <code>Processing</code> response. Please see <a href=\"#onepipe-standard-status-codes\">here </a> for reference.</p>\n<h3 id=\"the-customers-experience\">The customer's experience</h3>\n<p>The customer would receive an SMS and email informing them to \"Link your account to make payments to XYZ Limited via PaywithAccount\".</p>\n<ol>\n<li><p>An account number will be presented to them</p>\n</li>\n<li><p>The customer makes a first payment or token to the account</p>\n</li>\n<li><p>#2 above proves their ownership of the account you provided in the <code>auth.secure</code> because they are able to send money from it. The account is immediately tokenized</p>\n</li>\n<li><p>Once their bank approves the tokenization, they would get an email confirmation</p>\n</li>\n</ol>\n<h2 id=\"method-two-implicit-link-requests\">Method two: Implicit link requests</h2>\n<p>With this approach, you will request a regular bank transfer payment from your customer, and once the transfer is successful, the source account is tokenized and can then be used for future payments.</p>\n<p>To get things started, you'd place a <code>send invoice</code> API call to OnePipe setting \"PaywithAccount\" as the <code>auth.auth_provider</code>. Please see sample payload below.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"request_ref\": \"111111111\",\n    \"request_type\": \"send invoice\",\n    \"auth\": {\n       \"type\": \"bank.account\",\n        \"secure\": \"{{TripleDES.encrypt(\"{accountNumber};{bankCBNCode}\",secretKey)}}\",\n        \"auth_provider\": \"PaywithAccount\"\n    },\n    \"transaction\": {\n        \"mock_mode\": \"Live\",\n        \"transaction_ref\": \"{{transaction-ref}}\",\n        \"transaction_desc\": \"collect a payment\",\n        \"transaction_ref_parent\": null,\n        \"amount\": 12200,\n        \"customer\": {\n            \"customer_ref\": \"2348000021412\",\n            \"firstname\": \"Koko\",\n            \"surname\": \"Below\",\n            \"email\": \"kokobelow@gmail.com\",\n            \"mobile_no\": \"2348000021412\"\n        },\n        \"meta\": {\n            \"type\":\"single_payment\",\n            \"expires_in\":1,\n            \"skip_messaging\": false,\n            \"biller_code\": \"000019\"\n        },\n        \"details\": {}\n    }\n}\n\n</code></pre>\n<p>When you make this call, a payment request confirmation would be sent to the customer, including a virtual account for them to make the payment to. If they complete that payment with the same account number you passed in via <code>auth.secure</code></p>\n<ol>\n<li><p>You will receive a payment notification (standard virtual account notification)</p>\n</li>\n<li><p>#1 above proves their ownership of the account you provided in the auth.secure because they are able to send money from it. The account is immediately tokenized</p>\n</li>\n</ol>\n<hr />\n<p><strong>A very important note</strong>: In direct-from-account payments, trust is a very crucial factor. It is <strong>very highly</strong> recommended that you ensure your customer knows to expect the message to link their account before triggering the request.</p>\n","_postman_id":"d33f6048-6b8d-43aa-8ccc-679a7e6bed3c"},{"name":"3. Receive confirmation of linked account","item":[],"id":"da6d6f0b-caf2-434b-9055-38d9811346b6","description":"<p>Once an account link request has been approved (typically takes &lt;24 hours), you will receive notifications to that effect.</p>\n<ol>\n<li><p>Via an email to your configured back office email address</p>\n</li>\n<li><p>As an API <code>POST</code> to your callback URL</p>\n</li>\n</ol>\n<p>Details of what the callback payload would look like is below</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"details\": {\n        \"data\": {\n            \"id\": 985,\n            \"data\": {\n                \"id\": 255,\n                \"amount\": \"325.00\",\n                \"status\": \"active\",\n                \"end_date\": \"2024-03-14\",\n                \"frequency\": \"daily\",\n                \"reference\": \"DD-SUB-ipmmHuznQdTPBtQ\",\n                \"start_date\": \"2024-03-13\"\n            },\n            \"type\": \"subscription\",\n            \"timestamp\": \"2024-03-12 08:02:02\"\n        },\n        \"meta\": {\n            \"route\": \"listener\",\n            \"amount\": 32500,\n            \"cr_account\": null,\n            \"cr_bank_code\": null,\n            \"pwt_skip_disburse\": true,\n            \"originator_cbn_code\": null,\n            \"subscription_status\": \"active\",\n            \"originator_account_number\": null\n        },\n        \"amount\": 32500,\n        \"status\": \"Successful\",\n        \"provider\": \"NIBSS\",\n        \"customer_ref\": \"2348000021412\",//customer\n        \"customer_email\": \"\",\n        \"transaction_ref\": \"DD-SUB-ipmmHuznQdTPBtQ\",\n        \"customer_surname\": \"\",\n        \"transaction_desc\": \"Subscription notification\",\n        \"transaction_type\": \"activate_mandate\", //note this\n        \"customer_firstname\": \"\",\n        \"customer_mobile_no\": \"2348000021412\"\n    },\n    \"app_info\": {\n        \"app_code\": \"PAYP647540\"\n    },\n    \"mock_mode\": \"Live\",\n    \"requester\": \"NIBSS\",\n    \"request_ref\": \"DD-SUB-ipmmHuznQdTPBtQ01\",\n    \"request_type\": \"transaction_notification\"\n}\n\n</code></pre>\n<p>Please see reference <a href=\"#60695d18-6d30-468f-ae5f-edee46d8c017\">here</a> for more details on notifications on OnePipe.</p>\n","_postman_id":"da6d6f0b-caf2-434b-9055-38d9811346b6"},{"name":"4. Collect from an account","item":[],"id":"1d9b0506-b9cc-4fc7-bb3a-bbef9745dfef","description":"<p>When an account has been linked, you can then go ahead and use the collect service at any point in time to pull from from it.</p>\n<p>See <a href=\"#cbdd318d-e1d5-4a3f-940d-e3a5d6b29b05\">here</a>, details of the collect service for reference.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"request_ref\": \"111111111\",\n    \"request_type\": \"collect\",\n    \"auth\": {\n        \"type\": \"bank.account\",\n        \"secure\": \"{{TripleDES.encrypt(\"{accountNumber};{bankCBNCode}\",secretKey)}}\",\n        \"auth_provider\": \"PaywithAccount\"\n    },\n    \"transaction\": {\n        \"mock_mode\": \"Live\",\n        \"transaction_ref\": \"{{transaction-ref}}\",\n        \"transaction_desc\": \"A nice narration\",\n        \"transaction_ref_parent\": null,\n        \"amount\": 15600,\n        \"customer\": {\n            \"customer_ref\": \"2348000021412\",\n            \"firstname\": \"Koko\",\n            \"surname\": \"Below\",\n            \"email\": \"kokobelow@gmail.com\",\n            \"mobile_no\": \"2348000021412\"\n        },\n        \"meta\": {\n         \"biller_code\": \"000019\"\n        },\n        \"details\": {}\n    }\n}\n\n</code></pre>\n<p>You will receive a standard OnePipe <code>Successful</code> response if everything went well.</p>\n","_postman_id":"1d9b0506-b9cc-4fc7-bb3a-bbef9745dfef"},{"name":"5. Schedule collections","item":[],"id":"f84d06cd-9c00-4006-bbd7-3ef449346b95","description":"<p>Typically, direct-from-account payments are used to achieve more effecient recurring payments. To make this happen, the <code>collect</code> call can be routed through the standard OnePipe <code>Sheduler</code>.</p>\n<p>See <a href=\"#scheduled-transactions\">here</a> more information about scheduled transactions on OnePipe.</p>\n<p>For the specifics of how to combine <code>Scheduler</code> + <code>PaywithAccount</code> please see sample payload below:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"request_ref\": \"111111111\",    \n    \"request_type\": \"collect\",      \n    \"auth\": {\n        \"type\": \"bank.account\",\n        \"secure\": \"{{TripleDES.encrypt(\"{accountNumber};{bankCBNCode}\",secretKey)}}\",\n        \"auth_provider\": \"Scheduler\"\n    },\n    \"transaction\": {\n        \"mock_mode\": \"live\",\n        \"transaction_ref\": \"{{transaction-ref}}\",\n        \"transaction_desc\": \"Data Subscription\",\n        \"transaction_ref_parent\": null,\n        \"amount\": 32500,\n        \"customer\": {\n            \"customer_ref\": \"2348000021412\",\n            \"firstname\": \"Koko\",\n            \"surname\": \"Below\",\n            \"email\": \"kokobelow@gmail.com\",\n            \"mobile_no\": \"2348000021412\"\n        },\n        \"meta\": {\n            \"repeat_frequency\": \"weekly\",\n            \"sub_repeat_frequency\": \"weekly\",\n            \"repeat_start\": \"2023-12-07-15-24-27\",\n            \"repeat_end\": \"2099-12-12-00-00-00\",\n            \"subscription_count\": \"1\",\n            \"subscription_date\": \"30/11/2023, 15:24:27\",\n            \"expiry_date\": \"12/12/2099, 01:00:00\",\n            \"subscription_status\": \"Running\",\n            \"subscription_id\": \"kF56i6cb\",\n            \"sales_price\": \"32500\",\n            \"normal_price\": \"55000\",\n            \"biller_id\": \"airtel\",\n            \"biller_item_id\": \"599\",\n            \"product\": \"1GB\",\n            \"repeat_target_provider\": \"PaywithAccount\",\n            \"otp_override\": \"true\"\n        },\n        \"details\": {},\n        \"options\": null\n    }\n}\n\n</code></pre>\n<p>You would receive standard OnePipe responses.</p>\n","_postman_id":"f84d06cd-9c00-4006-bbd7-3ef449346b95"},{"name":"6. Receive payment confirmations","item":[],"id":"203a3b67-faec-493c-b6ab-024a25dd6d3f","description":"<p>For every completed payment, successful or not, if you have a callback_url configured, you will receive notifications.</p>\n<ol>\n<li><p>Via an email to your configured back office email address</p>\n</li>\n<li><p>As an API <code>POST</code> to your callback URL</p>\n</li>\n</ol>\n<p>Details of what the callback payload would look like is below</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"details\": {\n        \"data\": {\n            \"data\": {\n                \"error\": null,\n                \"errors\": null,\n                \"status\": null,\n                \"provider\": \"NIBSS\",\n                \"reference\": null,\n                \"provider_response\": {\n                    \"meta\": {\n                        \"session_id\": \"9098898998098098333\",\n                        \"subscription_id\": 3546\n                    },\n                    \"reference\": \"DD-UFbr7Ki0BG6STbj\",\n                    \"paymentoptions\": [],\n                    \"provider_auth_token\": \"2001730400;100\",\n                    \"transaction_final_amount\": 10000\n                },\n                \"provider_response_code\": \"00\"\n            },\n            \"status\": \"Successful\",\n            \"message\": \"Transaction processed successfully\"\n        },\n        \"meta\": {\n            \"fee\": \"5100\",\n            \"biller_id\": \"3\",\n            \"narration\": \"Pay OnePipe Subscription Manag\",\n            \"account_no\": \"2001730400\", //Identify customer with this\n            \"mandate_id\": \"1995\",\n            \"biller_code\": \"000003\", //Identify merchant with this\n            \"biller_name\": \"OnePipe Subscription Manager\",\n            \"expiry_date\": \"2025-03-02-00-00-00\",\n            \"account_name\": \"BELOW KOKO\",\n            \"biller_email\": \"kokobiller@below.io\",\n            \"biller_status\": \"active\",\n            \"pwt_item_code\": \"31557\",\n            \"subscription_id\": \"3546\",\n            \"biller_rc_number\": \"RC1544100\",\n            \"skip_fee_disburse\": \"true\",\n            \"biller_account_name\": \"PAYGATEPLUS DATA BUNDLE SALES\",\n            \"biller_phone_number\": \"08052000773\",\n            \"biller_account_number\": \"9999922570\",\n            \"sales_representative_id\": \"\",\n            \"mandate_reference_number\": \"RC1544159/1557/0007109012\",\n            \"sales_representative_name\": \"\",\n            \"pwt_maintain_notification_meta\": \"true\",\n            \"event_type\": \"debit\" //note this\n        },\n        \"amount\": \"10000\",\n        \"status\": \"Successful\",\n        \"provider\": \"NIBSS\",\n        \"customer_ref\": \"2001730400\",\n        \"customer_email\": \"\",\n        \"transaction_ref\": \"DD-SGLnWjK6ClFonZmCMnschedule1\", // Identify transaction with this\n        \"customer_surname\": \"BELOW\",\n        \"transaction_desc\": \"Test\",\n        \"transaction_type\": \"collect\",\n        \"customer_firstname\": \"KOKO\",\n        \"customer_mobile_no\": \"\"\n    },\n    \"app_info\": {\n        \"app_code\": \"PAYP396648\"\n    },\n    \"mock_mode\": \"Live\",\n    \"requester\": \"Scheduler\",\n    \"request_ref\": \"f6300559bd2e42a0b83369554538a299\",\n    \"request_type\": \"transaction_notification\"\n}\n\n</code></pre>\n<p>Please see reference <a href=\"#60695d18-6d30-468f-ae5f-edee46d8c017\">here</a> for more details on notifications on OnePipe.</p>\n","_postman_id":"203a3b67-faec-493c-b6ab-024a25dd6d3f"},{"name":"7. Send invoices via WhatsApp","item":[],"id":"146b1c4f-8969-47c4-a24c-0d018dcac65f","_postman_id":"146b1c4f-8969-47c4-a24c-0d018dcac65f","description":""}],"id":"685c2eb5-fe52-4d94-99ed-19b5269c156a","description":"<p>OnePipe supports <em>direct-from-account</em> payments. This enables money to be <em>pulled</em> from customer bank accounts into your business account. Either as a one-time transaction, or on a recurring basis. We built <a href=\"https://paywithaccount.com\">paywithaccount.com</a> as a use case on OnePipe to drive this specific scenario.</p>\n<p>[ <a href=\"https://www.youtube.com/watch?v=-VND79PZuXQ\">explainer video</a> | <a href=\"https://www.paywithtransfer.com/developers/\">product website </a> | <a href=\"https://paywithaccount.com/sandbox\">sandbox postman collection</a> ]</p>\n<h2 id=\"customers-can-link-their-bank-accounts-to-your-platform\">Customers can link their bank accounts to your platform</h2>\n<img src=\"https://content.pstmn.io/5e41ce1b-52ee-43db-a297-10d3054b3451/bGluay1hY2NvdW50LnBuZw==\" />\n\n<h2 id=\"you-can-take-payments-from-linked-accounts\">You can take payments from linked accounts</h2>\n<img src=\"https://content.pstmn.io/7499d453-783f-4817-9acc-8423e1e2f8fd/Y29sbGVjdC1mcm9tLWFjY291bnQucG5n\" />\n\n<ol>\n<li><p>Request a customer's consent to link their account to your service</p>\n</li>\n<li><p>Wait a bit for their consent and bank approval to be processed</p>\n</li>\n<li><p>You'd get a notification on your webhook once #2 has happened</p>\n</li>\n<li><p>Then, you can request payments off those accounts at any time</p>\n</li>\n<li><p>You can also call the <a href=\"#f84d06cd-9c00-4006-bbd7-3ef449346b95\">scheduler </a> at any time to setup recurring payments</p>\n</li>\n<li><p>Listen for notifications informing you of successful or failed transactions</p>\n</li>\n<li><p>Fulfil the customer's service request based on #6</p>\n</li>\n</ol>\n<hr />\n<h4 id=\"take-a-look-at-whats-possible\">Take a look at what's possible</h4>\n<blockquote>\n<p>Want to see an ideal embedded payments integration that combines virtual accounts with 1-click direct-from-account payments? Play with <a href=\"http://demo.paywithaccount.com\">this demo</a> and see what happens after you register. You can embed an experience just like that </p>\n</blockquote>\n<hr />\n<blockquote>\n<p><strong>To get started:</strong> <a href=\"https://app.paywithaccount.com/sign-up\">Sign up, </a> and after compliance checks and approval, request API access. You can also be provided with a prepared postman collection that you can just import and use if you don't want to construct your collection yourself using the information provided.</p>\n</blockquote>\n","_postman_id":"685c2eb5-fe52-4d94-99ed-19b5269c156a"},{"name":"Subscription Manager","item":[{"name":"1. Get the offers","item":[{"name":"Onboard /Options","id":"2cda9108-b6b7-44d7-bddc-30a5fa96bdb2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1","type":"text"},{"key":"Signature","value":"3a2b58350e8068507e6b5bff106850a5","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"request_ref\":\"111111111\", \n  \"request_type\":\"onboard\",\n  \"auth\": {\n    \"type\": null, \n    \"secure\": null,\n    \"auth_provider\": \"PolarisSubManager\",\n    \"route_mode\":null\n  },\n  \"transaction\": {\n    \"mock_mode\": \"inspect\", \n    \"transaction_ref\": \"{{transaction-ref}}\", \n    \"transaction_desc\": \"Tell me the products available\", \n    \"transaction_ref_parent\": \"\", \n    \"amount\": 0,\n    \"customer\":{\n    \t\"customer_ref\": \"2348098976543\",\n    \t\"firstname\": \"MONSURU\",\n        \"surname\": \"BANKOLE\",\n    \t\"email\": \"monsurubanky123@gmail.com\",\n    \t\"mobile_no\": \"2348098976543\"\n    },\n    \"meta\":null,\n    \"details\":{\n        \"name_on_account\": \"MONSURU BANKOLE\",\n        \"middlename\": \"AYANFE\",\n        \"dob\": null,\n        \"gender\": null,\n        \"title\": null,\n        \"address_line_1\": null,\n        \"address_line_2\": null,\n        \"city\": null,\n        \"state\": null,\n        \"country\": \"NG\"        \n    }\n  }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact/options","description":"<p>Make an <a href=\"#the-main-operations-you-can-perform\">options</a> call to OnePipe with the <code>request_type</code> = <code>onboard</code></p>\n<p>First, please be sure to have gone through...</p>\n<ul>\n<li><a href=\"#the-headers\">The headers</a></li>\n<li><a href=\"#the-main-operations-you-can-perform\">Main API operations</a></li>\n<li><a href=\"#what-requests-would-look-like\">Typical OnePipe requests</a></li>\n<li><a href=\"#what-responses-would-look-like\">Typical OnePipe responses</a></li>\n<li><a href=\"#encryption-of-secure-element\">Encryption of the <code>secure</code> element</a></li>\n</ul>\n<p>Now, here's the call sequence specific to this service...</p>\n<ol>\n<li>Call <code>/transact/options</code></li>\n<li>Provider responds with <code>OptionsDelivered</code> if everything went well</li>\n<li>To query the status of a transaction, call <code>/transact/query</code></li>\n</ol>\n<h4 id=\"interpreting-the-response\">Interpreting the response</h4>\n<ul>\n<li>Read the reponse</li>\n<li>Read the <code>data.provider_response.products[]</code> array to see the available products</li>\n</ul>\n<h4 id=\"possible-status-values\">Possible status values</h4>\n<ul>\n<li><strong>OptionsDelivered</strong>: Success</li>\n<li><strong>Processing</strong>: The API call took too long. You may need to query status to get your response or try again</li>\n<li><strong>[Anything else]</strong>: Error. Read the errors object(s)</li>\n</ul>\n<h4 id=\"request-body-elements\">Request body elements</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Requirement</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>request_ref</td>\n<td>string</td>\n<td>compulsory</td>\n<td>A unique reference for this API call</td>\n</tr>\n<tr>\n<td>request_type</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Set to <code>onboard</code></td>\n</tr>\n<tr>\n<td>auth.type</td>\n<td>string</td>\n<td>optional</td>\n<td>Set to <code>null</code></td>\n</tr>\n<tr>\n<td>auth.secure</td>\n<td>string</td>\n<td>optional</td>\n<td>Set to <code>null</code></td>\n</tr>\n<tr>\n<td>auth.auth_provider</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Set to <code>{BankName}SubManager</code></td>\n</tr>\n<tr>\n<td>auth.route_mode</td>\n<td>string</td>\n<td>optional</td>\n<td>Set to <code>null</code></td>\n</tr>\n<tr>\n<td>transaction.mock_mode</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Set to <code>inspect</code> (for test mode) or <code>live</code> (for live mode)</td>\n</tr>\n<tr>\n<td>transaction.transaction_ref</td>\n<td>string</td>\n<td>compulsory</td>\n<td>A unique reference for the API call</td>\n</tr>\n<tr>\n<td>transaction.transaction.desc</td>\n<td>string</td>\n<td>compulsory</td>\n<td>A short description or narration</td>\n</tr>\n<tr>\n<td>transaction.transaction_ref_parent</td>\n<td>string</td>\n<td>optional</td>\n<td>Set to <code>null</code></td>\n</tr>\n<tr>\n<td>amount</td>\n<td>int</td>\n<td>compulsory</td>\n<td>Set to <code>0</code></td>\n</tr>\n<tr>\n<td>transaction.customer.customer_ref</td>\n<td>string</td>\n<td>compulsory</td>\n<td>A unique reference to identify this customer</td>\n</tr>\n<tr>\n<td>transaction.customer.firstname</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The firstname of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.surname</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The surname of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.email</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The email of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.mobile_no</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The mobile number of the customer</td>\n</tr>\n<tr>\n<td>transaction.details.middlename</td>\n<td>string</td>\n<td>optional</td>\n<td>Set to <code>null</code></td>\n</tr>\n<tr>\n<td>transaction.details.name_on_account</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Set to <code>null</code></td>\n</tr>\n<tr>\n<td>transaction.details.dob</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Date string for date of birth  <br />  <br />Set to <code>null</code></td>\n</tr>\n<tr>\n<td>transaction.details.gender</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Gender of the customer. This can be set to either M or F  <br />  <br />Set to <code>null</code></td>\n</tr>\n<tr>\n<td>transaction.details.title</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Gender of the customer. This can be set to either Mr, Mrs, Ms  <br />  <br />Set to <code>null</code></td>\n</tr>\n<tr>\n<td>transaction.details.address_line_1</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Address of customer  <br />  <br />Set to <code>null</code></td>\n</tr>\n<tr>\n<td>transaction.details.address_line_2</td>\n<td>string</td>\n<td>optional</td>\n<td>Address of customer  <br />  <br />Set to <code>null</code></td>\n</tr>\n<tr>\n<td>transaction.details.city</td>\n<td>string</td>\n<td>compulsory</td>\n<td>City  <br />  <br />Set to <code>null</code></td>\n</tr>\n<tr>\n<td>transaction.details.state</td>\n<td>string</td>\n<td>compulsory</td>\n<td>State  <br />  <br />Set to <code>null</code></td>\n</tr>\n<tr>\n<td>transaction.details.country</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Country  <br />  <br />Set to <code>null</code></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response-body-elements\">Response body elements</h4>\n<p>Here are the response body elements worth paying attention to. Any not listed here may be safely ignored.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Element</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>status</td>\n<td>Standard response. <strong>OptionsDelivered</strong> is what you're looking for to determine that you've got the list of offers.</td>\n</tr>\n<tr>\n<td>message</td>\n<td>A message or description of the response</td>\n</tr>\n<tr>\n<td>data.provider</td>\n<td>The provider that was used to process the request</td>\n</tr>\n<tr>\n<td>data.provider_response_code</td>\n<td>Response code as determined by the underlying provider</td>\n</tr>\n<tr>\n<td>data.provider_response.products[]</td>\n<td>This would be a list of all available offers</td>\n</tr>\n<tr>\n<td>data.provider_response.products[].biller_item_image_url</td>\n<td>A logo or image for the product</td>\n</tr>\n<tr>\n<td>data.provider_response.products[].terms_url</td>\n<td>A url to full terms, conditions and the detailed contract the customer would receive upon opt-in</td>\n</tr>\n<tr>\n<td>data.provider_response.products[].biller_item_meta.pwt_item_description</td>\n<td>The name of the product as should be presented to the customer</td>\n</tr>\n<tr>\n<td>data.provider_response.products[].biller_item_meta.activation_description</td>\n<td>HTML info presenting the offer description</td>\n</tr>\n<tr>\n<td>data.provider_response.products[].biller_item_meta.normal_price</td>\n<td>The market rate for the product <em>normally.</em> In higher denomination</td>\n</tr>\n<tr>\n<td>data.provider_response.products[].biller_item_meta.discount_price</td>\n<td>The price it would be sold for at the point of opt-in. The first transaction. In higher denomination</td>\n</tr>\n<tr>\n<td>data.provider_response.products[].biller_item_meta.sale_price</td>\n<td>The price it would be sold for subsequently at each renewal cycle</td>\n</tr>\n<tr>\n<td>data.provider_response.products[].biller_item_meta.frequency</td>\n<td>Renewal schedule: hourly, daily, weekly, monthly, yearly</td>\n</tr>\n<tr>\n<td>data.provider_response.products[].biller_item_meta.terms</td>\n<td>Clear fine print for the customer to agree with. Ideally, present this with a checkbox that the user has to check in order to proceed.</td>\n</tr>\n<tr>\n<td>data.provider_response.products[].biller_item_meta.product_savings</td>\n<td>The discount the user will enjoy, versus market rate</td>\n</tr>\n<tr>\n<td>data.provider_response.products[].biller_item_meta.collect_provider</td>\n<td>The ONLY payment provider that will be supported for recurring payment. This field will be passed back to OnePipe in subsequent calls</td>\n</tr>\n<tr>\n<td>data.provider_response.products[].biller_item_meta.provider_auth_token</td>\n<td>Will be null. This field will be used to passin the customer's account number in subsequent calls</td>\n</tr>\n<tr>\n<td>data.provider_response.meta</td>\n<td>A custom object that can hold any extra information the provider deems necessary in key vs value pairs.</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["v2","transact","options"],"host":["https://api.onepipe.io"],"query":[],"variable":[]}},"response":[{"id":"515c4bf3-92a7-4956-b4ba-81c58fa899b6","name":"OptionsDelivered","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1","type":"text"},{"key":"Signature","value":"3a2b58350e8068507e6b5bff106850a5","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"request_ref\":\"111111111\", \n  \"request_type\":\"onboard\",\n  \"auth\": {\n    \"type\": null, \n    \"secure\": null,\n    \"auth_provider\": \"PolarisSubManager\",\n    \"route_mode\":null\n  },\n  \"transaction\": {\n    \"mock_mode\": \"inspect\", \n    \"transaction_ref\": \"{{transaction-ref}}\", \n    \"transaction_desc\": \"Tell me the products available\", \n    \"transaction_ref_parent\": \"\", \n    \"amount\": 0,\n    \"customer\":{\n    \t\"customer_ref\": \"2348098976543\",\n    \t\"firstname\": \"MONSURU\",\n        \"surname\": \"BANKOLE\",\n    \t\"email\": \"monsurubanky123@gmail.com\",\n    \t\"mobile_no\": \"2348098976543\"\n    },\n    \"meta\":null,\n    \"details\":{\n        \"name_on_account\": \"MONSURU BANKOLE\",\n        \"middlename\": \"AYANFE\",\n        \"dob\": null,\n        \"gender\": null,\n        \"title\": null,\n        \"address_line_1\": null,\n        \"address_line_2\": null,\n        \"city\": null,\n        \"state\": null,\n        \"country\": \"NG\"        \n    }\n  }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact/options"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sat, 16 Dec 2023 15:04:28 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"3815"},{"key":"Connection","value":"keep-alive"},{"key":"Strict-Transport-Security","value":"max-age=15552000; includeSubdomains; preload"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Frame-Options","value":"DENY"},{"key":"X-Xss-Protection","value":"1; mode=block"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"OptionsDelivered\",\n    \"message\": \"Options processed successfully.\",\n    \"data\": {\n        \"options\": null,\n        \"app_info\": null,\n        \"provider_response_code\": \"00\",\n        \"provider\": \"SubManager\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"products\": [\n                {\n                    \"order_reference\": \"38363211760260\",\n                    \"biller_item_id\": 31290,\n                    \"biller_item_code\": null,\n                    \"biller_item_name\": \"Test 1GB Data\",\n                    \"biller_item_description\": \"Test 1GB Data\",\n                    \"biller_item_image_url\": \"{{url to an image}}\",\n                    \"biller_item_prompt\": null,\n                    \"customer_name\": null,\n                    \"currency\": \"566\",\n                    \"terms\": \"Subscription will be renewed automatically from your account every week. At 35% discount.\",\n                    \"terms_url\": \"{{https://onepipe.io/start/terms/subscriptions/l}}\",\n                    \"biller_item_meta\": {\n                        \"page_info\": {\n                            \"id\": 31290,\n                            \"name\": \"Test 1GB Data\",\n                            \"slug\": \"test111\",\n                            \"description\": \"Test 1GB Data\",\n                            \"status\": \"active\",\n                            \"pwt_account_number\": null,\n                            \"pwt_bank_code\": \"--select--\",\n                            \"pwt_notification_email\": null,\n                            \"pwt_notification_phone\": null,\n                            \"pwt_notification_sms_template\": null,\n                            \"pwt_webhook_url\": \"https://bills.bits.dev.onepipe.io/data-sub/webhook\",\n                            \"sort_order\": 0,\n                            \"tags\": null,\n                            \"created_at\": \"2023-12-08T16:10:42Z\",\n                            \"updated_at\": \"2023-12-16T03:25:45Z\",\n                            \"pwt_mandate_phone\": null\n                        },\n                        \"pwt_item_description\": \"Test 1GB Data\",\n                        \"pwt_item_code\": null,\n                        \"pwt_item_amount\": 32500,\n                        \"transaction_date\": \"2023-11-30-15-13-19\",\n                        \"created_date\": \"2023-11-30-15-11-47\",\n                        \"biller_id\": \"airtel\",\n                        \"biller_item_id\": \"599\",\n                        \"processing_method\": \"PWT\",\n                        \"page_id\": 31290,\n                        \"activation description\": \"<b>35%</b> if you act now <b>(₦325)</b></span>\",\n                        \"subscription description\": \"<p></p>\",\n                        \"normal_price\": \"550\",\n                        \"sales_price\": \"325\",\n                        \"discount_price\": \"325\",\n                        \"frequency\": \"weekly\",\n                        \"product\": \"1GB\",\n                        \"terms\": \"Subscription will be renewed automatically from your Fidelity account every week. At 35% discount.\",\n                        \"provider_price\": \"250\",\n                        \"provider\": \"Ibrolinks\",\n                        \"product_subcategory\": \"bundle\",\n                        \"product_savings\": \"Save 35%\",\n                        \"provider_auth_token\": null,\n                        \"collect_provider\": \"Polaris\"\n                    }\n                },\n                {\n                    \"order_reference\": \"38363211760260\",\n                    \"biller_item_id\": 31291,\n                    \"biller_item_code\": null,\n                    \"biller_item_name\": \"Test 1GB Data 2\",\n                    \"biller_item_description\": \"Test 1GB Data 2\",\n                    \"biller_item_image_url\": \"{{url to an image}}\",\n                    \"biller_item_prompt\": null,\n                    \"customer_name\": null,\n                    \"currency\": \"566\",\n                    \"terms\": \"Subscription will be renewed automatically from your account every week. At 35% discount.\",\n                    \"terms_url\": \"{{https://onepipe.io/start/terms/subscriptions/l}}\",\n                    \"biller_item_meta\": {\n                        \"page_info\": {\n                            \"id\": 31291,\n                            \"name\": \"Test 1GB Data 2\",\n                            \"slug\": \"test2222\",\n                            \"description\": \"Test 1GB Data 2\",\n                            \"status\": \"active\",\n                            \"pwt_account_number\": null,\n                            \"pwt_bank_code\": \"--select--\",\n                            \"pwt_notification_email\": null,\n                            \"pwt_notification_phone\": null,\n                            \"pwt_notification_sms_template\": null,\n                            \"pwt_webhook_url\": \"https://test001.free.beeceptor.com\",\n                            \"sort_order\": 0,\n                            \"tags\": null,\n                            \"created_at\": \"2023-12-08T16:33:19Z\",\n                            \"updated_at\": \"2023-12-16T11:19:25Z\",\n                            \"pwt_mandate_phone\": null\n                        },\n                        \"pwt_item_description\": \"Test 1GB Data 2\",\n                        \"pwt_item_code\": null,\n                        \"pwt_item_amount\": 32500,\n                        \"transaction_date\": \"2023-11-30-15-13-19\",\n                        \"created_date\": \"2023-11-30-15-11-47\",\n                        \"biller_id\": \"airtel\",\n                        \"biller_item_id\": \"599\",\n                        \"processing_method\": \"PWT\",\n                        \"page_id\": 31291,\n                        \"activation description\": \"<b>35%</b> if you act now <b>(₦325)</b></span>\",\n                        \"subscription description\": \"<p></p>\",\n                        \"normal_price\": \"550\",\n                        \"sales_price\": \"325\",\n                        \"discount_price\": \"325\",\n                        \"frequency\": \"weekly\",\n                        \"product\": \"1GB\",\n                        \"terms\": \"Subscription will be renewed automatically from your Fidelity account every week. At 35% discount.\",\n                        \"provider_price\": \"250\",\n                        \"provider\": \"Ibrolinks\",\n                        \"product_subcategory\": \"bundle\",\n                        \"product_savings\": \"Save 35%\",\n                        \"provider_auth_token\": null,\n                        \"collect_provider\": \"Polaris\"\n                    }\n                }\n            ]\n        },\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"}],"_postman_id":"2cda9108-b6b7-44d7-bddc-30a5fa96bdb2"}],"id":"17e8a6f3-6f83-4cde-afed-e6dbe831abdd","description":"<p>The very first step is to determine the available offers and promotions at any specific point in time. Offers and their terms may vary from time to time.</p>\n<p>Ideally, you could get these offers once and cache the results, then refresh them from time to time to keep it updated. You'd be informed any time there's a significant change.</p>\n","_postman_id":"17e8a6f3-6f83-4cde-afed-e6dbe831abdd"},{"name":"2. Manage the opt-in workflow","item":[],"id":"5ffc1bba-cda5-4276-b7e3-63f007d2dafb","description":"<h4 id=\"present-the-offers-to-the-customer\"><strong>Present the offers to the customer</strong></h4>\n<p>Each offer would look like the below and this view can be constructed based on the following elements from the previous API call</p>\n<ul>\n<li>data.provider_response.products[].biller_item_meta.pwt_item_description</li>\n<li>data.provider_response.products[].biller_item_image_url</li>\n<li>data.provider_response.products[].biller_item_meta.normal_price</li>\n<li>data.provider_response.products[].biller_item_meta.discount_price</li>\n<li>data.provider_response.products[].biller_item_meta.activation_desctiption</li>\n<li>data.provider_response.products[].biller_item_meta.product_savings</li>\n</ul>\n<img src=\"https://content.pstmn.io/ee451eec-e6e2-4276-b8c7-bc11f919c4a0/U1VCTWFuYWdlci1TY3JlZW5zaG90IDIwMjMtMTItMTYgMTUyODI0LTMucG5n\" width=\"360\" height=\"297\" />\n\n<h4 id=\"present-the-terms-to-the-customer\">Present the terms to the customer</h4>\n<p>If the user engaes the call-to-action, present the detailed terms for accptance like below. This view can be constructed based on the following elements from the prior API call</p>\n<ul>\n<li>data.provider_response.products[].biller_item_meta.activation_desctiption</li>\n<li>data.provider_response.products[].biller_item_meta.terms</li>\n<li>data.provider_response.products[].terms_url</li>\n</ul>\n<img src=\"https://content.pstmn.io/12eb57ac-49f4-44ef-838e-7d8563f47c78/U1VCTWFuYWdlci1TY3JlZW5zaG90IDIwMjMtMTItMTYgMTUyODI0LTQucG5n\" width=\"349\" height=\"321\" />\n\n<p><strong>KEY NOTE:</strong> If the customer does not accept the terms by checking the box, do not move forward. A signed contract will be sent to the customer based on the assumption of their agreement and consent.</p>\n","_postman_id":"5ffc1bba-cda5-4276-b7e3-63f007d2dafb"},{"name":"3. Onboard the user","item":[{"name":"Onboard","id":"ea921ae0-0d1d-4b77-ad1d-7a55fbc7a059","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1","type":"text"},{"key":"Signature","value":"3a2b58350e8068507e6b5bff106850a5","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"request_ref\":\"111111111\", \n  \"request_type\":\"onboard\",\n  \"auth\": {\n    \"type\": null, \n    \"secure\": null,\n    \"auth_provider\": \"{Bank}SubManager\",\n    \"route_mode\":null\n  },\n  \"transaction\": {\n    \"mock_mode\": \"inspect\", \n    \"transaction_ref\": \"{{transaction-ref}}\", \n    \"transaction_desc\": \"AIRTEL 1GB every 7 days\", \n    \"transaction_ref_parent\": \"\", \n    \"amount\": 0,\n    \"customer\":{\n    \t\"customer_ref\": \"2349066870818\",\n    \t\"firstname\": \"Uju\",\n        \"surname\": \"Usmanu\",\n    \t\"email\": \"ujuusmanu@gmail.com\",\n    \t\"mobile_no\": \"234802343132\"\n    },\n    \"meta\":{\n    \t\"pwt_item_description\": \"kF56i6cb\",\n        \"pwt_item_code\": null,\n        \"pwt_item_amount\": 32500,\n        \"transaction_date\": \"2023-11-30-15-13-19\",\n        \"created_date\": \"2023-11-30-15-11-47\",\n        \"biller_id\": \"airtel\",\n        \"biller_item_id\": \"599\",\n        \"processing_method\": \"PWT\",\n        \"page_id\": 2305,\n        \"activation description\": \"<b>35%</b> if you act now <b>(₦325)</b></span>\",\n        \"subscription description\": \"<p></p>\",\n        \"normal_price\": \"550\",\n        \"sales_price\": \"325\",\n        \"discount_price\": \"325\",\n        \"frequency\": \"weekly\",\n        \"product\": \"1GB\",\n        \"terms\": \"Subscription will be renewed automatically from your Fidelity account every week. At 35% discount.\",\n        \"provider_price\": \"250\",\n        \"provider\": \"Ibrolinks\",\n        \"product_subcategory\": \"bundle\",\n        \"product_savings\": \"Save 35%\",\n        \"provider_auth_token\": \"6234784766\",\n        \"collect_provider\": \"Polaris\"\n    },\n    \"details\":{\n        \"name_on_account\": \"MONSURU BANKOLE\",\n        \"middlename\": \"AYANFE\",\n        \"dob\": null,\n        \"gender\": null,\n        \"title\": null,\n        \"address_line_1\": null,\n        \"address_line_2\": null,\n        \"city\": null,\n        \"state\": null,\n        \"country\": \"NG\"        \n    }\n  }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact","description":"<p>Make an <a href=\"#the-main-operations-you-can-perform\">transact</a> call to OnePipe with the <code>request_type</code> = <code>onboard</code></p>\n<p>First, please be sure to have gone through...</p>\n<ul>\n<li><a href=\"#the-headers\">The headers</a></li>\n<li><a href=\"#the-main-operations-you-can-perform\">Main API operations</a></li>\n<li><a href=\"#what-requests-would-look-like\">Typical OnePipe requests</a></li>\n<li><a href=\"#what-responses-would-look-like\">Typical OnePipe responses</a></li>\n<li><a href=\"#encryption-of-secure-element\">Encryption of the <code>secure</code> element</a></li>\n</ul>\n<p>Now, here's the call sequence specific to this service...</p>\n<ol>\n<li>Call <code>/transact</code></li>\n<li>Provider responds with <code>Successful</code> if everything went well</li>\n<li>To query the status of a transaction, call <code>/transact/query</code></li>\n</ol>\n<h4 id=\"interpreting-the-response\">Interpreting the response</h4>\n<ul>\n<li>Read the reponse</li>\n<li>Read the <code>data.provider_response</code> to determine that the workflow for to complete the customer opt-in has been queued up</li>\n</ul>\n<h4 id=\"possible-status-values\">Possible status values</h4>\n<ul>\n<li><strong>Successful</strong>: Success</li>\n<li><strong>Processing</strong>: The API call took too long. You may need to query status to get your response or try again</li>\n<li><strong>[Anything else]</strong>: Error. Read the errors object(s)</li>\n</ul>\n<h4 id=\"request-body-elements\">Request body elements</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Requirement</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>request_ref</td>\n<td>string</td>\n<td>compulsory</td>\n<td>A unique reference for this API call</td>\n</tr>\n<tr>\n<td>request_type</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Set to <code>onboard</code></td>\n</tr>\n<tr>\n<td>auth.type</td>\n<td>string</td>\n<td>optional</td>\n<td>Set to <code>null</code></td>\n</tr>\n<tr>\n<td>auth.secure</td>\n<td>string</td>\n<td>optional</td>\n<td>Set to <code>null</code></td>\n</tr>\n<tr>\n<td>auth.auth_provider</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Set to <code>{BankName}SubManager</code></td>\n</tr>\n<tr>\n<td>auth.route_mode</td>\n<td>string</td>\n<td>optional</td>\n<td>Set to <code>null</code></td>\n</tr>\n<tr>\n<td>transaction.mock_mode</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Set to <code>inspect</code> (for test mode) or <code>live</code> (for live mode)</td>\n</tr>\n<tr>\n<td>transaction.transaction_ref</td>\n<td>string</td>\n<td>compulsory</td>\n<td>A unique reference for the API call</td>\n</tr>\n<tr>\n<td>transaction.transaction.desc</td>\n<td>string</td>\n<td>compulsory</td>\n<td>A short description or narration</td>\n</tr>\n<tr>\n<td>transaction.transaction_ref_parent</td>\n<td>string</td>\n<td>optional</td>\n<td>Set to <code>null</code></td>\n</tr>\n<tr>\n<td>amount</td>\n<td>int</td>\n<td>compulsory</td>\n<td>Set to <code>0</code></td>\n</tr>\n<tr>\n<td>transaction.customer.customer_ref</td>\n<td>string</td>\n<td>compulsory</td>\n<td>A unique reference to identify this customer</td>\n</tr>\n<tr>\n<td>transaction.customer.firstname</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The firstname of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.surname</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The surname of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.email</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The email of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.mobile_no</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The mobile number of the customer. Their signed contract will be delivered to this email address.</td>\n</tr>\n<tr>\n<td>transaction.details.middlename</td>\n<td>string</td>\n<td>optional</td>\n<td>Set to <code>null</code></td>\n</tr>\n<tr>\n<td>transaction.details.name_on_account</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The name that would be on the delivered contract</td>\n</tr>\n<tr>\n<td>transaction.details.dob</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Date string for date of birth  <br />  <br />Set to <code>null</code></td>\n</tr>\n<tr>\n<td>transaction.details.gender</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Gender of the customer. This can be set to either M or F  <br />  <br />Set to <code>null</code></td>\n</tr>\n<tr>\n<td>transaction.details.title</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Gender of the customer. This can be set to either Mr, Mrs, Ms  <br />  <br />Set to <code>null</code></td>\n</tr>\n<tr>\n<td>transaction.details.address_line_1</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Address of customer  <br />  <br />Set to <code>null</code></td>\n</tr>\n<tr>\n<td>transaction.details.address_line_2</td>\n<td>string</td>\n<td>optional</td>\n<td>Address of customer  <br />  <br />Set to <code>null</code></td>\n</tr>\n<tr>\n<td>transaction.details.city</td>\n<td>string</td>\n<td>compulsory</td>\n<td>City  <br />  <br />Set to <code>null</code></td>\n</tr>\n<tr>\n<td>transaction.details.state</td>\n<td>string</td>\n<td>compulsory</td>\n<td>State  <br />  <br />Set to <code>null</code></td>\n</tr>\n<tr>\n<td>transaction.details.country</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Country  <br />  <br />Set to <code>null</code></td>\n</tr>\n<tr>\n<td>transaction.meta</td>\n<td>object</td>\n<td>compulsory</td>\n<td><strong>KEY NOTE</strong>  <br />Every element here is required.  <br />  <br />Simply lift the <strong>exact value</strong> for each element as you got them in the <code>data.provider_response.products[].biller_item_meta</code> of the previous call for the selected product.  <br />  <br />OnePipe will validate it and if it doesn't tally, the call will return as failed.</td>\n</tr>\n<tr>\n<td>transaction.meta.collect_provider</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The ONLY payment provider that will be supported for recurring payment. This field was in the response from the original call as <code>data.provider_response.products[].biller_item_meta.collect_provider</code>. Set it as received.</td>\n</tr>\n<tr>\n<td>transaction.meta.provider_auth_token</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The account number of the customer.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response-body-elements\">Response body elements</h4>\n<p>Here are the response body elements worth paying attention to. Any not listed here may be safely ignored.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Element</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>status</td>\n<td>Standard response. <strong>Successful</strong> or <strong>Failed</strong> depending on the status of the transaction</td>\n</tr>\n<tr>\n<td>message</td>\n<td>A message or description of the response</td>\n</tr>\n<tr>\n<td>data.provider</td>\n<td>The provider that was used to process the request</td>\n</tr>\n<tr>\n<td>data.provider_response_code</td>\n<td>Response code as determined by the underlying provider</td>\n</tr>\n<tr>\n<td>data.provider_response.meta</td>\n<td>A custom object that can hold any extra information the provider deems necessary in key vs value pairs.</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["v2","transact"],"host":["https://api.onepipe.io"],"query":[],"variable":[]}},"response":[{"id":"5ada7177-fc00-453d-ae52-3613da3072d2","name":"Onboard","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1","type":"text"},{"key":"Signature","value":"3a2b58350e8068507e6b5bff106850a5","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"request_ref\":\"111111111\", \n  \"request_type\":\"onboard\",\n  \"auth\": {\n    \"type\": null, \n    \"secure\": null,\n    \"auth_provider\": \"{Bank}SubManager\",\n    \"route_mode\":null\n  },\n  \"transaction\": {\n    \"mock_mode\": \"inspect\", \n    \"transaction_ref\": \"{{transaction-ref}}\", \n    \"transaction_desc\": \"AIRTEL 1GB every 7 days\", \n    \"transaction_ref_parent\": \"\", \n    \"amount\": 0,\n    \"customer\":{\n    \t\"customer_ref\": \"2349066870818\",\n    \t\"firstname\": \"Uju\",\n        \"surname\": \"Usmanu\",\n    \t\"email\": \"ujuusmanu@gmail.com\",\n    \t\"mobile_no\": \"234802343132\"\n    },\n    \"meta\":{\n    \t\"pwt_item_description\": \"kF56i6cb\",\n        \"pwt_item_code\": null,\n        \"pwt_item_amount\": 32500,\n        \"transaction_date\": \"2023-11-30-15-13-19\",\n        \"created_date\": \"2023-11-30-15-11-47\",\n        \"biller_id\": \"airtel\",\n        \"biller_item_id\": \"599\",\n        \"processing_method\": \"PWT\",\n        \"page_id\": 2305,\n        \"activation description\": \"<b>35%</b> if you act now <b>(₦325)</b></span>\",\n        \"subscription description\": \"<p></p>\",\n        \"normal_price\": \"550\",\n        \"sales_price\": \"325\",\n        \"discount_price\": \"325\",\n        \"frequency\": \"weekly\",\n        \"product\": \"1GB\",\n        \"terms\": \"Subscription will be renewed automatically from your Fidelity account every week. At 35% discount.\",\n        \"provider_price\": \"250\",\n        \"provider\": \"Ibrolinks\",\n        \"product_subcategory\": \"bundle\",\n        \"product_savings\": \"Save 35%\",\n        \"provider_auth_token\": \"6234784766\",\n        \"collect_provider\": \"Polaris\"\n    },\n    \"details\":{\n        \"name_on_account\": \"MONSURU BANKOLE\",\n        \"middlename\": \"AYANFE\",\n        \"dob\": null,\n        \"gender\": null,\n        \"title\": null,\n        \"address_line_1\": null,\n        \"address_line_2\": null,\n        \"city\": null,\n        \"state\": null,\n        \"country\": \"NG\"        \n    }\n  }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Successful\",\n    \"message\": \"Operation was successful\",\n    \"data\": {\n        \"provider_response_code\": \"00\",\n        \"provider\": \"{BANK}SubManager\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": null,\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"}],"_postman_id":"ea921ae0-0d1d-4b77-ad1d-7a55fbc7a059"}],"id":"4b865d6c-0ebf-4cb6-a390-17c2b62f5adc","description":"<p>To close up the loop, submit the customer's info and selected offer to OnePipe.</p>\n","_postman_id":"4b865d6c-0ebf-4cb6-a390-17c2b62f5adc"},{"name":"4. Closing the loop","item":[],"id":"bfd29ab5-3fda-4fac-9d9a-b4567b87e97d","description":"<p>Once the user's opt-in has been submitted to OnePipe, the following will happen:</p>\n<h4 id=\"finishing-the-subscription-setup\">Finishing the subscription setup</h4>\n<ol>\n<li><p>Account number will be validated (in some cases by OTP, in some by a PIN, in other cases via a <a href=\"#d33f6048-6b8d-43aa-8ccc-679a7e6bed3c\">PaywithAccount mandate workflow</a>)</p>\n</li>\n<li><p>A minor risk assessment will be performed on the account to ensure that the customer's account can indeed fulfil the terms of the contract</p>\n</li>\n<li><p>The initial amount for the first subscription (based on offer terms) will be collected from the account</p>\n</li>\n<li><p>If all goes well, a contract will be delivered to the customer by email for record keeping</p>\n</li>\n</ol>\n<h4 id=\"renewals\">Renewals</h4>\n<ol>\n<li><p>Just before every renewal the customer would receive a reminder notice</p>\n</li>\n<li><p>At renewal time, applicable funds will be deducted form the customer's account and renewal will be fulfilled</p>\n</li>\n</ol>\n<h4 id=\"cancellations\">Cancellations</h4>\n<ol>\n<li><p>Just after each renewal, the customer would receive a receipt and information on cancellation procedures should they want to cancel</p>\n</li>\n<li><p>Customer can click the link in the notice to cancel at any time and end the subscription (per the terms of the offer)</p>\n</li>\n</ol>\n","_postman_id":"bfd29ab5-3fda-4fac-9d9a-b4567b87e97d"}],"id":"3b41357d-1c78-49db-8cb7-81bd7222ee22","description":"<p>If you have a captive audience (an app with lots of users, a network of customers managed by agents, etc.), OnePipe enables you to offer them a convenient option to renew their regular utilities (data bundles, airtime, streaming services, and more) directly from their bank account. On a scheduled, recurring basis.</p>\n<p>They'd opt-in to the service directly from your app or channel, specifying their products of interest and the OnePipe subscription manager will manage the rest. Including consent management, scheduled payments, fulfillment, cancellation and customer service.</p>\n<p>In return, you'd receive a commission for every renewal done by your customers.</p>\n<p>To motivate opt-in, OnePipe offers promotions from time to time (including free renewals, renew-now-pay-later, discounts, and more).</p>\n<p>Here is a sample of the service <a href=\"https://paywithtransfer.com/subscribe\">paywithtransfer.com/subscribe</a></p>\n<img src=\"https://content.pstmn.io/11d206eb-a05b-4525-b6be-a9db84fbe05b/U1VCTWFuYWdlci1TY3JlZW5zaG90IDIwMjMtMTItMTYgMTUyODI0LTIucG5n\" />\n\n<p>The sequence that makes this possible is:</p>\n<ol>\n<li>First, <a href=\"https://www.paywithtransfer.com/start/\">contact us</a> to get enabled for the service</li>\n<li>Call <code>onboard /options</code> to see the available offers</li>\n<li>Present the offers to your customers</li>\n<li>Customer selects one of interest</li>\n<li>Use the content of the response at #2 to serve the terms and conditions</li>\n<li>Call <code>onboard /transact</code> with the customer's account details and chosen product</li>\n<li>OnePipe handles the rest</li>\n</ol>\n","_postman_id":"3b41357d-1c78-49db-8cb7-81bd7222ee22"},{"name":"Embedded banking","item":[{"name":"High level structure","item":[],"id":"0c530faf-2dba-4c40-a53f-76cef0b0025c","description":"<p>Just like how banks have current accounts and savings accounts, our partner banks have created a special <strong>virtual account</strong> type designed specifically to drive increased usage of digital payments, credit and deepen financial inclusion in general.</p>\n<img src=\"https://content.pstmn.io/264d5779-9e75-45f8-b360-234f9b1050b7/U2NyZWVuc2hvdCAyMDI1LTAxLTI3IGF0IDA3LjIwLjQ1LnBuZw==\" alt=\"Embedded%20banking%20infrastructure%20with%20OnePipe\" height=\"922\" width=\"1672\" />\n\n<p><em>Using GTP as an example...</em></p>\n<ul>\n<li><p>Regulatory compliance</p>\n</li>\n<li><p>Banking infrastructure</p>\n</li>\n<li><p>Credit and payment relationships</p>\n</li>\n</ul>\n<p>All in the form of APIs</p>\n<p><strong>Therefore you can</strong></p>\n<ul>\n<li><p>Issue accounts to customers</p>\n</li>\n<li><p>Offer payments, savings &amp; credit products to your customers</p>\n</li>\n<li><p>Create the best experiences for your customers</p>\n</li>\n</ul>\n<p>And never worry about the underlying plumbing</p>\n<h3 id=\"benefits-to-your-customers\">Benefits to your customers</h3>\n<p>To drive the objectives of increased usage of financial services, we lined up the following benefits for customers to drive usage:</p>\n<p><strong>First 60 days</strong></p>\n<p><em>To help customers quickly build a credit profile</em></p>\n<ul>\n<li><p>Instant CASH once they sign up</p>\n</li>\n<li><p>NO FEES for account maintenance. No random fees.</p>\n</li>\n<li><p>FREE to Send money</p>\n</li>\n<li><p>FREE to deposit cash at Agents (in partnership with Kudi)</p>\n</li>\n<li><p>Instant CASH to sender and recipient every time a user sends money to someone who doesn't have the account</p>\n</li>\n<li><p>5% DISCOUNT on airtime topup</p>\n</li>\n<li><p>INSTANT LOAN access (in partnership with Migo)</p>\n</li>\n<li><p>EARN POINTS for every deposit, inflow and transaction</p>\n</li>\n<li><p>WEEKLY GIVEAWAYS to redeem the points earned</p>\n</li>\n<li><p>ONLY N50 to WITHDRAW CASH at Agents (in partnership with Kudi)</p>\n</li>\n</ul>\n<p><strong>Going forward</strong></p>\n<p><em>To take advantage of a strong credit profile</em></p>\n<ul>\n<li><p>ALWAYS ON CREDIT line via Migo. Larger amounts</p>\n</li>\n<li><p>NO FEES for account maintenance. No random fees.</p>\n</li>\n<li><p>Lower-than-market fees to send money</p>\n</li>\n<li><p>Low fees to deposit cash at Kudi Agents</p>\n</li>\n<li><p>Discount on Airtime topup</p>\n</li>\n<li><p>EARN POINTS for every deposit, inflow and transaction</p>\n</li>\n<li><p>WEEKLY GIVEAWAYS to redeem the points earned</p>\n</li>\n<li><p>Lowest fees to WITHDRAW CASH at Agents</p>\n</li>\n<li><p>OPTIONAL credit access fee to maintain the credit line</p>\n</li>\n</ul>\n<h3 id=\"benefits-to-your-business\">Benefits to your business</h3>\n<ul>\n<li><p>Much more seamless payment processing going forward. Just call <a href=\"#cbdd318d-e1d5-4a3f-940d-e3a5d6b29b05\">this</a></p>\n</li>\n<li><p>Increase customer loyalty by presenting all the above benefits under your brand</p>\n</li>\n<li><p>Increased sales as a result of customer access to credit</p>\n</li>\n<li><p>Earn a share of all financial services revenue going forward</p>\n</li>\n</ul>\n","_postman_id":"0c530faf-2dba-4c40-a53f-76cef0b0025c"},{"name":"The no-code version","item":[],"id":"f5ae5ea5-b6e3-4695-8d54-f7af41305d3d","description":"<p>There's a completely out-of-the-box expression you can simply brand for your business, include the services you want on offer, and start promoting to your customers. Your banking experience will simply be enabled and embedded into the OnePipe <a href=\"https://benefits.chat\">Benefits</a> app.</p>\n<p><img src=\"http://www.onepipe.io/docs/chappme.png\" alt /></p>\n<p>And your customers can have experiences like <a href=\"https://vimeo.com/641820584\">this</a>.</p>\n<h4 id=\"extending-the-no-code-version\">Extending the no-code version</h4>\n<p>The services that are available in the no-code version (reffered to as \"intents\"), simply wrap the UX around the underlying OnePipe APIs. Prompting the users with the right questions/input to populate the relevant API requests. Here are some of the default intents enabled:</p>\n<ol>\n<li>Check balance</li>\n<li>Buy airtime</li>\n<li>Send money</li>\n<li>Get a loan</li>\n<li>Etc.</li>\n</ol>\n<p>You can also decide to build your own intents by building a microservice that conforms to a standard OnePipe message flow. To learn more about how to do this, please look at <a href=\"https://documenter.getpostman.com/view/1617536/S1M2Sm5g#intro\">this documentation</a>.</p>\n<p>You can also <a href=\"https://support.onepipe.io\">book time</a> with our integration specialists to better understand this.</p>\n","_postman_id":"f5ae5ea5-b6e3-4695-8d54-f7af41305d3d"},{"name":"API integration","item":[],"id":"edfa3bbf-149a-4c63-929c-75190a96c718","description":"<p>If you would rather consume APIs in order to integrate the experiences deeply within your customer touchpoints, below is the list of relevant API endpoints and their documentation.</p>\n<ol>\n<li><p>Open or assign an account. <a href=\"#0c2e20f0-e9d8-45e0-b402-d1eb1a9e3e3d\">Here.</a></p>\n</li>\n<li><p>Get the balance on an account. <a href=\"#09750e30-a6ae-41df-bb78-8fc0fad9b0a3\">Here.</a></p>\n</li>\n<li><p>Debit an account (puts money in yours). <a href=\"#cbdd318d-e1d5-4a3f-940d-e3a5d6b29b05\">Here.</a></p>\n</li>\n<li><p>Credit any account - intra and inter (takes money from yours). <a href=\"#f12ec265-836d-439e-a217-2413efa40a05\">Here.</a></p>\n</li>\n<li><p>Retrieve the statement of an account. <a href=\"#3cf8be56-c24e-4827-bb88-f1759a4a18c5\">Here.</a></p>\n</li>\n<li><p>Retrieve KYC details of an account. <a href=\"#5f1616c9-39b4-4935-a349-717c5a594053\">Here.</a></p>\n</li>\n<li><p>Get loan offers for an account. <a href=\"#3250f9c0-a52c-49df-b62a-9aa4d2b69f65\">Here.</a></p>\n</li>\n<li><p>Submit a loan application for an account. <a href=\"#9f4b0af1-7953-42d7-9d66-23a11d6c44d3\">Here.</a></p>\n</li>\n<li><p>Get the loan status for an account <a href=\"#85047295-7e55-4b92-a6e9-4b71b51b3180\">here</a></p>\n</li>\n</ol>\n","_postman_id":"edfa3bbf-149a-4c63-929c-75190a96c718"}],"id":"a06ddcb9-edd3-452f-9ab2-f37b004aa58c","description":"<p>The OnePipe platform makes it possible for you to embed banking services within your own apps and channels. You can start by assigning NUBAN/IBAN compatible accounts to your customers and afterwards:</p>\n<ol>\n<li><p>Get balances of any account</p>\n</li>\n<li><p>Debit any account (puts money in yours)</p>\n</li>\n<li><p>Credit any account (takes money from yours)</p>\n</li>\n<li><p>Retrieve the statement of an account</p>\n</li>\n<li><p>Retrieve KYC details of an account</p>\n</li>\n<li><p>Send money outwards to any bank (takes money from yours)</p>\n</li>\n<li><p>Request a loan for an account</p>\n</li>\n</ol>\n<p>Partner banks on this service are:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Bank</th>\n<th>Provider name</th>\n<th>USP</th>\n<th>Status</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Polaris Bank</td>\n<td>Polaris</td>\n<td>Polaris account numbers will be issued</td>\n<td>LIVE</td>\n</tr>\n<tr>\n<td>SunTrust Bank</td>\n<td>SunTrust</td>\n<td>SunTrust account numbers will be issued</td>\n<td>LIVE</td>\n</tr>\n<tr>\n<td>-</td>\n<td>GTP</td>\n<td>GTP wallet account numbers will be issued</td>\n<td>LIVE</td>\n</tr>\n</tbody>\n</table>\n</div><p>You can either have all of this done out of the box (OnePipe white labels a digital banking experience for you) or use APIs to handle it directly.</p>\n","_postman_id":"a06ddcb9-edd3-452f-9ab2-f37b004aa58c"},{"name":"Online payments","item":[],"id":"a9d368c7-fe4e-4c0f-8710-4aefc655bae1","description":"<p>To accept payments on your website using multiple payment providers, please see <a href=\"#dc4de412-bd1b-49bd-b48e-70d6b9d18838\">here</a></p>\n","_postman_id":"a9d368c7-fe4e-4c0f-8710-4aefc655bae1"},{"name":"PaywithTransfer [FMCG]","item":[{"name":"1. Setup a callback","item":[],"id":"5d8a8caa-4c5b-47d4-9198-b1ab78073de3","description":"<h4 id=\"setting-up-pay-with-transfer\">Setting up \"Pay with transfer\"</h4>\n<p>Log in to your OnePipe dashboard and access the \"Pay with transfer\" solution</p>\n<img src=\"http://www.onepipe.io/docs/pwt-console.png\" alt=\"Launching PWT\" />\n\n<p><strong>Pay with transfer</strong> uses a concept of \"pages\". A page represents a distinct payment workflow per business. And therefore each \"payment page\" has it's own settings which we will describe below. As a business, you can simply map each product or payment item (product or workflow) you have to a \"payment page\". For example: Product 1 can have a payment page dedicated to it - It will have its own settings. Repeat for as many as you have.</p>\n<img src=\"http://www.onepipe.io/docs/pwt-console-pages.png\" alt=\"PWT pages\" />\n\n<h4 id=\"configure-a-callback-url\">Configure a callback URL</h4>\n<p>Expose a callback url, that will receive a <code>POST</code> message from OnePipe upon a credit or debit activity on an account that you have assigned. Edit a page's settings and setup your webhook url.</p>\n<img src=\"http://www.onepipe.io/docs/pwt-console-settings.png\" alt=\"Setting up your  webhook\" />\n\n<p>To be enabled for <code>Pay with transfer</code>, it would be reconstructed as such:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>https://{onepipe-fmcg-pwt-handler}/handle/?baseUrl={your-webhook-baseurl}&amp;orderDetailsUrl={a-dedicated-endpoint-to-confirm-due-amount}&amp;paymentNotificationUrl={a-dedicated-endpoint-to-fulfil}&amp;paymentCoverage={payment-coverage-type}\n\n</code></pre><p><strong>NOTE:</strong> The system will automatically take care of this reconstruct. You just need to set your webhook URL for a start.</p>\n<p>Here's an explanation of each element:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>onepipe-fmcg-pwt-handler</td>\n<td>The component in the OnePipe infrastructure that handles this workflow type.</td>\n</tr>\n<tr>\n<td>your-webhook-baseurl</td>\n<td>The base url for your webhook</td>\n</tr>\n<tr>\n<td>a-dedicated-endpoint-to-confirm-due-amount</td>\n<td>An endpoint in your baseUrl that OnePipe will POST to, to confirm details of an incoming payment.</td>\n</tr>\n<tr>\n<td>a-dedicated-endpoint-to-fulfil</td>\n<td>An endpoint in your baseUrl that OnePipe will POST to, after depositing money in your designated account</td>\n</tr>\n<tr>\n<td>payment-coverage-type</td>\n<td>An <strong>optional</strong> value that determines how many in a list of orders a customer should pay for. If this value is not provided, it defaults to <strong>partial payment</strong></td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Payment Coverage Types</strong></p>\n<p>Below is a tabular description of the payment coverage types:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Value</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>all</td>\n<td>This means the customer is expected to pay for <strong>all</strong> the orders. If customer defaults, the payment is rejected</td>\n</tr>\n<tr>\n<td>full</td>\n<td>This ensures that no single order is partially paid for, that is, the customer is allowed to <strong>fully</strong> pay for as many pending orders as the payment funds can cover</td>\n</tr>\n<tr>\n<td>partial</td>\n<td>This infers that a customer can pay for as much of the total amount due for the orders pending payment, so long the fees of the corresponding orders can be catered for</td>\n</tr>\n</tbody>\n</table>\n</div><p><em>Note: In an upcoming enhancement, you will get notified of an overpayment via the payment notification API</em></p>\n<p>Now, you can start assigning accounts...</p>\n","_postman_id":"5d8a8caa-4c5b-47d4-9198-b1ab78073de3"},{"name":"2. Assign accounts","item":[],"id":"83949ffb-2a06-436d-af52-40b6d56cabef","description":"<h4 id=\"create-an-account-for-each-customer\">Create an account for each customer</h4>\n<p>Next, you'd create a virtual account for each customer on your platform.</p>\n<p>With your payment page and callback url in place, your customers can simply visit <strong>paywithtransfer.com/{yourbusiness}/{page}</strong> to get an account assigned to them.</p>\n<p>See example <a href=\"https://paywithtransfer.com/girlcodeacademy/adopt-a-scholar\">here</a></p>\n<p>You can also assign account numbers by making the <a href=\"#0c2e20f0-e9d8-45e0-b402-d1eb1a9e3e3d\">relevant API call</a> directly.</p>\n<p>Here are the providers you can set in your <code>auth.auth_provider</code> for this <code>Pay with transfer</code> use case.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Bank</th>\n<th>Provider name</th>\n<th>USP</th>\n<th>Status</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Polaris</td>\n<td>PolarisVirtual</td>\n<td>Notifications under 10sec</td>\n<td>LIVE</td>\n</tr>\n<tr>\n<td>VBank</td>\n<td>VBankVirtual</td>\n<td>Notifications under 10sec</td>\n<td>LIVE</td>\n</tr>\n<tr>\n<td>Fidelity</td>\n<td>FidelityVirtual</td>\n<td>Notifications under 5sec</td>\n<td>LIVE</td>\n</tr>\n<tr>\n<td>SunTrust</td>\n<td>SunTrustVirtual</td>\n<td>Notifications under 10sec</td>\n<td>LIVE</td>\n</tr>\n<tr>\n<td>Heritage</td>\n<td>HeritageVirtual</td>\n<td>Notifications under 10sec</td>\n<td>PILOT</td>\n</tr>\n<tr>\n<td>Optimus</td>\n<td>OptimusVirtual</td>\n<td>Notifications under 20sec</td>\n<td>PILOT</td>\n</tr>\n<tr>\n<td>Paga</td>\n<td>PagaVirtual</td>\n<td>Fast notifications</td>\n<td>PILOT</td>\n</tr>\n</tbody>\n</table>\n</div><p><em>Please note: This list would increase over time. We are adding more providers on an ongoing basis.</em></p>\n<p>For documentation on account provisioning, <a href=\"#0c2e20f0-e9d8-45e0-b402-d1eb1a9e3e3d\">See here</a>.</p>\n<h5 id=\"special-note-on-multi-accounts\">Special note on Multi-accounts</h5>\n<p>Some providers (CheddaAccount specifically) make it possible to call <code>Open Account</code> just once and receive an array of multiple virtual accounts mapped to a single store of value. This has been described in the <a href=\"#0c2e20f0-e9d8-45e0-b402-d1eb1a9e3e3d\">open account</a>. documentation.</p>\n<p>Now that you have provisioned an account for each customer. Here's what happens next.</p>\n","_postman_id":"83949ffb-2a06-436d-af52-40b6d56cabef"},{"name":"3. Customers can transfer","item":[],"id":"d83ffa6c-af5b-4847-a1ec-dbd5a9551ae6","description":"<h4 id=\"customers-make-deposits-into-the-accounts\">Customers make deposits into the accounts</h4>\n<p><a href=\"https://drive.google.com/file/d/1-MbvGDhj-x6JJBT6S6ir1j5euKewgf5Y/view?usp=sharing\">A regular bank transfer on any channel</a></p>\n<p>The OnePipe platform will be notified by the provider once this transfer hits the virtual account. And then the next steps kick in...</p>\n","_postman_id":"d83ffa6c-af5b-4847-a1ec-dbd5a9551ae6"},{"name":"4. Respond to a lookup","item":[],"id":"cde3371d-6163-420b-b5e7-5e2f5cef6d6f","description":"<h4 id=\"respond-to-a-lookup-request\">Respond to a lookup request</h4>\n<p>When a payment sequence starts OnePipe needs to connect to your system to verify the customer that is making payment and obtain any details necessary for that payment like Name, amount due, bill_id, etc.</p>\n<p>Typically you'd maintain a list of pending orders/payments on your system that is awaiting payments from this customer.</p>\n<h5 id=\"the-request\">The request</h5>\n<p>The request will look like what's below:</p>\n<p><strong>Headers</strong></p>\n<ul>\n<li>Content-Type: application/json</li>\n<li>Signature: <code>{{MD5Hash(request_ref;your_app_secret)}}</code></li>\n</ul>\n<p><em>NOTE: Please validate the signature to ensure the request came from OnePipe. See</em> <a href=\"#the-headers\"><i>here</i></a><em>.</em></p>\n<p><strong>Body</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n    \"request_ref\": \"{{request_ref}}\",\n    \"request_type\": \"order_details\",\n    \"mock_mode\": \"live\",\n    \"details\": {\n        \"payer_id\": \"9090905\",\n        \"amount\": 1000000,        \n        \"inflow_status\": \"Successful\",\n        \"provider\": \"PolarisVirtual\",\n        \"transaction_ref\": \"23486644\",\n        \"meta\":{\n            \"a_key\":\"a_meta_value_1\",\n            \"another_key\":\"a_meta_value_2\" \n        }\n    },\n    \"app_info\": {\n        \"app_code\": \"{{app_code}}\"\n    }\n}\n\n</code></pre><p><strong>What each element means</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>request_ref</td>\n<td>A unique ref generated by OnePipe</td>\n</tr>\n<tr>\n<td>request_type</td>\n<td>Will be set to <code>order_details</code> at this stage</td>\n</tr>\n<tr>\n<td>mock_mode</td>\n<td>Will be set to <code>live</code> if this is a live transaction. And <code>inspect</code> if this is a test transaction.</td>\n</tr>\n<tr>\n<td>details.payer_id</td>\n<td>This would be set to the value of <code>customer.customer_ref</code> you used when you were provisioning the account.</td>\n</tr>\n<tr>\n<td>details.payer_name</td>\n<td>This would be set to the value of <code>details.name_on_account</code> you used when provisioning the account.</td>\n</tr>\n<tr>\n<td>details.payer_type</td>\n<td>This would always come to you as <code>UNKNOWN</code>.</td>\n</tr>\n<tr>\n<td>amount</td>\n<td>The amount that was paid in. In lower denomination.</td>\n</tr>\n<tr>\n<td>inflow_status</td>\n<td>This would always be <code>Successful</code>. It means the funds have already been deposited into the settlement account in the bank and the necessary value credited to the wallet of the payer if needed.</td>\n</tr>\n<tr>\n<td>inflow_narration</td>\n<td>The narration from the source. Will also be the narration seen in the settlement account.</td>\n</tr>\n<tr>\n<td>provider</td>\n<td>The Name of the Provider handling this transaction</td>\n</tr>\n<tr>\n<td>transaction_ref</td>\n<td>A unique transaction reference generated by the provider.</td>\n</tr>\n<tr>\n<td>meta</td>\n<td>An object containing a key/value pair of any needed extra information</td>\n</tr>\n<tr>\n<td>app_info.app_code</td>\n<td>The unique code of your App on OnePipe</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"the-response\">The response</h5>\n<p>Your response should look like what's below:</p>\n<p><strong>The body</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n    \"status\": \"Successful\",\n    \"message\": \"Enquiry processed successfully\",\n    \"data\": {\n        \"errors\": null,\n        \"error\": null,\n        \"orders\": [\n            {\n                \"order_id\": \"101638163628490752\",\n                \"order_status\": \"PAID-CASH | PAID-TRANSFER | UNPAID | CASH-DEPOSITED\",\n                \"order_description\": \"A box of noodles\",\n                \"retailer_id\": \"9090905\",\n                \"distributor_id\": \"RAC01\",\n                \"distributor_name\": \"Olaniyi &amp; Sons\",\n                \"distributor_account_number\": \"0987654321\",\n                \"distributor_bank_code\": \"038\",\n                \"amount_due\": \"500000\",\n                \"fee\": 5000,\n                \"currency\": \"NGN\",\n                \"order_rank\": 1,\n                \"meta\": {\n                    \"narration_prefix\": \"000123\"\n                }\n            },\n            {\n                \"order_id\": \"101638163628490752\",\n                \"order_status\": \"PAID-CASH | PAID-TRANSFER | UNPAID | CASH-DEPOSITED\",\n                \"order_description\": \"A box of noodles\",\n                \"retailer_id\": \"101638163628490752\",\n                \"distributor_id\": \"RAC01\",\n                \"distributor_name\": \"Olaniyi &amp; Sons\",\n                \"distributor_account_number\": \"0987654321\",\n                \"distributor_bank_code\": \"038\",\n                \"amount_due\": \"500000\",\n                \"fee\": 5000,\n                \"currency\": \"NGN\",\n                \"order_rank\": 1,\n                \"meta\": {\n                    \"narration_prefix\": \"000124\"\n                }\n            }\n        ],\n        \"reference\": \"000022200225154318222333334432\",\n        \"meta\": {\n            \"payer_type\": \"RETAILER | DRIVER | UNKNOWN | CUSTOMER | AGENT\",\n            \"field_key_2\": \"field_value\"\n        }\n    }\n}\n\n</code></pre><p>This is effectively an array of pending payments known with that <code>payer_id</code> and you are instructing the provider the specific account to deposit the funds.</p>\n<p><strong>What each element means</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>status</td>\n<td><code>Successful</code> to let the provider know this was processed... emmm... successfully. <code>Failed</code> is you were unable to process this.</td>\n</tr>\n<tr>\n<td>message</td>\n<td>Any description.</td>\n</tr>\n<tr>\n<td>data.errors</td>\n<td>An array of any errors that occurred. See <a href=\"#what-responses-would-look-like\">here</a></td>\n</tr>\n<tr>\n<td>data.error</td>\n<td>If this request failed, put the specific error object that caused it here.</td>\n</tr>\n<tr>\n<td>orders[].order_id</td>\n<td>A unique ID for the order</td>\n</tr>\n<tr>\n<td>orders[].order_status</td>\n<td>Supported values are:  <br />* PAID-CASH: Denotes that this order had already been paid in cash before this notification came in  <br />* PAID-TRANSFER: Denotes that this order had already been paid with transfer before this notification came in  <br />* UNPAID: This is the ideal response. Denotes that this order had not been paid for prior to this notification.  <br />* CASH-DEPOSITED: This means an agent or Pay on delivery personnel took the cash but has deposited it already.</td>\n</tr>\n<tr>\n<td>orders[].retailer_id</td>\n<td>Return the ID of the expected payer here.</td>\n</tr>\n<tr>\n<td>orders[].distributor_id</td>\n<td>Return an ID for the final person or institution that will be credited with this payment.</td>\n</tr>\n<tr>\n<td>orders[].distributor_name</td>\n<td>Return the name for the final person or institution that will be credited with this payment.</td>\n</tr>\n<tr>\n<td>orders[].distributor_account_number</td>\n<td>Return the account number for the final person or institution that will be credited with this payment.</td>\n</tr>\n<tr>\n<td>orders[].distributor_bank_code</td>\n<td>Return the CBN code of the recipient's bank. <a href=\"#bank-cbn-codes\">See here</a></td>\n</tr>\n<tr>\n<td>orders[].amount_due</td>\n<td>The amount expected to be paid for this order. In lower denomination.</td>\n</tr>\n<tr>\n<td>orders[].fee</td>\n<td>A fee that should be deducted from the amount before depositing it into <code>orders[].distributor_account_number</code>. Usually, this may be the value of the expected charge by the provider.</td>\n</tr>\n<tr>\n<td>orders[].currency</td>\n<td>The currency for the transactions. For now, only <code>NGN</code> is supported.</td>\n</tr>\n<tr>\n<td>orders[].meta</td>\n<td>A key/value pair array that can hold any extra information of relevance for the order. Just in case custom implementations are required in future.</td>\n</tr>\n<tr>\n<td>orders[].meta.narration_prefix</td>\n<td>A unique reconciliation code that you can set. When OnePipe pushes the funds to your account, the narration in your account will contain this value to help you reconcile when needed</td>\n</tr>\n<tr>\n<td>data.reference</td>\n<td>A unique reference for your response. For troubleshooting in future.</td>\n</tr>\n<tr>\n<td>data.meta</td>\n<td>A key/value pair array that can hold any extra information of relevance to the entire response</td>\n</tr>\n</tbody>\n</table>\n</div><p>Next....</p>\n","_postman_id":"cde3371d-6163-420b-b5e7-5e2f5cef6d6f"},{"name":"5. Money is deposited","item":[],"id":"7265ec68-b811-447c-8a07-ce7afefaa5b0","description":"<h4 id=\"the-provider-deposits-the-funds-into-the-account-you-specified\">The provider deposits the funds into the account you specified</h4>\n<p>The response you have provided above will be used to deposit funds into the account you specified in <code>orders[].distributor_account_number</code>. This can be ANY account in ANY bank.</p>\n","_postman_id":"7265ec68-b811-447c-8a07-ce7afefaa5b0"},{"name":"6. Receive payment completion","item":[],"id":"48295359-02ea-4f7a-83d3-194a86dd158e","description":"<h4 id=\"handle-reconciliation-with-payment-completion-request\">Handle reconciliation with Payment Completion request</h4>\n<p>When the money has been deposited, OnePipe will push a <code>payment completion</code> request to your callback URL so you can perform in-house clean ups and reconciliation.</p>\n<h5 id=\"the-request\">The request</h5>\n<p>The request will look like what's below:</p>\n<p><strong>Headers</strong></p>\n<ul>\n<li>Content-Type: application/json</li>\n<li>Signature: <code>{{MD5Hash(request_ref;your_app_secret)}}</code></li>\n</ul>\n<p>Please validate the signature to ensure the request came from OnePipe. See <a href=\"#the-headers\">here</a>.</p>\n<p><strong>Body</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"request_ref\": \"{{request_ref}}\",\n    \"request_type\": \"payment_completion\",\n    \"mock_mode\": \"live\",\n    \"meta\": {\n        \"payer_id\": \"9090905\",\n        \"payment_amount\": \"20000\",\n        \"payment_transaction_ref\": \"000013210614166777000179813918\"\n     }\n    \"orders\": [\n        {\n            \"order_id\": \"101638163628490752\",\n            \"remittance_status\": \"Successful | Failed | Processing\",\n            \"remittance_amount\": 10000,\n            \"remittance_currency\": \"NGN\",\n            \"meta\": {}\n        },\n        {\n            \"order_id\": \"101638163628490752\",\n            \"remittance_status\": \"Successful | Failed | Processing\",\n            \"remittance_amount\": 10000,\n            \"remittance_currency\": \"NGN\",\n            \"meta\": {}\n        }\n    ],\n    \"app_info\": {\n        \"app_code\": \"{{your_app_code}}\"\n    }\n}\n\n</code></pre>\n<p><strong>What each element means</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>request_ref</td>\n<td>A unique ref set by the provider</td>\n</tr>\n<tr>\n<td>request_type</td>\n<td>This would be set to <code>payment_completion</code></td>\n</tr>\n<tr>\n<td>mock_mode</td>\n<td>Will be set to <code>live</code> if this is a live call. It will be set to <code>inspect</code> if otherwise</td>\n</tr>\n<tr>\n<td>orders[].order_id</td>\n<td>A unique ID for the order</td>\n</tr>\n<tr>\n<td>orders[].remittance_status</td>\n<td>To denote if the money was successfully deposited into the specified account. Supported values are:  <br />* <code>Successful</code>: The moni is in the akant.  <br />* <code>Failed</code>: Was unable o deposit the funds. Money is still in the settlement account.  <br />* <code>Processing</code>: Status is unknown and may have timed out. Query this transaction.</td>\n</tr>\n<tr>\n<td>orders[].remittance_amount</td>\n<td>The amount that was deposited in the account. In lower denomination.</td>\n</tr>\n<tr>\n<td>orders[].remittance_currency</td>\n<td>The currency of the transaction.</td>\n</tr>\n<tr>\n<td>orders[].meta</td>\n<td>A key/value pair array that can hold any extra information of relevance for the order. Just in case custom implementations are required in future.</td>\n</tr>\n<tr>\n<td>app_info.app_code</td>\n<td>Your app_code on OnePipe</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"the-response\">The response</h5>\n<p>Simply respond with a <code>200- OK</code>. Signalling acknowledgement and treatment. If your system does not respond as such, OnePipe will try again a few minutes later till it gets an OK.</p>\n","_postman_id":"48295359-02ea-4f7a-83d3-194a86dd158e"},{"name":"7. Handle exception scenarios","item":[],"id":"c4baff17-a99f-4c73-b93b-e3325c66e7b2","description":"<h4 id=\"exception-handling-and-delays\">Exception handling and delays</h4>\n<p>If you have received a <code>lookup order details</code> and not received a corresponding <code>payment completion</code>, you can query the OnePipe <code>pay with transfer</code> handler any time to get the status of an order. </p>\n<h5 id=\"the-request\">The request</h5>\n<p>The request type here is a <code>GET</code>. The request will look like what's below:</p>\n<p><strong>Headers</strong></p>\n<ul>\n<li>Content-Type: application/json</li>\n<li>Bearer: <code>{{Authorization &lt;your-api-key&gt;}}</code></li>\n</ul>\n<p><strong>Body</strong></p>\n<p>Body is empty. Simply address the GET to</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{{onepipe-pwt-handler}}/v1/order/query/:appCode?order_id={{order_id}}\n</code></pre><p><strong>What each element means</strong></p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>:appCode</td>\n<td>A unique unique code that is tied to your app.</td>\n</tr>\n<tr>\n<td>order_id</td>\n<td>The order id to query for</td>\n</tr>\n<tr>\n<td>your-api-key</td>\n<td>API Key of your OnePipe app</td>\n</tr>\n</tbody>\n</table>\n</div><h5 id=\"the-response\">The response</h5>\n<p>You will receive the exact payload that should have been in a <strong>payment completion</strong> call.</p>\n","_postman_id":"c4baff17-a99f-4c73-b93b-e3325c66e7b2"},{"name":"8. Settlement process","item":[],"id":"90ec4d6e-1823-482c-bcda-ae95ad63a30d","description":"<h4 id=\"how-settlement-works\">How settlement works</h4>\n<p>Here's what you need to know about settlements:</p>\n<ol>\n<li>The provider has a settlement account (not your account)</li>\n<li>The inflow was already swept into that settlement account</li>\n<li>You also have a <strong>BILLING ACCOUNT</strong> on OnePipe</li>\n<li>When you respond to <code>Lookup order details</code>, funds are moved from that settlement account to the account you specified. If the virtual account is backed by a store of value, its balance is also depleted with amount + fee.</li>\n<li>The fee component, is moved into your <strong>BILLING ACCOUNT</strong>.</li>\n<li>At T+1, the total transaction fee payable by you is deducted from your billing account.</li>\n</ol>\n","_postman_id":"90ec4d6e-1823-482c-bcda-ae95ad63a30d"}],"id":"3a30bb6e-d3b2-40be-a755-ba8835ed0c8d","description":"<p>There is a new wave of payment approaches that businesses are starting to explore:</p>\n<ol>\n<li>Open an account and map it to a customer</li>\n<li>Ask customers to transfer to that account</li>\n<li>Get notified once a credit hits that account</li>\n<li>Auto-sweep money out of the account into yours</li>\n<li>Process the order that the customer was supposed to pay for</li>\n</ol>\n<p>We built <a href=\"https://paywithtransfer.com/developers\">paywithtransfer.com</a> as a use case on OnePipe to drive this specific scenario.</p>\n<p>We adapted it for 2 variants.</p>\n<p>1. Specific for FMCG use cases<br />2. For general use cases.</p>\n<p>This section talks about the FMCG scenario</p>\n","_postman_id":"3a30bb6e-d3b2-40be-a755-ba8835ed0c8d"},{"name":"Benefits banking","item":[{"name":"Back and Forth Messaging","item":[{"name":"Enrolment","item":[{"name":"New User","item":[{"name":"Initiate","event":[{"listen":"test","script":{"id":"e69f7a30-ff2b-4295-be74-e31869f3d1d9","exec":["// const req = pm.request.json();","const res = pm.response.json();","","","// pm.test(\"details.message is encrypted\", function () {","//     pm.request.to.have.status(200);","// });","","// pm.test(\"Response time is less than 200ms\", () => {","//   pm.expect(pm.response.responseTime).to.be.below(5001);","// });","","if (res.status == 'PendingValidation' && res.data.provider_response?.reference){","    pm.environment.set(\"transaction_ref\", res.data.provider_response.reference);","}","","pm.test(\"200 Http Status\", function () {","    pm.response.to.have.status(200);","});","","pm.test(\"Return PendingValidation Status\", function () {","    pm.response.to.have.status(200);","    pm.expect(res.status).to.eql('PendingValidation');","});","","pm.test(\"Response has Yes and No button\", function () {","    pm.expect(res.message).to.contains('Do you want to continue?');","});","","const providerResponse = res.data.provider_response;","pm.test(\"provider_response has all necessary object\", () => {","    pm.expect(providerResponse).to.have.all.keys('reference', 'action', 'meta');","    ","});","","pm.test(\"Reference is present  in provider_response\", () => {","    pm.expect(providerResponse).to.have.property('reference');","});","","pm.test(\"Action contains all necessary object\", () => {","    const action = providerResponse.action;","    pm.expect(action).to.have.all.keys('message', 'recipientId');","    pm.expect(action.message).to.be.an('object');","});",""],"type":"text/javascript"}}],"id":"f709e541-f92d-49f1-9e3a-6d35d8a05ad5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"request_ref\": \"{{requestRef}}\",\n    \"request_type\": \"benefits_intent\",\n    \"auth\": {\n        \"type\": null,\n        \"secure\": null,\n        \"auth_provider\": \"Benefits\"\n    },\n    \"transaction\": {\n        \"mock_mode\": \"live\",\n        \"transaction_ref\": \"rddXmpKcVR_b2b9-g57gh6Ukc6Ot_iN\",\n        \"transaction_desc\": \"A random transaction\",\n        \"transaction_ref_parent\": null,\n        \"amount\": 0,\n        \"customer\": {\n            \"customer_ref\": \"{{customerRef}}\",\n            \"firstname\": \"Uju\",\n            \"surname\": \"Usmanu\",\n            \"email\": \"ujuusmanu@gmail.com\",\n            \"mobile_no\": \"{{customerRef}}\"\n        },\n        \"details\": {\n            \"message\": \"{{msgEnrol}}\",\n            \"callback_url\": \"{{callbackUrl}}\",\n            \"subsequent_messages\": [],\n            \"client_id\": \"{{appCode}}\",\n            \"sender_id\": \"{{customerRef}}\",\n            \"channel\": \"grb-api\"\n        }\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact","urlObject":{"protocol":"https","path":["v2","transact"],"host":["api","onepipe","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"f709e541-f92d-49f1-9e3a-6d35d8a05ad5"},{"name":"[Text]: Yes","event":[{"listen":"test","script":{"id":"b34a96dd-c289-4ba2-8807-30b36a0a3181","exec":["const res = pm.response.json();","","pm.test(\"Submit Yes to continue enrolment\", function () {","    pm.expect(res.status).to.eql('PendingValidation');","    pm.expect(res.message).to.contains('Please enter your BVN:');","});",""],"type":"text/javascript"}}],"id":"26003927-7889-4056-90cb-e21c898b3c54","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"request_ref\": \"{{requestRef}}\",\n  \"request_type\":\"benefits_intent\",\n\t\"auth\": {\n        \"secure\": \"qMlw1VEOzXI=\",\n        \"auth_provider\": \"Benefits\" \n    },\n    \"transaction\": {\n        \"transaction_ref\": \"998383938292\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact/validate","urlObject":{"protocol":"https","path":["v2","transact","validate"],"host":["api","onepipe","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"26003927-7889-4056-90cb-e21c898b3c54"},{"name":"[Text]: BVN","event":[{"listen":"test","script":{"id":"4b3f4321-9ab1-4908-9637-adcc52c809bd","exec":["const res = pm.response.json();","","pm.test(\"BVN was submitted & processed\", function () {","    pm.expect(res.message).to.contains('Enter your date (yyyy-mm-dd) of birth');","});","",""],"type":"text/javascript"}}],"id":"4a33af88-2bdd-4913-af1b-eb3bc43694bd","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"request_ref\": \"{{requestRef}}\",\n  \"request_type\":\"benefits_intent\",\n\t\"auth\": {\n        \"secure\": \"YYRlS/3GwfE4MP8o0/OnR8UBnUzv59fU\",\n        \"auth_provider\": \"Benefits\" \n    },\n    \"transaction\": {\n        \"transaction_ref\": \"998383938292\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact/validate","urlObject":{"protocol":"https","path":["v2","transact","validate"],"host":["api","onepipe","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"4a33af88-2bdd-4913-af1b-eb3bc43694bd"},{"name":"[Text]: DOB","event":[{"listen":"test","script":{"id":"aa8b11d9-414e-44e8-b669-45686a330179","exec":["const res = pm.response.json();","","pm.test(\"DOB was submitted & processed\", function () {","    pm.expect(res.message).to.contains('Please enter the first name linked to your BVN');","});","",""],"type":"text/javascript"}}],"id":"b3718416-7f98-4cec-b1f1-8efa08ae55ec","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"request_ref\": \"{{requestRef}}\",\n  \"request_type\":\"benefits_intent\",\n\t\"auth\": {\n        \"secure\": \"K75Ql09uLf9JxKp3tdp3rDyb8meyQECB\",\n        \"auth_provider\": \"Benefits\" \n    },\n    \"transaction\": {\n        \"transaction_ref\": \"998383938292\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact/validate","urlObject":{"protocol":"https","path":["v2","transact","validate"],"host":["api","onepipe","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"b3718416-7f98-4cec-b1f1-8efa08ae55ec"},{"name":"[Text]: Firstname","event":[{"listen":"test","script":{"id":"7c680426-7101-4dc0-9f42-a0d5131058ae","exec":["const res = pm.response.json();","","pm.test(\"Firstname was submitted & processed\", function () {","    pm.expect(res.message).to.contains('Please enter your surname');","});","",""],"type":"text/javascript"}}],"id":"5778087d-6a0c-4888-a04e-5b277f7e6fc7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"request_ref\": \"{{requestRef}}\",\n  \"request_type\":\"benefits_intent\",\n\t\"auth\": {\n        \"secure\": \"dtApbWZIzR71/ngMz5xsog==\",\n        \"auth_provider\": \"Benefits\" \n    },\n    \"transaction\": {\n        \"transaction_ref\": \"998383938292\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact/validate","urlObject":{"protocol":"https","path":["v2","transact","validate"],"host":["api","onepipe","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"5778087d-6a0c-4888-a04e-5b277f7e6fc7"},{"name":"[Text]: Surname","event":[{"listen":"test","script":{"id":"332c67e1-05fc-48b0-904d-4cd2dba3ef01","exec":["const res = pm.response.json();","","pm.test(\"Surname was submitted & processed\", function () {","    pm.expect(res.message).to.contains('Please enter your middle name');","});","",""],"type":"text/javascript"}}],"id":"ce761034-1dfe-4ef8-be1c-f04714d7c001","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"request_ref\": \"{{requestRef}}\",\n  \"request_type\":\"benefits_intent\",\n\t\"auth\": {\n        \"secure\": \"OM6juXh6yAM=\",\n        \"auth_provider\": \"Benefits\" \n    },\n    \"transaction\": {\n        \"transaction_ref\": \"998383938292\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact/validate","urlObject":{"protocol":"https","path":["v2","transact","validate"],"host":["api","onepipe","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"ce761034-1dfe-4ef8-be1c-f04714d7c001"},{"name":"[Text]: Middlename","event":[{"listen":"test","script":{"id":"8235edc5-0904-4e06-905c-63dec17cfefb","exec":["const res = pm.response.json();","","pm.test(\"Middlename was submitted & processed\", function () {","    pm.expect(res.message).to.contains('Select your gender');","});","",""],"type":"text/javascript"}}],"id":"89ab1b66-edc8-442b-ba49-845219541444","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"request_ref\": \"{{requestRef}}\",\n  \"request_type\":\"benefits_intent\",\n\t\"auth\": {\n        \"secure\": \"M61O1fjs4Vl04JdcBXN82A==\",\n        \"auth_provider\": \"Benefits\" \n    },\n    \"transaction\": {\n        \"transaction_ref\": \"998383938292\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact/validate","urlObject":{"protocol":"https","path":["v2","transact","validate"],"host":["api","onepipe","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"89ab1b66-edc8-442b-ba49-845219541444"},{"name":"[Text]: Gender","event":[{"listen":"test","script":{"id":"ed81d29e-58fe-4a14-ab03-b808242733fd","exec":["const res = pm.response.json();","","pm.test(\"Gender was submitted & processed\", function () {","    pm.expect(res.status).to.eql('PendingValidation');","});","","pm.test(\"PIN creation was requested\", function () {","    pm.expect(res.message).to.contains('Enter a 4-digit transaction PIN you would like to use with your');","});",""],"type":"text/javascript"}}],"id":"a473970e-7569-478c-b535-93309351670b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"request_ref\": \"{{requestRef}}\",\n  \"request_type\":\"benefits_intent\",\n\t\"auth\": {\n        \"secure\": \"WHhR9vHnEwRGWKkrLfj/aA==\",\n        \"auth_provider\": \"Benefits\" \n    },\n    \"transaction\": {\n        \"transaction_ref\": \"998383938292\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact/validate","urlObject":{"protocol":"https","path":["v2","transact","validate"],"host":["api","onepipe","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"a473970e-7569-478c-b535-93309351670b"},{"name":"[Text]: Pin","event":[{"listen":"test","script":{"id":"3325db46-7638-4d16-9b5f-bee4f27ec257","exec":["const res = pm.response.json();","","pm.test(\"Pin was submitted  & processed\", function () {","    pm.expect(res.status).to.eql('PendingValidation');","});","","pm.test(\"Account creation in progress\", function () {","    pm.expect(res.message).to.contains('A moment please... Your account is currently being provisioned.');","});",""],"type":"text/javascript"}}],"id":"50f5b6a7-1e1a-4d41-975f-cabb4e2e551a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"request_ref\": \"{{requestRef}}\",\n  \"request_type\":\"benefits_intent\",\n\t\"auth\": {\n        \"secure\": \"+xYaIIWMdOo40DIvll3r8w==\",\n        \"auth_provider\": \"Benefits\" \n    },\n    \"transaction\": {\n        \"transaction_ref\": \"998383938292\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact/validate","urlObject":{"protocol":"https","path":["v2","transact","validate"],"host":["api","onepipe","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"50f5b6a7-1e1a-4d41-975f-cabb4e2e551a"}],"id":"7c46a97e-e564-4042-9910-d965867f391f","_postman_id":"7c46a97e-e564-4042-9910-d965867f391f","description":""},{"name":"New Channel","item":[{"name":"Initiate","event":[{"listen":"test","script":{"id":"6d7c4206-ed34-4288-919b-6ccfc94fa44d","exec":["const res = pm.response.json();","","if (res.status == 'PendingValidation' && res.data.provider_response?.reference){","    pm.environment.set(\"transaction_ref\", res.data.provider_response.reference);","}","","pm.test(\"200 Http Status\", function () {","    pm.response.to.have.status(200);","});","","pm.test(\"Return PendingValidation Status\", function () {","    pm.response.to.have.status(200);","    pm.expect(res.status).to.eql('PendingValidation');","});","","const providerResponse = res.data.provider_response;","pm.test(\"provider_response has all necessary object\", () => {","    pm.expect(providerResponse).to.have.all.keys('reference', 'action', 'meta');","    ","});","","pm.test(\"Reference is present  in provider_response\", () => {","    pm.expect(providerResponse).to.include('reference');","});","","pm.test(\"Action contains all necessary object\", () => {","    const action = providerResponse.action;","    pm.expect(action).to.have.all.keys('message', 'recipientId');","    pm.expect(action.message).to.be.an('object');","});",""],"type":"text/javascript"}}],"id":"22d0b4b1-3f86-4cff-82e3-cf5970b05fa4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"request_ref\": \"{{requestRef}}\",\n    \"request_type\": \"benefits_intent\",\n    \"auth\": {\n        \"type\": null,\n        \"secure\": null,\n        \"auth_provider\": \"Benefits\",\n        \"route_mode\": null\n    },\n    \"transaction\": {\n        \"mock_mode\": \"live\",\n        \"transaction_ref\": \"W0oWj6EsBj6PviU-If0_7FTUKcj9fOH\",\n        \"transaction_desc\": \"A random transaction\",\n        \"transaction_ref_parent\": null,\n        \"amount\": 0,\n        \"customer\": {\n            \"customer_ref\": \"{{customerRef}}\",\n            \"firstname\": \"Uju\",\n            \"surname\": \"Usmanu\",\n            \"email\": \"ujuusmanu@gmail.com\",\n            \"mobile_no\": \"{{customerRef}}\"\n        },\n        \"details\": {\n            \"message\": \"Enrol\",\n            \"callback_url\": \"{{callbackUrl}}\",\n            \"subsequent_messages\": [],\n            \"client_id\": \"{{appCode}}\",\n            \"sender_id\": \"{{customerRef}}\",\n            \"channel\": \"grb-api\"\n        }\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact","urlObject":{"protocol":"https","path":["v2","transact"],"host":["api","onepipe","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"22d0b4b1-3f86-4cff-82e3-cf5970b05fa4"},{"name":"[Text]: Yes","id":"446724f0-0dfe-4cd6-84cc-d83b312ab322","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"request_ref\": \"{{requestRef}}\",\n  \"request_type\":\"benefits_intent\",\n\t\"auth\": {\n        \"secure\": \"qMlw1VEOzXI=\",\n        \"auth_provider\": \"Benefits\" \n    },\n    \"transaction\": {\n        \"transaction_ref\": \"998383938292\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact/validate","urlObject":{"protocol":"https","path":["v2","transact","validate"],"host":["api","onepipe","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"446724f0-0dfe-4cd6-84cc-d83b312ab322"},{"name":"[Text]: Pin","id":"75c26af0-c74e-44ae-a590-b8a7a4431e8d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"request_ref\": \"{{requestRef}}\",\n  \"request_type\":\"benefits_intent\",\n\t\"auth\": {\n        \"secure\": \"+xYaIIWMdOo40DIvll3r8w==\",\n        \"auth_provider\": \"Benefits\" \n    },\n    \"transaction\": {\n        \"transaction_ref\": \"998383938292\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact/validate","urlObject":{"protocol":"https","path":["v2","transact","validate"],"host":["api","onepipe","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"75c26af0-c74e-44ae-a590-b8a7a4431e8d"}],"id":"f7c0a6d3-bcd7-42d0-8988-5712676ecafc","_postman_id":"f7c0a6d3-bcd7-42d0-8988-5712676ecafc","description":""}],"id":"add91134-913c-46a2-bacd-596ef2e2ac00","description":"<p>The Enrolment service must be called before accessing the other services available. Enrolment is of two types, Enrolment - New Users, and Enrolment - New Channel.</p>\n<p>Enrolment - New User is for customers that do not previously have any OnePipe generated virtual accounts.</p>\n<p>Enrolment - New Channel is for customers that already have an account on OnePipe via our progressive web app on Benefits.chat and Benefits Mobile App. Note: For Enrolment - New Channel, customers will need to have their details reset for enrolment to take place.</p>\n","_postman_id":"add91134-913c-46a2-bacd-596ef2e2ac00"},{"name":"Pay4me","item":[{"name":"Initiate","id":"d1ca8d34-4b66-448b-8af4-f6ba90af195d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"request_ref\": \"{{requestRef}}\",\r\n    \"request_type\": \"benefits_intent\",\r\n    \"auth\": {\r\n        \"type\": null,\r\n        \"secure\": null,\r\n        \"auth_provider\": \"Benefits\"\r\n    },\r\n    \"transaction\": {\r\n        \"mock_mode\": \"live\",\r\n        \"transaction_ref\": \"ni_IH_9C3dTXsFt-k42AoatzkWwrMJw\",\r\n        \"transaction_desc\": \"Initiate Pay4Me\",\r\n        \"amount\": 0,\r\n        \"customer\": {\r\n            \"customer_ref\": \"{{customerRef}}\",\r\n            \"firstname\": \"Oluwatimilehin\",\r\n            \"surname\": \"Alapakristi\",\r\n            \"email\": \"samuel@onepipe.io\",\r\n            \"mobile_no\": \"{{customerRef}}\"\r\n        },\r\n        \"details\": {\r\n            \"message\": \"{{msgPayToApp}}\",\r\n            \"callback_url\": \"{{callbackUrl}}\",\r\n            \"subsequent_messages\": [],\r\n            \"client_id\": \"{{appCode}}\",\r\n            \"sender_id\": \"{{customerRef}}\",\r\n            \"channel\": \"grb-api\"\r\n        }\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact","urlObject":{"protocol":"https","path":["v2","transact"],"host":["api","onepipe","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"d1ca8d34-4b66-448b-8af4-f6ba90af195d"},{"name":"Select Option","event":[{"listen":"test","script":{"id":"8235edc5-0904-4e06-905c-63dec17cfefb","exec":["const res = pm.response.json();","","pm.test(\"Middlename was submitted & processed\", function () {","    pm.expect(res.message).to.contains('Select your gender');","});","",""],"type":"text/javascript"}}],"id":"166e6d2b-7a18-4acd-b185-99d640423c79","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"request_ref\": \"{{requestRef}}\",\n  \"request_type\":\"benefits_intent\",\n\t\"auth\": {\n        \"secure\": \"7BH+I3/kymASfv8/8gRwuA==\",\n        \"auth_provider\": \"Benefits\" \n    },\n    \"transaction\": {\n        \"transaction_ref\": \"998383938292\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact/validate","urlObject":{"protocol":"https","path":["v2","transact","validate"],"host":["api","onepipe","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"166e6d2b-7a18-4acd-b185-99d640423c79"},{"name":"Search Name","event":[{"listen":"test","script":{"id":"8235edc5-0904-4e06-905c-63dec17cfefb","exec":["const res = pm.response.json();","","pm.test(\"Middlename was submitted & processed\", function () {","    pm.expect(res.message).to.contains('Select your gender');","});","",""],"type":"text/javascript"}}],"id":"e4b0b10c-0b00-4422-b6ad-f75124db9900","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"request_ref\": \"{{requestRef}}\",\n  \"request_type\":\"benefits_intent\",\n\t\"auth\": {\n        \"secure\": \"2jffDEDDqBXdpSjnNPpjGnZY3Tq2j4tCWjeuiJDaOXkf7gvuQzWdwg==\",\n        \"auth_provider\": \"Benefits\" \n    },\n    \"transaction\": {\n        \"transaction_ref\": \"998383938292\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact/validate","urlObject":{"protocol":"https","path":["v2","transact","validate"],"host":["api","onepipe","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"e4b0b10c-0b00-4422-b6ad-f75124db9900"},{"name":"Payment Option","event":[{"listen":"test","script":{"id":"8235edc5-0904-4e06-905c-63dec17cfefb","exec":["const res = pm.response.json();","","pm.test(\"Middlename was submitted & processed\", function () {","    pm.expect(res.message).to.contains('Select your gender');","});","",""],"type":"text/javascript"}}],"id":"48af8620-82a7-4b22-979d-7976e2d9a0ae","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"request_ref\": \"{{requestRef}}\",\n  \"request_type\":\"benefits_intent\",\n\t\"auth\": {\n        \"secure\": \"2jffDEDDqBXdpSjnNPpjGnZY3Tq2j4tCWjeuiJDaOXkf7gvuQzWdwg==\",\n        \"auth_provider\": \"Benefits\" \n    },\n    \"transaction\": {\n        \"transaction_ref\": \"998383938292\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact/validate","urlObject":{"protocol":"https","path":["v2","transact","validate"],"host":["api","onepipe","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"48af8620-82a7-4b22-979d-7976e2d9a0ae"},{"name":"Payment Item","event":[{"listen":"test","script":{"id":"8235edc5-0904-4e06-905c-63dec17cfefb","exec":["const res = pm.response.json();","","pm.test(\"Middlename was submitted & processed\", function () {","    pm.expect(res.message).to.contains('Select your gender');","});","",""],"type":"text/javascript"}}],"id":"793b6c6c-b829-41cd-b622-37ae05d1e480","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"request_ref\": \"{{requestRef}}\",\n  \"request_type\":\"benefits_intent\",\n\t\"auth\": {\n        \"secure\": \"pHL/X+IN6qI=\",\n        \"auth_provider\": \"Benefits\" \n    },\n    \"transaction\": {\n        \"transaction_ref\": \"998383938292\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact/validate","urlObject":{"protocol":"https","path":["v2","transact","validate"],"host":["api","onepipe","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"793b6c6c-b829-41cd-b622-37ae05d1e480"},{"name":"Select Pay4Me","event":[{"listen":"test","script":{"id":"8235edc5-0904-4e06-905c-63dec17cfefb","exec":["const res = pm.response.json();","","pm.test(\"Middlename was submitted & processed\", function () {","    pm.expect(res.message).to.contains('Select your gender');","});","",""],"type":"text/javascript"}}],"id":"68c89357-6e44-4017-a765-38a7a8c1d090","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"request_ref\": \"{{requestRef}}\",\n  \"request_type\":\"benefits_intent\",\n\t\"auth\": {\n        \"secure\": \"A1Xb3dwEKFWw7AwU691xvQ==\",\n        \"auth_provider\": \"Benefits\" \n    },\n    \"transaction\": {\n        \"transaction_ref\": \"998383938292\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact/validate","urlObject":{"protocol":"https","path":["v2","transact","validate"],"host":["api","onepipe","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"68c89357-6e44-4017-a765-38a7a8c1d090"},{"name":"Select OnePipe Pay4Me","event":[{"listen":"test","script":{"id":"8235edc5-0904-4e06-905c-63dec17cfefb","exec":["const res = pm.response.json();","","pm.test(\"Middlename was submitted & processed\", function () {","    pm.expect(res.message).to.contains('Select your gender');","});","",""],"type":"text/javascript"}}],"id":"dd8d5744-c385-4045-b75c-fbfe80951b05","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"request_ref\": \"{{requestRef}}\",\n  \"request_type\":\"benefits_intent\",\n\t\"auth\": {\n        \"secure\": \"A1Xb3dwEKFXLhiX6QCOGo+uo5n/du4QEyJScknvRBFzB9thHhXH1Gg==\",\n        \"auth_provider\": \"Benefits\" \n    },\n    \"transaction\": {\n        \"transaction_ref\": \"998383938292\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact/validate","urlObject":{"protocol":"https","path":["v2","transact","validate"],"host":["api","onepipe","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"dd8d5744-c385-4045-b75c-fbfe80951b05"},{"name":"Terms and Conditions","event":[{"listen":"test","script":{"id":"8235edc5-0904-4e06-905c-63dec17cfefb","exec":["const res = pm.response.json();","","pm.test(\"Middlename was submitted & processed\", function () {","    pm.expect(res.message).to.contains('Select your gender');","});","",""],"type":"text/javascript"}}],"id":"665e37b0-d6f3-4776-aaa0-00f3cbf45c6c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"request_ref\": \"{{requestRef}}\",\n  \"request_type\":\"benefits_intent\",\n\t\"auth\": {\n        \"secure\": \"ohxUAfOhG8w=\",\n        \"auth_provider\": \"Benefits\" \n    },\n    \"transaction\": {\n        \"transaction_ref\": \"998383938292\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact/validate","urlObject":{"protocol":"https","path":["v2","transact","validate"],"host":["api","onepipe","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"665e37b0-d6f3-4776-aaa0-00f3cbf45c6c"},{"name":"DSA Fullname","event":[{"listen":"test","script":{"id":"8235edc5-0904-4e06-905c-63dec17cfefb","exec":["const res = pm.response.json();","","pm.test(\"Middlename was submitted & processed\", function () {","    pm.expect(res.message).to.contains('Select your gender');","});","",""],"type":"text/javascript"}}],"id":"2c7e1b71-19bb-4308-8c45-8be5205cb8b4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"request_ref\": \"{{requestRef}}\",\n  \"request_type\":\"benefits_intent\",\n\t\"auth\": {\n        \"secure\": \"tPC8L5JVC9LrthcssjyliEBd5Mcb3hoqbWGxrSrI4IcD0VK8RwvvIg==\",\n        \"auth_provider\": \"Benefits\" \n    },\n    \"transaction\": {\n        \"transaction_ref\": \"998383938292\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact/validate","urlObject":{"protocol":"https","path":["v2","transact","validate"],"host":["api","onepipe","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"2c7e1b71-19bb-4308-8c45-8be5205cb8b4"}],"id":"50432d3a-263b-45d0-a20a-c7b3d430629b","_postman_id":"50432d3a-263b-45d0-a20a-c7b3d430629b","description":""},{"name":"Repay Credit Line","item":[{"name":"Initiate","id":"40a7d9c0-adf0-4997-8eae-119ba7940412","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"request_ref\": \"{{requestRef}}\",\r\n    \"request_type\": \"benefits_intent\",\r\n    \"auth\": {\r\n        \"type\": null,\r\n        \"secure\": null,\r\n        \"auth_provider\": \"Benefits\"\r\n    },\r\n    \"transaction\": {\r\n        \"mock_mode\": \"live\",\r\n        \"transaction_ref\": \"4qyL4gVqgyQpq3p-iY7MuGY58NsxBtc\",\r\n        \"transaction_desc\": \"Repay Credit Line\",\r\n        \"amount\": 0,\r\n        \"customer\": {\r\n            \"customer_ref\": \"{{customerRef}}\",\r\n            \"firstname\": \"Oluwatimilehin\",\r\n            \"surname\": \"Alapakristi\",\r\n            \"email\": \"samuel@onepipe.io\",\r\n            \"mobile_no\": \"{{customerRef}}\"\r\n        },\r\n        \"details\": {\r\n            \"message\": \"{{msgPayToApp}}\",\r\n            \"callback_url\": \"{{callbackUrl}}\",\r\n            \"subsequent_messages\": [],\r\n            \"client_id\": \"{{appCode}}\",\r\n            \"sender_id\": \"{{customerRef}}\",\r\n            \"channel\": \"grb-api\"\r\n        }\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact","urlObject":{"protocol":"https","path":["v2","transact"],"host":["api","onepipe","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"40a7d9c0-adf0-4997-8eae-119ba7940412"},{"name":"Repay Credit Line","event":[{"listen":"test","script":{"id":"8235edc5-0904-4e06-905c-63dec17cfefb","exec":["const res = pm.response.json();","","pm.test(\"Middlename was submitted & processed\", function () {","    pm.expect(res.message).to.contains('Select your gender');","});","",""],"type":"text/javascript"}}],"id":"f085eaf2-3407-47b4-9a5d-f43979ffe20f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"request_ref\": \"{{requestRef}}\",\n  \"request_type\":\"benefits_intent\",\n\t\"auth\": {\n        \"secure\": \"F4gpafAzroVZ+R8HrLNwSPn+LYgYm5wJfSKlgr0jz7zvy7gQuaIQ+g==\",\n        \"auth_provider\": \"Benefits\" \n    },\n    \"transaction\": {\n        \"transaction_ref\": \"998383938292\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact/validate","urlObject":{"protocol":"https","path":["v2","transact","validate"],"host":["api","onepipe","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"f085eaf2-3407-47b4-9a5d-f43979ffe20f"},{"name":"Payment Item","event":[{"listen":"test","script":{"id":"8235edc5-0904-4e06-905c-63dec17cfefb","exec":["const res = pm.response.json();","","pm.test(\"Middlename was submitted & processed\", function () {","    pm.expect(res.message).to.contains('Select your gender');","});","",""],"type":"text/javascript"}}],"id":"c179bb6c-6fd3-4561-9534-2ba980f70678","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"request_ref\": \"{{requestRef}}\",\n  \"request_type\":\"benefits_intent\",\n\t\"auth\": {\n        \"secure\": \"pHL/X+IN6qI=\",\n        \"auth_provider\": \"Benefits\" \n    },\n    \"transaction\": {\n        \"transaction_ref\": \"998383938292\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact/validate","urlObject":{"protocol":"https","path":["v2","transact","validate"],"host":["api","onepipe","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"c179bb6c-6fd3-4561-9534-2ba980f70678"},{"name":"Pay Now","event":[{"listen":"test","script":{"id":"8235edc5-0904-4e06-905c-63dec17cfefb","exec":["const res = pm.response.json();","","pm.test(\"Middlename was submitted & processed\", function () {","    pm.expect(res.message).to.contains('Select your gender');","});","",""],"type":"text/javascript"}}],"id":"71191b32-cc83-4938-84ae-803057570421","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"request_ref\": \"{{requestRef}}\",\n  \"request_type\":\"benefits_intent\",\n\t\"auth\": {\n        \"secure\": \"VaAmSIe8y6nnOmIRRXqgcg==\",\n        \"auth_provider\": \"Benefits\" \n    },\n    \"transaction\": {\n        \"transaction_ref\": \"998383938292\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact/validate","urlObject":{"protocol":"https","path":["v2","transact","validate"],"host":["api","onepipe","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"71191b32-cc83-4938-84ae-803057570421"},{"name":"PIN","event":[{"listen":"test","script":{"id":"8235edc5-0904-4e06-905c-63dec17cfefb","exec":["const res = pm.response.json();","","pm.test(\"Middlename was submitted & processed\", function () {","    pm.expect(res.message).to.contains('Select your gender');","});","",""],"type":"text/javascript"}}],"id":"10d9bc2b-985c-4a76-a15a-9b95deb50171","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"request_ref\": \"{{requestRef}}\",\n  \"request_type\":\"benefits_intent\",\n\t\"auth\": {\n        \"secure\": \"TIdS9+05Aas=\",\n        \"auth_provider\": \"Benefits\" \n    },\n    \"transaction\": {\n        \"transaction_ref\": \"998383938292\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact/validate","urlObject":{"protocol":"https","path":["v2","transact","validate"],"host":["api","onepipe","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"10d9bc2b-985c-4a76-a15a-9b95deb50171"}],"id":"4c9c2768-659c-470f-b214-f81c00710df8","_postman_id":"4c9c2768-659c-470f-b214-f81c00710df8","description":""},{"name":"Upgrade Account","item":[{"name":"Initiate","id":"a565e9ae-8ec7-4161-9b0a-292c78b0a61e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"request_ref\": \"{{requestRef}}\",\n    \"request_type\": \"benefits_intent\",\n    \"auth\": {\n        \"type\": null,\n        \"secure\": null,\n        \"auth_provider\": \"Benefits\"\n    },\n    \"transaction\": {\n        \"mock_mode\": \"live\",\n        \"transaction_ref\": \"QDzEezz_Il4IQFV-fMloWjLbv7EEcUL\",\n        \"transaction_desc\": \"Initiate Upgrade Account\",\n        \"amount\": 0,\n        \"customer\": {\n            \"customer_ref\": \"{{customerRef}}\",\n            \"firstname\": \"Oluwatimilehin\",\n            \"surname\": \"Alapakristi\",\n            \"email\": \"samuel@onepipe.io\",\n            \"mobile_no\": \"{{customerRef}}\"\n        },\n        \"details\": {\n            \"message\": \"{{msgUpgradeAccount}}\",\n            \"callback_url\": \"{{callbackUrl}}\",\n            \"subsequent_messages\": [],\n            \"client_id\": \"{{appCode}}\",\n            \"sender_id\": \"{{customerRef}}\",\n            \"channel\": \"grb-api\"\n        }\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.iov2/transact","urlObject":{"protocol":"https","path":["transact"],"host":["api","onepipe","iov2"],"query":[],"variable":[]}},"response":[],"_postman_id":"a565e9ae-8ec7-4161-9b0a-292c78b0a61e"}],"id":"53642a9c-b665-45fa-81bd-df7a5b996a12","_postman_id":"53642a9c-b665-45fa-81bd-df7a5b996a12","description":""},{"name":"Upgrade Limit","item":[{"name":"Initiate","id":"15669ff1-6d26-4583-82f3-ad065c2dc230","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"request_ref\": \"{{requestRef}}\",\n    \"request_type\": \"benefits_intent\",\n    \"auth\": {\n        \"type\": null,\n        \"secure\": null,\n        \"auth_provider\": \"Benefits\",\n        \"route_mode\": null\n    },\n    \"transaction\": {\n        \"mock_mode\": \"live\",\n        \"transaction_ref\": \"lwdISzcyQ2TBH5v-rkLNKBj5llst3jb\",\n        \"transaction_desc\": \"A random transaction\",\n        \"transaction_ref_parent\": null,\n        \"amount\": 0,\n        \"customer\": {\n            \"customer_ref\": \"{{customerRef}}\",\n            \"firstname\": \"Uju\",\n            \"surname\": \"Usmanu\",\n            \"email\": \"ujuusmanu@gmail.com\",\n            \"mobile_no\": \"{{customerRef}}\"\n        },\n        \"details\": {\n            \"message\": \"Upgrade Limit\",\n            \"callback_url\": \"{{callbackUrl}}\",\n            \"subsequent_messages\": [],\n            \"client_id\": \"{{appCode}}\",\n            \"sender_id\": \"{{customerRef}}\",\n            \"channel\": \"grb-api\"\n        }\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact","urlObject":{"protocol":"https","path":["v2","transact"],"host":["api","onepipe","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"15669ff1-6d26-4583-82f3-ad065c2dc230"},{"name":"Yes [Valid ID]","event":[{"listen":"test","script":{"id":"8235edc5-0904-4e06-905c-63dec17cfefb","exec":["const res = pm.response.json();","","pm.test(\"Middlename was submitted & processed\", function () {","    pm.expect(res.message).to.contains('Select your gender');","});","",""],"type":"text/javascript"}}],"id":"124de75a-da51-4944-adf4-4be1cce935ee","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"request_ref\": \"{{requestRef}}\",\n  \"request_type\":\"benefits_intent\",\n\t\"auth\": {\n        \"secure\": \"ohxUAfOhG8w=\",\n        \"auth_provider\": \"Benefits\" \n    },\n    \"transaction\": {\n        \"transaction_ref\": \"998383938292\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact/validate","urlObject":{"protocol":"https","path":["v2","transact","validate"],"host":["api","onepipe","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"124de75a-da51-4944-adf4-4be1cce935ee"},{"name":"Yes [Utility Bill]","event":[{"listen":"test","script":{"id":"8235edc5-0904-4e06-905c-63dec17cfefb","exec":["const res = pm.response.json();","","pm.test(\"Middlename was submitted & processed\", function () {","    pm.expect(res.message).to.contains('Select your gender');","});","",""],"type":"text/javascript"}}],"id":"531385c8-55b7-4181-b92f-c6632ee171bf","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n  \"request_ref\": \"{{requestRef}}\",\n  \"request_type\":\"benefits_intent\",\n\t\"auth\": {\n        \"secure\": \"ohxUAfOhG8w=\",\n        \"auth_provider\": \"Benefits\" \n    },\n    \"transaction\": {\n        \"transaction_ref\": \"998383938292\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact/validate","urlObject":{"protocol":"https","path":["v2","transact","validate"],"host":["api","onepipe","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"531385c8-55b7-4181-b92f-c6632ee171bf"}],"id":"3e4de8b4-3f59-43a0-bf56-e17b2796ff96","_postman_id":"3e4de8b4-3f59-43a0-bf56-e17b2796ff96","description":""}],"id":"4a80d830-6d21-490e-869a-73a761dac737","description":"<p>This is similar to calling any of OnePipe API's but in this instance, the expected response is not returned in real time; responses would be sent to the <code>callback_url</code> provided in your initial <code>transact</code> call payload.</p>\n<p><strong>Sequence of Calls</strong></p>\n<ol>\n<li>The App calls <code>/transact</code> with the no auth details.</li>\n<li>In the <code>details</code> object, the app inserts the user’s message as text + a callback URL.</li>\n<li>Provider responds with <code>PendingValidation</code> and an <code>action</code> object corresponding to the message from the underlying intent (text, menu, buttons, attachments). The provider responds via the callback URL.</li>\n<li>App calls <code>/transact/validate</code> to supply the user’s a choice/text.</li>\n<li>Provider responds with any completion codes <code>Successful</code> or <code>Failed</code> if it has all it needs to finish off the intent. Otherwise, go back to <strong>#3.</strong></li>\n<li>To query the status of a transaction, the app can call <code>/transact/query</code></li>\n</ol>\n","_postman_id":"4a80d830-6d21-490e-869a-73a761dac737"},{"name":"Subsequent Messaging","item":[{"name":"Enrollment","item":[{"name":"New User","event":[{"listen":"test","script":{"id":"c861d7cd-5e99-4ca7-9371-2f0e8dca9e35","exec":["// const req = pm.request.json();","const res = pm.response.json();","","","// pm.test(\"details.message is encrypted\", function () {","//     pm.request.to.have.status(200);","// });","","// pm.test(\"Response time is less than 200ms\", () => {","//   pm.expect(pm.response.responseTime).to.be.below(5001);","// });","","if (res.status == 'PendingValidation' && res.data.provider_response?.reference){","    pm.environment.set(\"transaction_ref\", res.data.provider_response.reference);","}","","pm.test(\"200 Http Status\", function () {","    pm.response.to.have.status(200);","});","","pm.test(\"Return PendingValidation Status\", function () {","    pm.response.to.have.status(200);","    pm.expect(res.status).to.eql('PendingValidation');","});","","pm.test(\"Response has Yes and No button\", function () {","    pm.expect(res.message).to.contains('Do you want to continue?');","});","","const providerResponse = res.data.provider_response;","pm.test(\"provider_response has all necessary object\", () => {","    pm.expect(providerResponse).to.have.all.keys('reference', 'action', 'meta');","    ","});","","pm.test(\"Reference is present  in provider_response\", () => {","    pm.expect(providerResponse).to.have.property('reference');","});","","pm.test(\"Action contains all necessary object\", () => {","    const action = providerResponse.action;","    pm.expect(action).to.have.all.keys('message', 'recipientId');","    pm.expect(action.message).to.be.an('object');","});",""],"type":"text/javascript"}}],"id":"2a221d41-a752-4965-9848-fceb575cf9b1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"request_ref\": \"{{requestRef}}\",\n    \"request_type\": \"benefits_intent\",\n    \"auth\": {\n        \"type\": null,\n        \"secure\": null,\n        \"auth_provider\": \"Benefits\",\n        \"route_mode\": null\n    },\n    \"transaction\": {\n        \"mock_mode\": \"live\",\n        \"transaction_ref\": \"6uzaM7ML0wCXM7a-f783fVD9Fxq6bou\",\n        \"transaction_desc\": \"A random transaction\",\n        \"transaction_ref_parent\": null,\n        \"amount\": 0,\n        \"customer\": {\n            \"customer_ref\": \"{{customerRef}}\",\n            \"firstname\": \"Uju\",\n            \"surname\": \"Usmanu\",\n            \"email\": \"ujuusmanu@gmail.com\",\n            \"mobile_no\": \"{{customerRef}}\"\n        },\n        \"details\": {\n            \"message\": \"{{msgEnrol}}\",\n            \"callback_url\": \"{{callbackUrl}}\",\n            \"subsequent_messages\": [\n                {\n                    \"question\": \"do you want to continue?\",\n                    \"answer\": \"yes\"\n                },\n                {\n                    \"question\": \"enter your bvn\",\n                    \"answer\": \"{{bvn}}\"\n                },\n                {\n                    \"question\": \"Enter your date (yyyy-mm-dd) of birth\",\n                    \"answer\": \"{{dob}}\"\n                },\n                {\n                    \"question\": \"enter the first name linked to your bvn\",\n                    \"answer\": \"Ola\"\n                },\n                {\n                    \"question\": \"enter your surname\",\n                    \"answer\": \"Jide\"\n                },\n                {\n                    \"question\": \"enter your middle name\",\n                    \"answer\": \"Samuel\"\n                },\n                {\n                    \"question\": \"select your gender\",\n                    \"answer\": \"male\"\n                },\n                {\n                    \"question\": \"4-digit transaction pin\",\n                    \"answer\": \"{{trxPin}}\"\n                }\n            ],\n            \"client_id\": \"{{appCode}}\",\n            \"sender_id\": \"{{customerRef}}\",\n            \"channel\": \"{{channel}}\"\n        }\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact","urlObject":{"protocol":"https","path":["v2","transact"],"host":["api","onepipe","io"],"query":[],"variable":[]}},"response":[{"id":"a6ce1afd-33b9-401a-8977-812326cfcf8d","name":"New User","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"request_ref\": \"{{requestRef}}\",\n    \"request_type\": \"benefits_intent\",\n    \"auth\": {\n        \"type\": null,\n        \"secure\": null,\n        \"auth_provider\": \"Benefits\",\n        \"route_mode\": null\n    },\n    \"transaction\": {\n        \"mock_mode\": \"live\",\n        \"transaction_ref\": \"86jVKd7770vE43j-mWqZX3Ba7pzybpk\",\n        \"transaction_desc\": \"A random transaction\",\n        \"transaction_ref_parent\": null,\n        \"amount\": 0,\n        \"customer\": {\n            \"customer_ref\": \"{{customerRef}}\",\n            \"firstname\": \"Uju\",\n            \"surname\": \"Usmanu\",\n            \"email\": \"ujuusmanu@gmail.com\",\n            \"mobile_no\": \"{{customerRef}}\"\n        },\n        \"details\": {\n            \"message\": \"{{msgEnrol}}\",\n            \"callback_url\": \"{{callbackUrl}}\",\n            \"subsequent_messages\": [\n                {\n                    \"question\": \"do you want to continue?\",\n                    \"answer\": \"yes\"\n                },\n                {\n                    \"question\": \"enter your bvn\",\n                    \"answer\": \"{{bvn}}\"\n                },\n                {\n                    \"question\": \"Enter your date (yyyy-mm-dd) of birth\",\n                    \"answer\": \"{{dob}}\"\n                },\n                {\n                    \"question\": \"enter the first name linked to your bvn\",\n                    \"answer\": \"Ola\"\n                },\n                {\n                    \"question\": \"enter your surname\",\n                    \"answer\": \"Jide\"\n                },\n                {\n                    \"question\": \"enter your middle name\",\n                    \"answer\": \"Samuel\"\n                },\n                {\n                    \"question\": \"select your gender\",\n                    \"answer\": \"male\"\n                },\n                {\n                    \"question\": \"4-digit transaction pin\",\n                    \"answer\": \"{{trxPin}}\"\n                }\n            ],\n            \"client_id\": \"{{appCode}}\",\n            \"sender_id\": \"{{customerRef}}\",\n            \"channel\": \"{{channel}}\"\n        }\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"PendingValidation\",\n    \"message\": \"Request is being processed. You would get a nofication on your callback once completed\",\n    \"data\": {\n        \"provider_response_code\": \"900TO\",\n        \"provider\": \"Benefits\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"reference\": \"d_Ynrj00AUmB5K0-RhUHp2tm9HaPdT9\"\n        },\n        \"client_info\": null\n    }\n}"},{"id":"7ac78538-6ae8-4ef7-bb57-c63fa7c0a43d","name":"Sucessful response to calback","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"request_ref\": \"{{requestRef}}\",\n    \"request_type\": \"benefits_intent\",\n    \"auth\": {\n        \"type\": null,\n        \"secure\": null,\n        \"auth_provider\": \"Benefits\",\n        \"route_mode\": null\n    },\n    \"transaction\": {\n        \"mock_mode\": \"live\",\n        \"transaction_ref\": \"bJ5dIFqkkB0p2_2-P5AoA41GA8Bkcg9\",\n        \"transaction_desc\": \"A random transaction\",\n        \"transaction_ref_parent\": null,\n        \"amount\": 0,\n        \"customer\": {\n            \"customer_ref\": \"{{customerRef}}\",\n            \"firstname\": \"Uju\",\n            \"surname\": \"Usmanu\",\n            \"email\": \"ujuusmanu@gmail.com\",\n            \"mobile_no\": \"{{customerRef}}\"\n        },\n        \"details\": {\n            \"message\": \"{{msgEnrol}}\",\n            \"callback_url\": \"{{callbackUrl}}\",\n            \"subsequent_messages\": [\n                {\n                    \"question\": \"do you want to continue?\",\n                    \"answer\": \"yes\"\n                },\n                {\n                    \"question\": \"enter your bvn\",\n                    \"answer\": \"{{bvn}}\"\n                },\n                {\n                    \"question\": \"Enter your date (yyyy-mm-dd) of birth\",\n                    \"answer\": \"{{dob}}\"\n                },\n                {\n                    \"question\": \"enter the first name linked to your bvn\",\n                    \"answer\": \"Ola\"\n                },\n                {\n                    \"question\": \"enter your surname\",\n                    \"answer\": \"Jide\"\n                },\n                {\n                    \"question\": \"enter your middle name\",\n                    \"answer\": \"Samuel\"\n                },\n                {\n                    \"question\": \"select your gender\",\n                    \"answer\": \"male\"\n                },\n                {\n                    \"question\": \"4-digit transaction pin\",\n                    \"answer\": \"{{trxPin}}\"\n                }\n            ],\n            \"client_id\": \"{{appCode}}\",\n            \"sender_id\": \"{{customerRef}}\",\n            \"channel\": \"{{channel}}\"\n        }\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"error\": null,\n        \"errors\": null,\n        \"provider\": \"Benefits\",\n        \"provider_response\": {\n            \"meta\": null,\n            \"action\": \"{\\\"recipientId\\\":\\\"grb-api:+2347065514172\\\",\\\"message\\\":{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Your benefits account is ready! Bank: Polaris Bank\\nNumber: 0000000000. You can now begin to enjoy available benefits & credit offers. NB: Please note compliance checks are being performed and your account will be ready to receive inflows in 3 hours\\\",\\\"meta\\\":{\\\"account_number\\\":\\\"0000000000\\\",\\\"account_name\\\":\\\"OnePipe - John Doe\\\",\\\"bank_name\\\":\\\"Polaris Bank Limited\\\",\\\"bank_code\\\":\\\"076\\\"}}}\",\n            \"reference\": \"cdutnUbAYhaMjZT-NYpHLNK23nBoNwx\"\n        },\n        \"provider_response_code\": 0\n    },\n    \"status\": \"Successful\",\n    \"message\": \"Your benefits account is ready!\",\n,}"},{"id":"66206725-bcae-46d7-a9ca-e455c34c3da8","name":"Failed response to calback","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"request_ref\": \"{{requestRef}}\",\n    \"request_type\": \"benefits_intent\",\n    \"auth\": {\n        \"type\": null,\n        \"secure\": null,\n        \"auth_provider\": \"Benefits\",\n        \"route_mode\": null\n    },\n    \"transaction\": {\n        \"mock_mode\": \"live\",\n        \"transaction_ref\": \"r5gj9GPVJJEYh4s-C6juJ6Y28_dihf6\",\n        \"transaction_desc\": \"A random transaction\",\n        \"transaction_ref_parent\": null,\n        \"amount\": 0,\n        \"customer\": {\n            \"customer_ref\": \"{{customerRef}}\",\n            \"firstname\": \"Uju\",\n            \"surname\": \"Usmanu\",\n            \"email\": \"ujuusmanu@gmail.com\",\n            \"mobile_no\": \"{{customerRef}}\"\n        },\n        \"details\": {\n            \"message\": \"{{msgEnrol}}\",\n            \"callback_url\": \"{{callbackUrl}}\",\n            \"subsequent_messages\": [\n                {\n                    \"question\": \"do you want to continue?\",\n                    \"answer\": \"yes\"\n                },\n                {\n                    \"question\": \"enter your bvn\",\n                    \"answer\": \"{{bvn}}\"\n                },\n                {\n                    \"question\": \"Enter your date (yyyy-mm-dd) of birth\",\n                    \"answer\": \"{{dob}}\"\n                },\n                {\n                    \"question\": \"enter the first name linked to your bvn\",\n                    \"answer\": \"Ola\"\n                },\n                {\n                    \"question\": \"enter your surname\",\n                    \"answer\": \"Jide\"\n                },\n                {\n                    \"question\": \"enter your middle name\",\n                    \"answer\": \"Samuel\"\n                },\n                {\n                    \"question\": \"select your gender\",\n                    \"answer\": \"male\"\n                },\n                {\n                    \"question\": \"4-digit transaction pin\",\n                    \"answer\": \"{{trxPin}}\"\n                }\n            ],\n            \"client_id\": \"{{appCode}}\",\n            \"sender_id\": \"{{customerRef}}\",\n            \"channel\": \"{{channel}}\"\n        }\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"error\": null,\n        \"errors\": null,\n        \"provider\": \"Benefits\",\n        \"provider_response\": {\n            \"meta\": null,\n            \"action\": \"{\\\"recipientId\\\":\\\"grb-api:+2347065514172\\\",\\\"message\\\":{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Unable to open account, please try again.\\\"}}\",\n            \"reference\": \"cdutnUbAYhaMjZT-NYpHLNK23nBoNwx\"\n        },\n        \"provider_response_code\": 0\n    },\n    \"status\": \"Failed\",\n    \"message\": \"Unable to open account, please try again.\"\n}"}],"_postman_id":"2a221d41-a752-4965-9848-fceb575cf9b1"},{"name":"New Channel","event":[{"listen":"test","script":{"id":"bc9cd43d-88e6-4c7b-97c9-536a5ced542c","exec":["// const req = pm.request.json();","const res = pm.response.json();","","","// pm.test(\"details.message is encrypted\", function () {","//     pm.request.to.have.status(200);","// });","","// pm.test(\"Response time is less than 200ms\", () => {","//   pm.expect(pm.response.responseTime).to.be.below(5001);","// });","","if (res.status == 'PendingValidation' && res.data.provider_response?.reference){","    pm.environment.set(\"transaction_ref\", res.data.provider_response.reference);","}","","pm.test(\"200 Http Status\", function () {","    pm.response.to.have.status(200);","});","","pm.test(\"Return PendingValidation Status\", function () {","    pm.response.to.have.status(200);","    pm.expect(res.status).to.eql('PendingValidation');","});","","pm.test(\"Response has Yes and No button\", function () {","    pm.expect(res.message).to.contains('Do you want to continue?');","});","","const providerResponse = res.data.provider_response;","pm.test(\"provider_response has all necessary object\", () => {","    pm.expect(providerResponse).to.have.all.keys('reference', 'action', 'meta');","    ","});","","pm.test(\"Reference is present  in provider_response\", () => {","    pm.expect(providerResponse).to.have.property('reference');","});","","pm.test(\"Action contains all necessary object\", () => {","    const action = providerResponse.action;","    pm.expect(action).to.have.all.keys('message', 'recipientId');","    pm.expect(action.message).to.be.an('object');","});",""],"type":"text/javascript"}}],"id":"4067fdbd-e54b-4747-aea7-7bb0e1986b59","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"request_ref\": \"{{requestRef}}\",\n    \"request_type\": \"benefits_intent\",\n    \"auth\": {\n        \"type\": null,\n        \"secure\": null,\n        \"auth_provider\": \"Benefits\"\n    },\n    \"transaction\": {\n        \"mock_mode\": \"live\",\n        \"transaction_ref\": \"dkhizIyDBjEsB_o-XAGAMhalWlVZyE5\",\n        \"transaction_desc\": \"Enrol an existimg user into a new channel\",\n        \"transaction_ref_parent\": null,\n        \"amount\": 0,\n        \"customer\": {\n            \"customer_ref\": \"{{customerRef}}\",\n            \"firstname\": \"Uju\",\n            \"surname\": \"Usmanu\",\n            \"email\": \"ujuusmanu@gmail.com\",\n            \"mobile_no\": \"{{customerRef}}\"\n        },\n        \"details\": {\n            \"message\": \"{{msgEnrol}}\",\n            \"callback_url\": \"{{callbackUrl}}\",\n            \"subsequent_messages\": [\n                {\n                    \"question\": \"Oh, looks like you're not yet registered on this platform. Let me know if you'd love me to enrol you.\",\n                    \"answer\": \"Opt in\"\n                },\n                {\n                    \"question\": \"Onepipe Benefits\",\n                    \"answer\": \"Opt in\"\n                },\n                {\n                    \"question\": \"do you want to continue?\",\n                    \"answer\": \"yes\"\n                },\n                {\n                    \"question\": \"4-digit transaction pin\",\n                    \"answer\": \"{{trxPin}}\"\n                }\n            ],\n            \"client_id\": \"{{appCode}}\",\n            \"sender_id\": \"{{customerRef}}\",\n            \"channel\": \"{{channel}}\"\n        }\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.iov2/transact","urlObject":{"protocol":"https","path":["transact"],"host":["api","onepipe","iov2"],"query":[],"variable":[]}},"response":[{"id":"b3990095-d7ef-48bf-88f0-7da66bf2d9b8","name":"Sucessful response to calback Copy","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"request_ref\": \"{{requestRef}}\",\n    \"request_type\": \"benefits_intent\",\n    \"auth\": {\n        \"type\": null,\n        \"secure\": null,\n        \"auth_provider\": \"Benefits\",\n        \"route_mode\": null\n    },\n    \"transaction\": {\n        \"mock_mode\": \"live\",\n        \"transaction_ref\": \"v9g8sN0UgiP91zD-4TcojDv4PQtENmF\",\n        \"transaction_desc\": \"A random transaction\",\n        \"transaction_ref_parent\": null,\n        \"amount\": 0,\n        \"customer\": {\n            \"customer_ref\": \"{{customerRef}}\",\n            \"firstname\": \"Uju\",\n            \"surname\": \"Usmanu\",\n            \"email\": \"ujuusmanu@gmail.com\",\n            \"mobile_no\": \"{{customerRef}}\"\n        },\n        \"details\": {\n            \"message\": \"{{msgEnrol}}\",\n            \"callback_url\": \"{{callbackUrl}}\",\n            \"subsequent_messages\": [\n                {\n                    \"question\": \"do you want to continue?\",\n                    \"answer\": \"yes\"\n                },\n                {\n                    \"question\": \"enter your bvn\",\n                    \"answer\": \"{{bvn}}\"\n                },\n                {\n                    \"question\": \"Enter your date (yyyy-mm-dd) of birth\",\n                    \"answer\": \"{{dob}}\"\n                },\n                {\n                    \"question\": \"enter the first name linked to your bvn\",\n                    \"answer\": \"Ola\"\n                },\n                {\n                    \"question\": \"enter your surname\",\n                    \"answer\": \"Jide\"\n                },\n                {\n                    \"question\": \"enter your middle name\",\n                    \"answer\": \"Samuel\"\n                },\n                {\n                    \"question\": \"select your gender\",\n                    \"answer\": \"male\"\n                },\n                {\n                    \"question\": \"4-digit transaction pin\",\n                    \"answer\": \"{{trxPin}}\"\n                }\n            ],\n            \"client_id\": \"{{appCode}}\",\n            \"sender_id\": \"{{customerRef}}\",\n            \"channel\": \"{{channel}}\"\n        }\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"error\": null,\n        \"errors\": null,\n        \"provider\": \"Benefits\",\n        \"provider_response\": {\n            \"meta\": null,\n            \"action\": \"{\\\"recipientId\\\":\\\"grb-api:+2347065514172\\\",\\\"message\\\":{\\\"type\\\":\\\"menu\\\",\\\"text\\\":\\\"You are already enrolled on this platform\\\",\\\"menu\\\":[{\\\"id\\\":\\\"1\\\",\\\"item\\\":\\\"Account Statement\\\"},{\\\"id\\\":\\\"2\\\",\\\"item\\\":\\\"Ask A Question\\\"},{\\\"id\\\":\\\"3\\\",\\\"item\\\":\\\"Balance Enquiry\\\"},{\\\"id\\\":\\\"4\\\",\\\"item\\\":\\\"Bill Payment\\\"}]}}\",\n            \"reference\": \"cdutnUbAYhaMjZT-NYpHLNK23nBoNwx\"\n        },\n        \"provider_response_code\": 0\n    },\n    \"status\": \"Successful\",\n    \"message\": \"You are already enrolled on this platform\",\n,}"}],"_postman_id":"4067fdbd-e54b-4747-aea7-7bb0e1986b59"}],"id":"712faa09-1115-481c-8975-7303b0b502fc","_postman_id":"712faa09-1115-481c-8975-7303b0b502fc","description":""},{"name":"Upgrade Account","item":[{"name":"Upgrade Account","id":"2e41edf5-f544-46ec-b726-a7fb108c2028","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"request_ref\": \"{{requestRef}}\",\n    \"request_type\": \"benefits_intent\",\n    \"auth\": {\n        \"type\": null,\n        \"secure\": null,\n        \"auth_provider\": \"Benefits\",\n        \"route_mode\": null\n    },\n    \"transaction\": {\n        \"mock_mode\": \"live\",\n        \"transaction_ref\": \"GIz82e8ansYgF_d-MzmyBd3s_NiylJ8\",\n        \"transaction_desc\": \"A random transaction\",\n        \"transaction_ref_parent\": null,\n        \"amount\": 0,\n        \"customer\": {\n            \"customer_ref\": \"{{customerRef}}\",\n            \"firstname\": \"Uju\",\n            \"surname\": \"Usmanu\",\n            \"email\": \"ujuusmanu@gmail.com\",\n            \"mobile_no\": \"{{customerRef}}\"\n        },\n        \"details\": {\n            \"message\": \"{{msgUpgradeAccount}}\",\n            \"callback_url\": \"{{callbackUrl}}\",\n            \"subsequent_messages\": [],\n            \"client_id\": \"{{appCode}}\",\n            \"sender_id\": \"{{customerRef}}\",\n            \"channel\": \"{{channel}}\"\n        }\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact","urlObject":{"protocol":"https","path":["v2","transact"],"host":["api","onepipe","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"2e41edf5-f544-46ec-b726-a7fb108c2028"},{"name":"Upgrade Limit","id":"373cd2d4-22ee-45f4-81e6-5a41b5155be5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"request_ref\": \"{{requestRef}}\",\n    \"request_type\": \"benefits_intent\",\n    \"auth\": {\n        \"type\": null,\n        \"secure\": null,\n        \"auth_provider\": \"Benefits\"\n    },\n    \"transaction\": {\n        \"mock_mode\": \"live\",\n        \"transaction_ref\": \"XXSVhfIkLduzXZo-G9nRg99wDoX5kpX\",\n        \"transaction_desc\": \"A random transaction\",\n        \"transaction_ref_parent\": null,\n        \"amount\": 0,\n        \"customer\": {\n            \"customer_ref\": \"{{customerRef}}\",\n            \"firstname\": \"Uju\",\n            \"surname\": \"Usmanu\",\n            \"email\": \"ujuusmanu@gmail.com\",\n            \"mobile_no\": \"{{customerRef}}\"\n        },\n        \"details\": {\n            \"message\": \"{{msgUpgradeLimit}}\",\n            \"callback_url\": \"{{callbackUrl}}\",\n            \"subsequent_messages\": [\n                {\n                    \"question\": \"A valid means of identification is needed i.e\",\n                    \"answer\": \"Continue\"\n                },\n                {\n                    \"question\": \"Please upload a valid ID (Front of ID)\",\n                    \"answer\": \"https://cdn.onepipe.io/assets/images/cashbuddy.jpg\"\n                },\n                {\n                    \"question\": \"Please upload a valid proof of address i.e recent Utility Bill (within last 3 months)\",\n                    \"answer\": \"https://cdn.onepipe.io/assets/images/plum.png\"\n                }\n            ],\n            \"client_id\": \"{{appCode}}\",\n            \"sender_id\": \"{{customerRef}}\",\n            \"channel\": \"{{channel}}\"\n        }\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact","urlObject":{"protocol":"https","path":["v2","transact"],"host":["api","onepipe","io"],"query":[],"variable":[]}},"response":[],"_postman_id":"373cd2d4-22ee-45f4-81e6-5a41b5155be5"}],"id":"26960203-e5a2-409d-92ae-b966ea9235ae","_postman_id":"26960203-e5a2-409d-92ae-b966ea9235ae","description":""},{"name":"Pay4Me","item":[{"name":"Pay4Me on OnePipe","id":"38fb34fd-6e5f-4b4b-a414-7755c73a5214","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"request_ref\": \"{{requestRef}}\",\n    \"request_type\": \"benefits_intent\",\n    \"auth\": {\n        \"type\": null,\n        \"secure\": null,\n        \"auth_provider\": \"Benefits\"\n    },\n    \"transaction\": {\n        \"mock_mode\": \"live\",\n        \"transaction_ref\": \"68lIL8EzMniuq5o-YoIHlUl8PmbjyT9\",\n        \"transaction_desc\": \"Initiate Pay4Me\",\n        \"transaction_ref_parent\": null,\n        \"amount\": 0,\n        \"customer\": {\n            \"customer_ref\": \"{{customerRef}}\",\n            \"firstname\": \"Uju\",\n            \"surname\": \"Usmanu\",\n            \"email\": \"ujuusmanu@gmail.com\",\n            \"mobile_no\": \"{{customerRef}}\"\n        },\n        \"details\": {\n            \"message\": \"{{msgPayToApp}}\",\n            \"callback_url\": \"{{callbackUrl}}\",\n            \"subsequent_messages\": [\n                {\n                    \"question\": \"select option to pay for\",\n                    \"answer\": \"Search\"\n                },\n                {\n                    \"question\": \"please enter name to search\",\n                    \"answer\": \"Victor Distributor\"\n                },\n                {\n                    \"question\": \"Select payment option\",\n                    \"answer\": \"Victor Distributor\"\n                },\n                {\n                    \"question\": \"Select payment item:\",\n                    \"answer\": \"1\"\n                },\n                {\n                    \"question\": \"you have selected to pay\",\n                    \"answer\": \"Pay4Me\"\n                },\n                {\n                    \"question\": \"Please select one of the options\",\n                    \"answer\": \"Pay4Me on OnePipe\"\n                },\n                {\n                    \"question\": \"Accept terms and conditions?\",\n                    \"answer\": \"Yes\"\n                },\n                {\n                    \"question\": \"provide the full name of your distributor sales agent\",\n                    \"answer\": \"Kevwe Onokerhoraye\"\n                }\n            ],\n            \"client_id\": \"{{appCode}}\",\n            \"sender_id\": \"{{customerRef}}\",\n            \"channel\": \"{{channel}}\"\n        }\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact","urlObject":{"protocol":"https","path":["v2","transact"],"host":["api","onepipe","io"],"query":[],"variable":[]}},"response":[{"id":"ff874294-037f-446c-ae2d-92f773a7162b","name":"Pay4Me on OnePipe","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"request_ref\": \"{{requestRef}}\",\n    \"request_type\": \"benefits_intent\",\n    \"auth\": {\n        \"type\": null,\n        \"secure\": null,\n        \"auth_provider\": \"Benefits\"\n    },\n    \"transaction\": {\n        \"mock_mode\": \"live\",\n        \"transaction_ref\": \"6Mgl4n74cDcn3ot-3hCvrXnBbtmLQoG\",\n        \"transaction_desc\": \"Initiate Pay4Me\",\n        \"transaction_ref_parent\": null,\n        \"amount\": 0,\n        \"customer\": {\n            \"customer_ref\": \"{{customerRef}}\",\n            \"firstname\": \"Uju\",\n            \"surname\": \"Usmanu\",\n            \"email\": \"ujuusmanu@gmail.com\",\n            \"mobile_no\": \"{{customerRef}}\"\n        },\n        \"details\": {\n            \"message\": \"{{msgPayToApp}}\",\n            \"callback_url\": \"{{callbackUrl}}\",\n            \"subsequent_messages\": [\n                {\n                    \"question\": \"select option to pay for\",\n                    \"answer\": \"Search\"\n                },\n                {\n                    \"question\": \"please enter name to search\",\n                    \"answer\": \"Victor Distributor\"\n                },\n                {\n                    \"question\": \"Select payment option\",\n                    \"answer\": \"Victor Distributor\"\n                },\n                {\n                    \"question\": \"Select payment item:\",\n                    \"answer\": \"1\"\n                },\n                {\n                    \"question\": \"you have selected to pay\",\n                    \"answer\": \"Pay4Me\"\n                },\n                {\n                    \"question\": \"Please select one of the options\",\n                    \"answer\": \"Pay4Me on OnePipe\"\n                },\n                {\n                    \"question\": \"Accept terms and conditions?\",\n                    \"answer\": \"Yes\"\n                },\n                {\n                    \"question\": \"provide the full name of your distributor sales agent\",\n                    \"answer\": \"Kevwe Onokerhoraye\"\n                }\n            ],\n            \"client_id\": \"{{appCode}}\",\n            \"sender_id\": \"{{customerRef}}\",\n            \"channel\": \"{{channel}}\"\n        }\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"PendingValidation\",\n    \"message\": \"Request is being processed. You would get a nofication on your callback once completed\",\n    \"data\": {\n        \"provider_response_code\": \"900TO\",\n        \"provider\": \"Benefits\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"reference\": \"d_Ynrj00AUmB5K0-RhUHp2tm9HaPdT9\"\n        },\n        \"client_info\": null\n    }\n}"},{"id":"4c85e559-096b-43a4-8e87-6276d47b7082","name":"Successful response to  callback","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"request_ref\": \"{{requestRef}}\",\n    \"request_type\": \"benefits_intent\",\n    \"auth\": {\n        \"type\": null,\n        \"secure\": null,\n        \"auth_provider\": \"Benefits\"\n    },\n    \"transaction\": {\n        \"mock_mode\": \"live\",\n        \"transaction_ref\": \"CT5ufcm00vprt9i-N0NbjSP8mPDuPO2\",\n        \"transaction_desc\": \"Initiate Pay4Me\",\n        \"transaction_ref_parent\": null,\n        \"amount\": 0,\n        \"customer\": {\n            \"customer_ref\": \"{{customerRef}}\",\n            \"firstname\": \"Uju\",\n            \"surname\": \"Usmanu\",\n            \"email\": \"ujuusmanu@gmail.com\",\n            \"mobile_no\": \"{{customerRef}}\"\n        },\n        \"details\": {\n            \"message\": \"{{msgPayToApp}}\",\n            \"callback_url\": \"{{callbackUrl}}\",\n            \"subsequent_messages\": [\n                {\n                    \"question\": \"select option to pay for\",\n                    \"answer\": \"Search\"\n                },\n                {\n                    \"question\": \"please enter name to search\",\n                    \"answer\": \"Victor Distributor\"\n                },\n                {\n                    \"question\": \"Select payment option\",\n                    \"answer\": \"Victor Distributor\"\n                },\n                {\n                    \"question\": \"Select payment item:\",\n                    \"answer\": \"1\"\n                },\n                {\n                    \"question\": \"you have selected to pay\",\n                    \"answer\": \"Pay4Me\"\n                },\n                {\n                    \"question\": \"Please select one of the options\",\n                    \"answer\": \"Pay4Me on OnePipe\"\n                },\n                {\n                    \"question\": \"Accept terms and conditions?\",\n                    \"answer\": \"Yes\"\n                },\n                {\n                    \"question\": \"provide the full name of your distributor sales agent\",\n                    \"answer\": \"Kevwe Onokerhoraye\"\n                }\n            ],\n            \"client_id\": \"{{appCode}}\",\n            \"sender_id\": \"{{customerRef}}\",\n            \"channel\": \"{{channel}}\"\n        }\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"error\": null,\n        \"errors\": null,\n        \"provider\": \"Benefits\",\n        \"provider_response\": {\n            \"meta\": null,\n            \"action\": \"{\\\"recipientId\\\":\\\"grb-api:+2347065514172\\\",\\\"message\\\":{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Payment processing 🕞\\n\\nPayment will be processed now and you will be notified. Your transaction reference is <strong>Awb0ERGs</strong>. Thank you for using your benefits account!\\\"}}\",\n            \"reference\": \"cdutnUbAYhaMjZT-NYpHLNK23nBoNwx\"\n        },\n        \"provider_response_code\": 0\n    },\n    \"status\": \"Successful\",\n    \"message\": \"Payment processing 🕞Payment will be processed now and you will be notified. Your transaction reference is <strong>Awb0ERGs</strong>. Thank you for using your benefits account!\"\n}"},{"id":"2b918e50-d2a0-4634-b1dc-9b87d96e39a6","name":"Failed response to callback","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"request_ref\": \"{{requestRef}}\",\n    \"request_type\": \"benefits_intent\",\n    \"auth\": {\n        \"type\": null,\n        \"secure\": null,\n        \"auth_provider\": \"Benefits\"\n    },\n    \"transaction\": {\n        \"mock_mode\": \"live\",\n        \"transaction_ref\": \"yZ2A03AUfTJVtWO-JhXV7wJUH22lOi9\",\n        \"transaction_desc\": \"Initiate Pay4Me\",\n        \"transaction_ref_parent\": null,\n        \"amount\": 0,\n        \"customer\": {\n            \"customer_ref\": \"{{customerRef}}\",\n            \"firstname\": \"Uju\",\n            \"surname\": \"Usmanu\",\n            \"email\": \"ujuusmanu@gmail.com\",\n            \"mobile_no\": \"{{customerRef}}\"\n        },\n        \"details\": {\n            \"message\": \"{{msgPayToApp}}\",\n            \"callback_url\": \"{{callbackUrl}}\",\n            \"subsequent_messages\": [\n                {\n                    \"question\": \"select option to pay for\",\n                    \"answer\": \"Search\"\n                },\n                {\n                    \"question\": \"please enter name to search\",\n                    \"answer\": \"Victor Distributor\"\n                },\n                {\n                    \"question\": \"Select payment option\",\n                    \"answer\": \"Victor Distributor\"\n                },\n                {\n                    \"question\": \"Select payment item:\",\n                    \"answer\": \"1\"\n                },\n                {\n                    \"question\": \"you have selected to pay\",\n                    \"answer\": \"Pay4Me\"\n                },\n                {\n                    \"question\": \"Please select one of the options\",\n                    \"answer\": \"Pay4Me on OnePipe\"\n                },\n                {\n                    \"question\": \"Accept terms and conditions?\",\n                    \"answer\": \"Yes\"\n                },\n                {\n                    \"question\": \"provide the full name of your distributor sales agent\",\n                    \"answer\": \"Kevwe Onokerhoraye\"\n                }\n            ],\n            \"client_id\": \"{{appCode}}\",\n            \"sender_id\": \"{{customerRef}}\",\n            \"channel\": \"{{channel}}\"\n        }\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"error\": null,\n        \"errors\": null,\n        \"provider\": \"Benefits\",\n        \"provider_response\": {\n            \"meta\": null,\n            \"action\": \"{\\\"recipientId\\\":\\\"grb-api:+2347065514172\\\",\\\"message\\\":{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"You do not have a pending order.\\\"}}\",\n            \"reference\": \"cdutnUbAYhaMjZT-NYpHLNK23nBoNwx\"\n        },\n        \"provider_response_code\": 0\n    },\n    \"status\": \"Failed\",\n    \"message\": \"You do not have a pending order.\"\n}"}],"_postman_id":"38fb34fd-6e5f-4b4b-a414-7755c73a5214"},{"name":"Repay Credit Line","id":"0f8d17a4-04fa-4174-98c4-dca04cdf92a3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"request_ref\": \"{{requestRef}}\",\n    \"request_type\": \"benefits_intent\",\n    \"auth\": {\n        \"type\": null,\n        \"secure\": null,\n        \"auth_provider\": \"Benefits\"\n    },\n    \"transaction\": {\n        \"mock_mode\": \"live\",\n        \"transaction_ref\": \"P0yIah0ncX7uog4-8xCQqchA134xbJz\",\n        \"transaction_desc\": \"Repay Credit Line\",\n        \"transaction_ref_parent\": null,\n        \"amount\": 0,\n        \"customer\": {\n            \"customer_ref\": \"{{customerRef}}\",\n            \"firstname\": \"Uju\",\n            \"surname\": \"Usmanu\",\n            \"email\": \"ujuusmanu@gmail.com\",\n            \"mobile_no\": \"{{customerRef}}\"\n        },\n        \"details\": {\n            \"message\": \"{{msgPayToApp}}\",\n            \"callback_url\": \"{{callbackUrl}}\",\n            \"subsequent_messages\": [\n                {\n                    \"question\": \"select option to pay for\",\n                    \"answer\": \"Repay Credit Line\"\n                },\n                {\n                    \"question\": \"Select payment item:\",\n                    \"answer\": \"1\"\n                },\n                {\n                    \"question\": \"you have selected to pay\",\n                    \"answer\": \"Pay Now\"\n                },\n                {\n                    \"question\": \"enter your transaction pin to confirm and agree\",\n                    \"answer\": \"{{trxPin}}\"\n                }\n            ],\n            \"client_id\": \"{{appCode}}\",\n            \"sender_id\": \"{{customerRef}}\",\n            \"channel\": \"{{channel}}\"\n        }\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact","urlObject":{"protocol":"https","path":["v2","transact"],"host":["api","onepipe","io"],"query":[],"variable":[]}},"response":[{"id":"8f34be06-a26b-4667-b979-f2b621253d20","name":"Repay Credit Line","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"request_ref\": \"{{requestRef}}\",\n    \"request_type\": \"benefits_intent\",\n    \"auth\": {\n        \"type\": null,\n        \"secure\": null,\n        \"auth_provider\": \"Benefits\"\n    },\n    \"transaction\": {\n        \"mock_mode\": \"live\",\n        \"transaction_ref\": \"lNx4zg65_UzGP90-2j7OmxKSi32Bw6u\",\n        \"transaction_desc\": \"Initiate Pay4Me\",\n        \"transaction_ref_parent\": null,\n        \"amount\": 0,\n        \"customer\": {\n            \"customer_ref\": \"{{customerRef}}\",\n            \"firstname\": \"Uju\",\n            \"surname\": \"Usmanu\",\n            \"email\": \"ujuusmanu@gmail.com\",\n            \"mobile_no\": \"{{customerRef}}\"\n        },\n        \"details\": {\n            \"message\": \"{{msgPayToApp}}\",\n            \"callback_url\": \"{{callbackUrl}}\",\n            \"subsequent_messages\": [\n                {\n                    \"question\": \"select option to pay for\",\n                    \"answer\": \"Search\"\n                },\n                {\n                    \"question\": \"please enter name to search\",\n                    \"answer\": \"Victor Distributor\"\n                },\n                {\n                    \"question\": \"Select payment option\",\n                    \"answer\": \"Victor Distributor\"\n                },\n                {\n                    \"question\": \"Select payment item:\",\n                    \"answer\": \"1\"\n                },\n                {\n                    \"question\": \"you have selected to pay\",\n                    \"answer\": \"Pay4Me\"\n                },\n                {\n                    \"question\": \"Please select one of the options\",\n                    \"answer\": \"Pay4Me on OnePipe\"\n                },\n                {\n                    \"question\": \"Accept terms and conditions?\",\n                    \"answer\": \"Yes\"\n                },\n                {\n                    \"question\": \"provide the full name of your distributor sales agent\",\n                    \"answer\": \"Kevwe Onokerhoraye\"\n                }\n            ],\n            \"client_id\": \"{{appCode}}\",\n            \"sender_id\": \"{{customerRef}}\",\n            \"channel\": \"{{channel}}\"\n        }\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"PendingValidation\",\n    \"message\": \"Request is being processed. You would get a nofication on your callback once completed\",\n    \"data\": {\n        \"provider_response_code\": \"900TO\",\n        \"provider\": \"Benefits\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"reference\": \"d_Ynrj00AUmB5K0-RhUHp2tm9HaPdT9\"\n        },\n        \"client_info\": null\n    }\n}"},{"id":"39766668-8da3-4f3f-bec9-87578c7f2396","name":"Failed  response to callback","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"request_ref\": \"{{requestRef}}\",\n    \"request_type\": \"benefits_intent\",\n    \"auth\": {\n        \"type\": null,\n        \"secure\": null,\n        \"auth_provider\": \"Benefits\"\n    },\n    \"transaction\": {\n        \"mock_mode\": \"live\",\n        \"transaction_ref\": \"dYJKNyllG9hpLNn-_b0mb9p2V5PS6FW\",\n        \"transaction_desc\": \"Repay Credit Line\",\n        \"transaction_ref_parent\": null,\n        \"amount\": 0,\n        \"customer\": {\n            \"customer_ref\": \"{{customerRef}}\",\n            \"firstname\": \"Uju\",\n            \"surname\": \"Usmanu\",\n            \"email\": \"ujuusmanu@gmail.com\",\n            \"mobile_no\": \"{{customerRef}}\"\n        },\n        \"details\": {\n            \"message\": \"{{msgPayToApp}}\",\n            \"callback_url\": \"{{callbackUrl}}\",\n            \"subsequent_messages\": [\n                {\n                    \"question\": \"select option to pay for\",\n                    \"answer\": \"Repay Credit Line\"\n                },\n                {\n                    \"question\": \"Select payment item:\",\n                    \"answer\": \"1\"\n                },\n                {\n                    \"question\": \"you have selected to pay\",\n                    \"answer\": \"Pay Now\"\n                },\n                {\n                    \"question\": \"enter your transaction pin to confirm and agree\",\n                    \"answer\": \"{{trxPin}}\"\n                }\n            ],\n            \"client_id\": \"{{appCode}}\",\n            \"sender_id\": \"{{customerRef}}\",\n            \"channel\": \"{{channel}}\"\n        }\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"error\": null,\n        \"errors\": null,\n        \"provider\": \"Benefits\",\n        \"provider_response\": {\n            \"meta\": null,\n            \"action\": \"{\\\"recipientId\\\":\\\"grb-api:+2347065514172\\\",\\\"message\\\":{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"You do not have sufficient balance for this transaction.\\\"}}\",\n            \"reference\": \"cdutnUbAYhaMjZT-NYpHLNK23nBoNwx\"\n        },\n        \"provider_response_code\": 0\n    },\n    \"status\": \"Failed\",\n    \"message\": \"You do not have sufficient balance for this transaction.\"\n}"},{"id":"bf454ada-e9d7-41c5-92ab-be92fb345349","name":"Successful  response to callback","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"request_ref\": \"{{requestRef}}\",\n    \"request_type\": \"benefits_intent\",\n    \"auth\": {\n        \"type\": null,\n        \"secure\": null,\n        \"auth_provider\": \"Benefits\"\n    },\n    \"transaction\": {\n        \"mock_mode\": \"live\",\n        \"transaction_ref\": \"u2RVL9J5UprcubK-ZNIarde_2NohYpK\",\n        \"transaction_desc\": \"Repay Credit Line\",\n        \"transaction_ref_parent\": null,\n        \"amount\": 0,\n        \"customer\": {\n            \"customer_ref\": \"{{customerRef}}\",\n            \"firstname\": \"Uju\",\n            \"surname\": \"Usmanu\",\n            \"email\": \"ujuusmanu@gmail.com\",\n            \"mobile_no\": \"{{customerRef}}\"\n        },\n        \"details\": {\n            \"message\": \"{{msgPayToApp}}\",\n            \"callback_url\": \"{{callbackUrl}}\",\n            \"subsequent_messages\": [\n                {\n                    \"question\": \"select option to pay for\",\n                    \"answer\": \"Repay Credit Line\"\n                },\n                {\n                    \"question\": \"Select payment item:\",\n                    \"answer\": \"1\"\n                },\n                {\n                    \"question\": \"you have selected to pay\",\n                    \"answer\": \"Pay Now\"\n                },\n                {\n                    \"question\": \"enter your transaction pin to confirm and agree\",\n                    \"answer\": \"{{trxPin}}\"\n                }\n            ],\n            \"client_id\": \"{{appCode}}\",\n            \"sender_id\": \"{{customerRef}}\",\n            \"channel\": \"{{channel}}\"\n        }\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"data\": {\n        \"error\": null,\n        \"errors\": null,\n        \"provider\": \"Benefits\",\n        \"provider_response\": {\n            \"meta\": null,\n            \"action\": \"{\\\"recipientId\\\":\\\"grb-api:+2347065514172\\\",\\\"message\\\":{\\\"type\\\":\\\"text\\\",\\\"text\\\":\\\"Your transaction was processed successfully.\\\"}}\",\n            \"reference\": \"cdutnUbAYhaMjZT-NYpHLNK23nBoNwx\"\n        },\n        \"provider_response_code\": 0\n    },\n    \"status\": \"Successful\",\n    \"message\": \"Your transaction was processed successfully\"\n}"}],"_postman_id":"0f8d17a4-04fa-4174-98c4-dca04cdf92a3"}],"id":"e4ac9b5b-1246-472c-a771-489b1f63ae49","_postman_id":"e4ac9b5b-1246-472c-a771-489b1f63ae49","description":""}],"id":"75b61ece-b981-44e2-b48a-735e21688555","description":"<p>This is an arrangement such that if a developer already knows the <strong>exact</strong> set of questions that will follow in order to complete an intent, they can preload it; the provider will hold the array on their behalf and forward to OneChapp as each response is received from OneChapp. See a sample of subsequent messaging feature.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">\"subsequent_messages\": [\n    {\n        \"question\": \"Onepipe Benefits\",\n        \"answer\": \"Opt in\"\n    },\n    {\n        \"question\": \"Please enter your BVN\",\n        \"answer\": \"{{ encrypted BVN }}\"\n    },\n    {\n        \"question\": \"Please enter your date (YYYY-MM-DD) of birth\",\n        \"answer\": \"{{ encrypted DOB }}\"\n    },\n    {\n        \"question\": \"do you want to continue?\",\n        \"answer\": \"yes\"\n    },\n    {\n        \"question\": \"4-digit transaction pin\",\n        \"answer\": \"{{encrypted PIN}}\"\n    }\n]\n\n</code></pre>\n<p>Do note that any sensitive information (such as <strong>BVN, DOB, PIN</strong> etc) that would be provided in the subsequent messages <strong>MUST</strong> be encrypted using the calling app’s secret key.</p>\n<p><strong>Sequence of calls</strong></p>\n<ol>\n<li>App calls <code>/transact</code> with the no auth details</li>\n<li>In the <code>details</code> object, app inserts the user’s message as text , a callback url and the <code>subsequent_messages</code> array have it's content structured as shown above.</li>\n<li>Provider responds with <code>PendingValidation</code> with a message notifying the user that her callback would be notified once transaction is executed either successfully or otherwise.</li>\n<li>Provider responds with any of the completion codes <code>Successful</code> or <code>Failed</code> if it has all it needs to finish off the intent. Otherwise nothing happens especially transaction that need human intervention such as manual verification of documents etc.</li>\n<li>To query the status of a transaction, the app can call <code>/transact/query</code></li>\n</ol>\n","_postman_id":"75b61ece-b981-44e2-b48a-735e21688555"},{"name":"Query Transaction","event":[{"listen":"test","script":{"id":"5c393dbd-5413-4ec7-b1be-61aed0006650","exec":["const res = pm.response.json();","","pm.test(\"Pin was submitted  & processed\", function () {","    pm.expect(res.status).to.eql('PendingValidation');","});","","pm.test(\"Account creation in progress\", function () {","    pm.expect(res.message).to.contains('A moment please... Your account is currently being provisioned.');","});",""],"type":"text/javascript"}}],"id":"761cd9d9-d3c4-44d9-9f4c-67f65d93d4e6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"request_ref\": \"{{requestRef}}\",\n    \"request_type\": \"benefits_intent\",\n    \"transaction\": {\n        \"transaction_ref\": \"Vl7R6jUqxjn222b-x9IFLUsYniSTCxW\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact/query","description":"<p>Find the actual status or the last message for a specific transaction. This request would either return a <code>PendingValidation</code>, <code>Failed</code> or <code>Successful</code> response.</p>\n","urlObject":{"protocol":"https","path":["v2","transact","query"],"host":["api","onepipe","io"],"query":[],"variable":[]}},"response":[{"id":"153cf2b0-1ff4-4416-9e7b-af212cb9d7a8","name":"Query Transaction- PendingValidation","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"request_ref\": \"{{requestRef}}\",\n    \"request_type\": \"benefits_intent\",\n    \"transaction\": {\n        \"transaction_ref\": \"tfeK297JoXsepU9-fT5TPpG9SgpnSsD\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact/query"},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"PendingValidation\",\n    \"message\": \"To upgrade your Benefits account, record a video with the instructions provided on the next screen\",\n    \"data\": {\n        \"auth_token\": null,\n        \"provider_auth_token\": null,\n        \"provider_response_code\": \"91\",\n        \"provider\": \"Benefits\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"reference\": \"tfeK297JoXsepU9-fT5TPpG9SgpnSsD\",\n            \"action\": {\n                \"recipientId\": \"grb-api:+2348140010027\",\n                \"message\": {\n                    \"type\": \"buttons\",\n                    \"text\": \"To upgrade your Benefits account, record a video with the instructions provided on the next screen\",\n                    \"input\": \"text\",\n                    \"buttons\": [\n                        {\n                            \"title\": \"Record Video\",\n                            \"url\": \"URI.CAMERA.VIDEO?sid=a8299cbc18cf7a81b8eb6f85a332eb72fd8c5\"\n                        }\n                    ],\n                    \"meta\": {\n                        \"capture_video\": true\n                    }\n                }\n            },\n            \"meta\": {\n                \"verification_link\": \"https://kyc.benefits.chat/kyc/liveness?ref=2fca736b90ff7bca5a395aa227b\"\n            }\n        },\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"},{"id":"3f8783f6-dfc0-4c0d-810f-7b6f12bb7f31","name":"Query Transaction- Successful","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"request_ref\": \"{{requestRef}}\",\n    \"request_type\": \"benefits_intent\",\n    \"transaction\": {\n        \"transaction_ref\": \"tfeK297JoXsepU9-fT5TPpG9SgpnSsD\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact/query"},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Successful\",\n    \"message\": \"Payment will be processed now and you will be notified\",\n    \"data\": {\n        \"provider_response_code\": \"00\",\n        \"provider\": \"Benefits\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"reference\": \"tfeK297JoXsepU9-fT5TPpG9SgpnSsD\",\n            \"action\": {\n                \"recipientId\": \"grb-api:+2348140010027\",\n                \"message\": {\n                    \"type\": \"text\",\n                    \"text\": \"Payment will be processed now and you will be notified\",\n                    \"meta\": null\n                }\n            },\n            \"meta\": null\n        },\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"},{"id":"6b0b924b-dad5-4646-b4e8-fe29a0996a9d","name":"Query Transaction- Failed","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"request_ref\": \"{{requestRef}}\",\n    \"request_type\": \"benefits_intent\",\n    \"transaction\": {\n        \"transaction_ref\": \"tfeK297JoXsepU9-fT5TPpG9SgpnSsD\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact/query"},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Failed\",\n    \"message\": \"Your kyc verification is unsuccessful\",\n    \"data\": {\n        \"auth_token\": null,\n        \"provider_auth_token\": null,\n        \"provider_response_code\": \"09\",\n        \"provider\": \"Benefits\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"reference\": \"tfeK297JoXsepU9-fT5TPpG9SgpnSsD\",\n            \"action\": {\n                \"recipientId\": \"grb-api:+2348140010027\",\n                \"message\": {\n                    \"type\": \"text\",\n                    \"text\": \"Your kyc verification is unsuccessful\",\n                    \"meta\": null\n                }\n            },\n            \"meta\": null\n        },\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"}],"_postman_id":"761cd9d9-d3c4-44d9-9f4c-67f65d93d4e6"}],"id":"92b81c20-b6bf-491a-99de-1ed49010cd78","description":"<p>For businesses seeking to embed financial services in their present suite of products for their customers as a way to deepen their relationship without dealing with technical heavy lifting and regulatory risks, Benefits Banking provides a flexible integration approach, that speeds up time to market. Partners will be able open fully tiered KYC accounts for their customers with upgrade service, access buy now pay later credit \"Pay4Me\" as well as other banking services like buy airtime, transfer.</p>\n<h4 id=\"services-supported-on-benefits-banking\"><strong>Services supported on Benefits Banking</strong>.</h4>\n<p>This highlights services that partners can take advantage of with Benefits Banking. This provider supports two different forms of messaging:</p>\n<ol>\n<li>Back and Forth Messaging</li>\n<li>Subsequent Messaging</li>\n</ol>\n<p><strong>Enrolment</strong></p>\n<p>Benefits Banking supports an enrolment service for onboarding customers to partners' platforms by collecting details. The details provided by the customer are used to verify their identity by checking and matching with the supplied BVN in compliance with regulatory. Some of the details required from the customer will include Bank Verification Number (BVN), First Name, Last Name, Middle Name, Gender, and Date of Birth.</p>\n<p><strong>Pay4Me</strong></p>\n<p>Pay4Me is OnePipe's Buy Now Pay Later (BNPL) product. It is a credit infrastructure built to fit into the purchase + fulfilment workflow and designed to support multiple credit providers.</p>\n<p><strong>Upgrade Account</strong></p>\n<p>Account upgrades can be completed simply by calling the OnePipe API. This helps to improve KYC, tighten security - mitigate exposure to fraud and identity theft related occurrences.</p>\n<p><strong>Upgrade Limit</strong></p>\n<p>This service upgrades the transaction limit customers can perform on your channel based on the level at which they have verified their KYC.</p>\n<h4 id=\"headers\"><strong>HEADERS</strong></h4>\n<p>Refer to this documentation link to understand <a href=\"https://v2.docs.onepipe.io/#the-headers\">The OnePipe Header</a></p>\n<p><strong>Content-Type</strong></p>\n<p>Application/JSON</p>\n<h2 id=\"pre-configuration\">Pre-Configuration</h2>\n<p>Please contact <a href=\"https://support@onepipe.io\">support@onepipe.io</a> to set up your dedicated OnePipe app on our platform.</p>\n<h2 id=\"request-transact\"><strong>Request (/transact)</strong></h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"request_ref\": \"{{request_ref}}\",\n    \"request_type\": \"benefits_intent\",\n    \"auth\": {\n        \"type\": null,\n        \"secure\": null,\n        \"auth_provider\": \"Benefits\"\n    },\n    \"transaction\": {\n        \"mock_mode\": \"live\",\n        \"transaction_ref\": \"998383938292\",\n        \"transaction_desc\": \"A random transaction\",\n        \"transaction_ref_parent\": null,\n        \"amount\": 0,\n        \"customer\": {\n            \"customer_ref\": \"DemoApp_Customer007\",\n            \"firstname\": \"Uju\",\n            \"surname\": \"Usmanu\",\n            \"email\": \"ujuusmanu@gmail.com\",\n            \"mobile_no\": \"234802343132\"\n        },\n        \"meta\": {\n            \"a_key\": \"a_meta_value_1\",\n            \"another_key\": \"a_meta_value_2\"\n        },\n        \"details\": {\n            \"message\": \"{{some kain text to trigger the intent or respond to a message}}\",\n            \"callback_url\": \"{{a url to post the response to for long running proceses}}\",\n            // An array of {{message}} elements. Such that if a developer already knows the EXACT set of questions that will follow in order to complete an intent, they can preload it, the provider will hold on their behalf and forward to OneChapp as each response is received. USE CASE: Making it possible to have one-shot API calls. e.g. We can then have Appsolute built a single USSD string to trigger pay4me in one shot when its time for retailer self-service\n            \"subsequent_messages\": [\n                {\n                    \"question\": \"Onepipe Benefits\",\n                    \"answer\": \"Opt in\"\n                },\n                {\n                    \"question\": \"Please enter your BVN\",\n                    \"answer\": \"{{ encrypted BVN }}\"\n                },\n                {\n                    \"question\": \"Please enter your date (YYYY-MM-DD) of birth\",\n                    \"answer\": \"{{ encrypted DOB }}\"\n                },\n                {\n                    \"question\": \"do you want to continue?\",\n                    \"answer\": \"yes\"\n                },\n                {\n                    \"question\": \"4-digit transaction pin\",\n                    \"answer\": \"{{encrypted PIN}}\"\n                }\n            ],\n            \"client_id\": \"{{app_code of the app}}\", //optional\n            \"sender_id\": \"{{customer_ref}}\", //optional\n            \"channel\": \"OnePipe\", //optional\n        }\n    }\n}\n\n</code></pre>\n<h2 id=\"request-validate\"><strong>Request (/validate)</strong></h2>\n<p>To push this request successfully, encrypt the user's input using the calling app's secret key and fill in the <code>auth.secure</code> with the encrypted value.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"request_ref\":\"{{request_ref}}\", \n  \"request_type\":\"benefits_intent\",\n    \"auth\": {\n        \"secure\": \"{{the encrypted message or selection from the user}}\",\n        \"auth_provider\": \"Benefits\" \n    },\n    \"transaction\": {\n        \"transaction_ref\": \"70713093460718\"\n    }\n}\n\n</code></pre><div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Field</strong></th>\n<th><strong>Type</strong></th>\n<th><strong>Requirement</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>request_ref</td>\n<td>string</td>\n<td>compulsory</td>\n<td>A unique reference for this API call</td>\n</tr>\n<tr>\n<td>request_type</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Depends on what the provider requires to reverse the request. This has to match the request_type of the original transaction. For instance, if a request was initially sent to schedule buy_airtime service, then the reverse call will also be buy_airtime.</td>\n</tr>\n<tr>\n<td>transaction.transaction_ref</td>\n<td>string</td>\n<td>compulsory</td>\n<td>This is the original transaction_ref for the initial schedule request which is to be terminated</td>\n</tr>\n<tr>\n<td>transaction.transaction_desc</td>\n<td>string</td>\n<td>compulsory</td>\n<td>A short description for narration</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"response\">Response</h3>\n<p>Here are samples of the responses to expect when calling the Benefits Provider.</p>\n<h3 id=\"text\"><strong>Text</strong></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"status\": \"Successful | Failed | PendingValidation\",\n    \"message\": \"{{The same value in provider_response.action.message}}\",\n    \"data\": {\n        \"provider_response_code\": \"00\",\n        \"provider\": \"Benefits\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"reference\":\"263636363633777\",\n            \"action\": {\n                \"recipientId\": \"2347083108908\",\n                \"message\": {\n                    \"type\": \"text\",\n                    \"text\": \"How much do you need?\"                \n                },\n            }\n            \"meta\":{}\n        }\n    }\n}\n\n</code></pre>\n<h3 id=\"menu\"><strong>Menu</strong></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"status\": \"Successful | Failed | PendingValidation\",\n    \"message\": \"{{The same value in provider_response.action.message}}\",\n    \"data\": {\n        \"provider_response_code\": \"00\",\n        \"provider\": \"Benefits\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"reference\":\"263636363633777\",\n            \"action\": {\n                \"recipientId\": \"2347083108908\",\n                \"message\": {\n                    \"type\": \"menu\",\n                    \"text\": \"Welcome, how can I help you today?\",\n                    \"menu\": [\n                        {\n                            \"id\": \"1\",\n                            \"item\": \"Account Statement\"\n                        },\n                        {\n                            \"id\": \"2\",\n                            \"item\": \"Ask A Question\"\n                        },\n                        {\n                            \"id\": \"3\",\n                            \"item\": \"Balance Enquiry\"\n                        },\n                        {\n                            \"id\": \"4\",\n                            \"item\": \"Bill Payment\"\n                        }\n                    ]\n                },\n            }\n            \"meta\":{}\n        }\n    }\n}\n\n</code></pre>\n<h3 id=\"buttons\"><strong>Buttons</strong></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"status\": \"Successful | Failed | PendingValidation\",\n    \"message\": \"{{The same value in provider_response.action.message}}\",\n    \"data\": {\n        \"provider_response_code\": \"00\",\n        \"provider\": \"Benefits\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"reference\":\"263636363633777\",\n            \"action\": {\n                \"recipientId\": \"2347083108908\",\n                \"message\": {\n                    \"type\": \"buttons\",\n                    \"text\": \"Choose a password:\",\n                    \"buttons\": [\n                        {\n                            \"title\": \"Enter password\",\n                            \"url\": \"https://f31ac10a.ngrok.io/u/eb087\"\n                        }\n                    ]\n                },\n            }\n            \"meta\":{}\n        }\n    }\n}\n\n</code></pre>\n<h3 id=\"attachments\"><strong>Attachments</strong></h3>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"status\": \"Successful | Failed | PendingValidation\",\n    \"message\": \"{{The same value in provider_response.action.message}}\",\n    \"data\"jjJSO: {\n        \"provider_response_code\": \"00\",\n        \"provider\": \"Benefits\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"reference\":\"263636363633777\",\n            \"action\": {\n                \"recipientId\": \"2347083108908\",\n                \"message\": {\n                    \"type\": \"attachments\",\n                    \"text\": \"Hi user, here are some sample attachments.\",\n                    \"attachments\": [\n                        {\n                            \"type\": \"pdf\",\n                            \"url\": \"http://164.100.133.129:81/econtent/Uploads/Session3 Classification of Car by Body Style.pdf\"\n                        },\n                        {\n                            \"type\": \"image\",\n                            \"url\": \"https://www.summerhilllandscapes.com/wp-content/uploads/2016/10/SFrances_160726_3934_A.jpg\"\n                        }\n                    ]\n                },\n            }\n            \"meta\":{}\n        }\n    }\n}\n\n</code></pre>\n<h2 id=\"request-validate-1\"><strong>Request (/validate)</strong></h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"request_ref\":\"{{request_ref}}\", \n  \"request_type\":\"benefits_intent\",\n    \"auth\": {\n        \"secure\": \"{{the message or selection from the user}}\",\n        \"auth_provider\": \"Benefits\" \n    },\n    \"transaction\": {\n        \"transaction_ref\": \"70713093460718\"\n    }\n}\n\n</code></pre><h2 id=\"acceptable-values-for-authtype\"><strong>Acceptable values for</strong> auth.type</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Type</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>auth.type</td>\n<td>Auth type always set to null</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"possible-status-response-codes\"><strong>Possible status response codes</strong></h2>\n<p>For this service, these are the possible responses a client can receive</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Status</strong></th>\n<th><strong>Meaning</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Successful</td>\n<td>Standard success code</td>\n</tr>\n<tr>\n<td>Failed</td>\n<td>Standard failure code</td>\n</tr>\n<tr>\n<td>PendingValidation</td>\n<td>To signify that this provider needs some extra information to be provided. The response.message will contain the prompt.</td>\n</tr>\n</tbody>\n</table>\n</div>","_postman_id":"92b81c20-b6bf-491a-99de-1ed49010cd78"}],"id":"1de13cb9-68e0-4e93-ae3c-0136c0ba232b","description":"<h4 id=\"take-a-look-at-this\">Take a look at this</h4>\n<blockquote>\n<p>Want to see an ideal embedded payments integration that combines virtual accounts with 1-click direct-from-account payments? Play with <a href=\"http://demo.paywithaccount.com\">this demo</a> and see what happens after you register. You can embed an experience just like that </p>\n</blockquote>\n<h4 id=\"here-are-other-use-cases\">Here are other use cases</h4>\n<p>In this section, you'd see quick step-by-step integration workflows in rapid fire straight-to-the-point format without any flowery words. Just straight guides on how to mix different APIs to achieve specific objectives.</p>\n<ol>\n<li>\"<a href=\"https://v2.docs.onepipe.io/#bcb0350d-5f58-4c2f-b64b-9444de7d9056\">Pay with Transfer</a>\": Virtual accounts for payments</li>\n<li>\"<a href=\"https://v2.docs.onepipe.io/#685c2eb5-fe52-4d94-99ed-19b5269c156a\">Pay with Account</a>\": a.k.a. Direct Debit</li>\n<li><a href=\"https://v2.docs.onepipe.io/#3b41357d-1c78-49db-8cb7-81bd7222ee22\">Subscription Manager</a>: Sell 3rd party subscriptions in your own app</li>\n<li><a href=\"https://v2.docs.onepipe.io/#a06ddcb9-edd3-452f-9ab2-f37b004aa58c\">Embedded wallets</a>: Enbed full banking services in your app</li>\n<li><a href=\"https://v2.docs.onepipe.io/#a9d368c7-fe4e-4c0f-8710-4aefc655bae1\">Online payments</a>: Standard pop-up widgets for websites</li>\n<li>\"<a href=\"https://v2.docs.onepipe.io/#3a30bb6e-d3b2-40be-a755-ba8835ed0c8d\">Pay with Transfer\" for FMCG</a>: Unique adaptation for FMCG businesses</li>\n<li><a href=\"https://v2.docs.onepipe.io/#92b81c20-b6bf-491a-99de-1ed49010cd78\">Benefits Banking</a>: Simplified version of embedding full blown banking</li>\n</ol>\n<p>More information below...</p>\n","_postman_id":"1de13cb9-68e0-4e93-ae3c-0136c0ba232b"},{"name":"API calatog","item":[{"name":"Account provisioning","item":[{"name":"Open Account","id":"0c2e20f0-e9d8-45e0-b402-d1eb1a9e3e3d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n    \"request_ref\": \"111111111\",\r\n    \"request_type\": \"open_account\",\r\n    \"auth\": {\r\n        \"type\": null,\r\n        \"secure\": null,\r\n        \"auth_provider\": \"DemoProvider\",\r\n        \"route_mode\": null\r\n    },\r\n    \"transaction\": {\r\n        \"mock_mode\": \"inspect\",\r\n        \"transaction_ref\": \"{{transaction-ref}}\",\r\n        \"transaction_desc\": \"A random transaction\",\r\n        \"transaction_ref_parent\": null,\r\n        \"amount\": 0,\r\n        \"customer\": {\r\n            \"customer_ref\": \"DemoApp_Customer007\",\r\n            \"firstname\": \"Uju\",\r\n            \"surname\": \"Usmanu\",\r\n            \"email\": \"ujuusmanu@gmail.com\",\r\n            \"mobile_no\": \"234802343132\"\r\n        },\r\n        \"meta\": {\r\n            \"a_key\": \"a_meta_value_1\",\r\n            \"another_key\": \"a_meta_value_2\"\r\n        },\r\n        \"details\": {\r\n            \"name_on_account\": \"Tobi Olajide\",\r\n            \"middlename\": \"string\",\r\n            \"dob\": \"2020-09-20-11-30-30\",\r\n            \"gender\": \"M\",\r\n            \"title\": \"Mr\",\r\n            \"address_line_1\": \"23, Okon street, Ikeja\",\r\n            \"address_line_2\": \"Ikeja\",\r\n            \"city\": \"lagos\",\r\n            \"state\": \"lagos\",\r\n            \"country\": \"NG\"\r\n        }\r\n    }\r\n}"},"url":"https://api.onepipe.io/v2/transact","description":"<h1 id=\"service-description\">Service description</h1>\n<p>With this service, the calling apps can carry out account opening operations. Apps will forward details to OnePipe. Apps will supply details required to open an account on behalf of a customer. If authorisation details are required by a provider, apps will have to provide this. OnePipe will in turn forward to the provider’s dedicated implementation.</p>\n<h4 id=\"sequence-of-calls\">Sequence of calls</h4>\n<p>First, please be sure to have gone through...</p>\n<ul>\n<li><p><a href=\"#the-headers\">The headers</a></p>\n</li>\n<li><p><a href=\"#the-main-operations-you-can-perform\">Main API operations</a></p>\n</li>\n<li><p><a href=\"#what-requests-would-look-like\">Typical OnePipe requests</a></p>\n</li>\n<li><p><a href=\"#what-responses-would-look-like\">Typical OnePipe responses</a></p>\n</li>\n<li><p><a href=\"#encryption-of-secure-element\">Encryption of the <code>secure</code> element</a></p>\n</li>\n</ul>\n<p>Now, here's the call sequence specific to this service...</p>\n<ol>\n<li><p>Call <code>/transact</code> with the right auth details. Typically, <code>bvn</code>. See <a href=\"#encryption-of-secure-element\">here</a></p>\n</li>\n<li><p>Provider responds with <code>WaitingForOTP</code> or <code>PendingValidation</code> if they require OTP verification</p>\n</li>\n<li><p>Call <code>/transact/validate</code> to supply OTP if needed</p>\n</li>\n<li><p>Provider responds with any of the completion codes <code>Successful</code> or <code>Failed</code>.</p>\n</li>\n<li><p>To query the status of a transaction, call <code>/transact/query</code></p>\n</li>\n</ol>\n<h4 id=\"interpreting-the-response\">Interpreting the response</h4>\n<ul>\n<li><p>Read the reponse</p>\n</li>\n<li><p>Read the <code>provider_response</code> Object</p>\n</li>\n</ul>\n<h4 id=\"possible-status-values\">Possible status values</h4>\n<ul>\n<li><p><strong>Successful</strong>: Success</p>\n</li>\n<li><p><strong>WaitingForOTP</strong>: Display the <code>status.message</code> and collect the input from the user, then follow with a <code>/transact/validate</code></p>\n</li>\n<li><p><strong>PendingValidation</strong>: Display the <code>status.message</code> and collect the input from the user, then follow with a <code>/transact/validate</code></p>\n</li>\n<li><p><strong>Processing</strong>: The account opening wasn't successful but is probably still executing in the background. Typically, this would have escalated to the back office and the provider's (bank) staff would manually execute the account opening process</p>\n</li>\n<li><p><strong>[Anything else]</strong>: Error. Read the errors object(s)</p>\n</li>\n</ul>\n<h4 id=\"request-body-elements\">Request body elements</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Requirement</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>request_ref</td>\n<td>string</td>\n<td>compulsory</td>\n<td>A unique reference for this API call</td>\n</tr>\n<tr>\n<td>request_type</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Set to <code>open_account</code></td>\n</tr>\n<tr>\n<td>auth.type</td>\n<td>string</td>\n<td>optional</td>\n<td>Depends on what the provider requires to open the account. Most times, can be <code>null</code>. At times, could be <code>bvn</code>.</td>\n</tr>\n<tr>\n<td>auth.secure</td>\n<td>string</td>\n<td>optional</td>\n<td>If a type is set, then encrypt the value here.</td>\n</tr>\n<tr>\n<td>auth.auth_provider</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The Provider against which you want to open the account. e.g. <code>GTBank</code></td>\n</tr>\n<tr>\n<td>auth.route_mode</td>\n<td>string</td>\n<td>optional</td>\n<td>Set to <code>null</code></td>\n</tr>\n<tr>\n<td>transaction.mock_mode</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Set to <code>inspect</code> (for test mode) or <code>live</code> (for live mode)</td>\n</tr>\n<tr>\n<td>transaction.transaction_ref</td>\n<td>string</td>\n<td>compulsory</td>\n<td>A unique reference for the transaction</td>\n</tr>\n<tr>\n<td>transaction.transaction.desc</td>\n<td>string</td>\n<td>compulsory</td>\n<td>A short description or narration</td>\n</tr>\n<tr>\n<td>transaction.transaction_ref_parent</td>\n<td>string</td>\n<td>optional</td>\n<td>Can be set to <code>null</code>. But if you are repeating an prior transaction, you can set it to the <code>transaction_ref</code> of the former transaction to create a link for easy tracking.</td>\n</tr>\n<tr>\n<td>amount</td>\n<td>int</td>\n<td>compulsory</td>\n<td>Set to <code>0</code></td>\n</tr>\n<tr>\n<td>transaction.customer.customer_ref</td>\n<td>string</td>\n<td>compulsory</td>\n<td>A unique reference to identify this customer</td>\n</tr>\n<tr>\n<td>transaction.customer.firstname</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The firstname of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.surname</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The surname of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.email</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The email of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.mobile_no</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The mobile number of the customer</td>\n</tr>\n<tr>\n<td>transaction.details.middlename</td>\n<td>string</td>\n<td>optional</td>\n<td>Middle name of the customer.</td>\n</tr>\n<tr>\n<td>transaction.details.name_on_account</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The name that should be on the account.</td>\n</tr>\n<tr>\n<td>transaction.details.dob</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Date string for date of birth</td>\n</tr>\n<tr>\n<td>transaction.details.gender</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Gender of the customer. This can be set to either M or F</td>\n</tr>\n<tr>\n<td>transaction.details.title</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Gender of the customer. This can be set to either Mr, Mrs, Ms</td>\n</tr>\n<tr>\n<td>transaction.details.address_line_1</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Address of customer</td>\n</tr>\n<tr>\n<td>transaction.details.address_line_2</td>\n<td>string</td>\n<td>optional</td>\n<td>Address of customer</td>\n</tr>\n<tr>\n<td>transaction.details.city</td>\n<td>string</td>\n<td>compulsory</td>\n<td>City</td>\n</tr>\n<tr>\n<td>transaction.details.state</td>\n<td>string</td>\n<td>compulsory</td>\n<td>State</td>\n</tr>\n<tr>\n<td>transaction.details.country</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Country</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response-body-elements\">Response body elements</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Element</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>status</td>\n<td>Standard response. <strong>Successful</strong> or anything else. If the response is <code>WaitingForOTP</code> or <code>PendingValidation</code>, then display the <code>response.message</code>, collect the input from the user and follow with a <code>/transact/validate</code> API call. See  <br />  <br />  <br />  <br />  <br />  <br /><a href=\"https://v2.docs.onepipe.io/?version=latest#b294a37e-e131-4fd3-931b-7868bec36e34\">here</a>  <br />  <br />  <br />  <br />  <br />  <br />  <br />  <br />  <br />  <br />.</td>\n</tr>\n<tr>\n<td>message</td>\n<td>A message or description of the response</td>\n</tr>\n<tr>\n<td>data.provider</td>\n<td>The provider that was used to process the request</td>\n</tr>\n<tr>\n<td>data.provider_response_code</td>\n<td>Response code as determined by the underlying provider</td>\n</tr>\n<tr>\n<td>data.provider_response.reference</td>\n<td>A reference from the provider for reconciliation purposes</td>\n</tr>\n<tr>\n<td>data.provider_response.account_number</td>\n<td>The account number of the account that was just generated for the customer</td>\n</tr>\n<tr>\n<td>data.provider_response.contract_code</td>\n<td>The contract code that governs the account from the provider. [optional]</td>\n</tr>\n<tr>\n<td>data.provider_response.account_reference</td>\n<td>A unique reference for the account just opened. If the provider supports this case where account number may be different from the account reference.</td>\n</tr>\n<tr>\n<td>data.provider_response.account_name</td>\n<td>The name on the account just opened. Would very likely be the same name that was passed in <code>name_on_account</code> from the request</td>\n</tr>\n<tr>\n<td>data.provider_response.currency_code</td>\n<td>The currency code of the account</td>\n</tr>\n<tr>\n<td>data.provider_response.customer_email</td>\n<td>Email address on the account just opened</td>\n</tr>\n<tr>\n<td>data.provider_response.bank_name</td>\n<td>Name of the bank where the account was opened</td>\n</tr>\n<tr>\n<td>data.provider_response.bank_code</td>\n<td>CBN code of the bank where the account was opened. See the CBN codes section.</td>\n</tr>\n<tr>\n<td>data.provider_response.account_type</td>\n<td>Some providers will specify a type of the account that was just opened. e.g. <code>CURRENT</code>.</td>\n</tr>\n<tr>\n<td>data.provider_response.status</td>\n<td>States whether the account is active or not. Values will be <code>ACTIVE</code>, <code>INACTIVE</code> or <code>DORMANT</code>.</td>\n</tr>\n<tr>\n<td>data.provider_response.created_on</td>\n<td>Date of creation of the account</td>\n</tr>\n<tr>\n<td>data.provider_response.meta</td>\n<td>A custom object that can hold any extra information the provider deems necessary in key vs value pairs.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"common-questions\">Common questions</h4>\n<p><strong>Question</strong>: Why do I need to specify <code>transaction.amount</code>when it's irrelevant here?</p>\n<p><strong>Answer</strong>: OnePipe APIs all try to follow a common standard such that all services require the same exact payload. It's the values within the payload that will then vary, service by service. In this case, just set it to <code>0</code>.</p>\n<p><strong>Question</strong>: What is the <code>meta</code> object in the request and response?</p>\n<p><strong>Answer</strong>: Some providers at times require or return special fields not covered by the standard. If you know what some of these fields and their values are you can set them in the request <code>meta</code> object and read them from the response <code>meta</code> object. Typically though, <code>null</code> is perfectly fine in most cases.</p>\n<h4 id=\"special-notes-on-pay-with-transfer-and-mandates\">Special notes on \"Pay with transfer\" and \"Mandates\"</h4>\n<p>This approach creates a <code>standing debit instruction</code> (debit mandate) against and account. Awaiting inflow.</p>\n<p><em>NOTE 1: To execute the \"pay with transfer\" workflow, simply</em> <code>_open account_</code> <em>and append mandate details in the</em> <code>_transaction.meta_</code> <em>object. Details and sample payload further below.</em></p>\n<p><em>NOTE 2: If you have already assigned an account to a user and just want to create the mandate every time the user places an order on your platform, simply call Open Account again and include the mandate details. Because the account has already been assigned to the user and this endpoint is called again, a new account will not be opened, rather, a new standing instruction will be created against the account</em></p>\n<p>If you are calling this endpoint for the purposes of <a href=\"#3a30bb6e-d3b2-40be-a755-ba8835ed0c8d\">pay with transfer</a>, there are some values you need to set in the <code>meta</code> object that helps to make this more effective.</p>\n<p>NOTE 3: The <code>standing debit instruction</code> being set against these accounts are of three types</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Instruction Type</strong></th>\n<th><strong>Summary</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Fixed</td>\n<td>Only what is owed you is collected if the customer's balance is adequate. And then the mandate is cleared.</td>\n<td>The mandate will only execute if the exact amount is received as inflow into the account. As a result your webhook will only be notified for the exact amount that was set on the mandate.  <br />  <br /><strong>If less than the mandate amount is transfered into the account AND</strong> <strong>the resultant balance on the account is less than the mandate amount</strong>, the mandate will not execute and your webhook will not receive a notification.  <br />  <br /><strong>If greater than the mandate amount is transfered into the account BUT the balance on the account is greater than the mandate amount</strong>, the mandate will execute. Only your mandate amount will be collected while the balance will remain in the account. Your webhook will receive a notification of the mandate execution.  <br />  <br /><strong>Once the mandate executes, it is lifted off the customer's account.</strong></td>\n</tr>\n<tr>\n<td>Dynamic</td>\n<td>The exact value received into the account is collected and the mandate is cleared.</td>\n<td>When an inflow comes into the account that you have a mandate on, the inflow amount will be deducted from the customer's account and auto-collected into your TRANSIT account. Completely ignoring the amount you set on the mandate. Dynamic debit instructions <strong>sends a notification of the exact amount that the customer transfered</strong>, Ignoring the amount set on the mandate.  <br />  <br /><strong>Once the mandate executes, it is lifted off the customer's account. All future inflows will simply stay in the account till a mandate is created again</strong></td>\n</tr>\n<tr>\n<td>Static</td>\n<td>The value received into the account is collected but, THE MANDATE IS NOT CLEARED.</td>\n<td>This is a \"catch-all\" scenario. If your app has a <code>static</code> mandate configuration applied to it, ALL inflows into any accounts you open will be auto-collected into your TRANSIT account. Your webhook will receive tnotifications for all such events.  <br />  <br /><strong>This type of mandate will never be cleared except you explictly clear it with a</strong> <strong><code>pwt_mandate_action</code></strong> <strong>= \"delete\".</strong></td>\n</tr>\n<tr>\n<td>Forced</td>\n<td>Used to support partial payments. The value received into the account is collected and you are notified. If collected amount(s) is not up to amount owed, mandate will NOT the cleared but the mandate amount is reduced by amount paid. Cycle continues to repeat until the full amount owed has been collected, then the behaviour becomes just like Fixed mandate.</td>\n<td>The mandate executes for every inflow received. As a result your webhook will always be notified for the amount that was received as well as a log of collection history.  <br />  <br /><strong>If less than the mandate amount is transfered into the account</strong> (even if <strong>the resultant balance on the account is less than the mandate amount)</strong>, the mandate will STILL execute and your webhook will not receive a notification. Then the balance on the mandate will be tracked awaiting next inflow.  <br />  <br /><strong>If greater than the mandate amount is transfered into the account OR the balance on the account is greater than the mandate amount</strong>, the mandate will execute but only your remaining payment will be collected while the balance will remain in the account. Your webhook will receive a notification of the mandate execution.  <br />  <br /><strong>Once the mandate execution completes the full amount, it is lifted off the customer's account.</strong></td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Clearing (Deleting) a mandate:</strong></p>\n<p>To clear or delete a standing debit instruction on an account, call open account and set <code>pwt_mandate_action</code> as <code>delete</code>, the <code>pwt_item_code</code> should be the id of the mandate to be deleted. See below for an example:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">\"meta\": {\n            \"grb_status\": \"pwt-active\",\n            \"pwt_item_amount\": \"80000\",\n            \"pwt_item_code\": \"4546633\",\n            \"pwt_item_description\": \"sample\",\n            \"pwt_mandate_action\": \"delete\"\n        }\n\n</code></pre>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Element</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>grb_status</td>\n<td>This is used to set what you expect the account to be used for. Has implications for KYC requirements. Supported values are:</td>\n</tr>\n<tr>\n<td></td>\n<td><code>pwt-active</code>: The account will only be used for receiving inflows (for payment) that will be instantly swept into your business account as the inflow comes in. For this, <code>auth.type</code> can be null.</td>\n</tr>\n<tr>\n<td></td>\n<td><code>grb-active</code>: This account will be used for normal transactional services by the account holder. In this case, <code>auth.type</code> needs to be set to <code>bvn</code> and the BVN needs to be provided.</td>\n</tr>\n<tr>\n<td></td>\n<td><code>grb-inactive</code>: The platform defaults to this value if KYC details are not set and the value is not set to <code>pwt-active</code> explicitly.</td>\n</tr>\n<tr>\n<td></td>\n<td><code>basic</code>: You can set it to this value if the account will be used for neither Grassroots Banking nor Pay with Transfer. This is effectively just a wallet you can control directly. Not recommended.</td>\n</tr>\n<tr>\n<td>pwt_item_description</td>\n<td>A description of what the person is paying for</td>\n</tr>\n<tr>\n<td>pwt_item_code</td>\n<td>A unique code for this order. This has to be unique all the time. Across all future API calls.</td>\n</tr>\n<tr>\n<td>pwt_item_amount</td>\n<td>The amount expected in lower denomination</td>\n</tr>\n</tbody>\n</table>\n</div><pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">\"meta\": {\n    \"grb_status\": \"pwt-active\",\n    \"pwt_item_description\": \"Order fee\",\n    \"pwt_item_code\": \"{{payment-item-code}}\", \n    \"pwt_item_amount\": \"5000\" \n}\n\n</code></pre>\n<h4 id=\"special-notes-on-multi-account-implementation\">Special notes on \"Multi-account\" implementation</h4>\n<p>Some providers on the OnePipe platform (e.g. CheddaAccount - a product of SupportMFB), can yield multiple virtual accounts from various commercial banks, but mapped to the same store of value (a SupportMFB Chedda account). The deposits into any of the virtual accounts will be credited to the individual SupportMFB account, but you can present any of the commercial bank virtual account numbers to the user.</p>\n<p>The major advantages of this:</p>\n<ol>\n<li><p>Some customers will like a recognizable brand to build trust. You can then display the virtual account of a commercial bank to them.</p>\n</li>\n<li><p>At times, some banks' virtual accounts platform may experience a downtime, this guarantees that you will always have redundancy in place</p>\n</li>\n<li><p>You can choose to display multiple account numbers to a user who can then decide which they prefer to identify with</p>\n</li>\n</ol>\n<p>In this scenario the response of your API calls will contain a <code>data.provider_response.meta.alt_accounts</code> array that contains the details of these extra account numbers. You can then decide how best you want to present it.</p>\n<p>Each object in the array has exactly the same construct as the standard <code>provider_response</code> for the <strong>Open Account</strong> call.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>  \"meta\": {\n    \"alt_accounts\": [\n      {\n        \"reference\": \"MVgGByKV-js-oa\",\n        \"account_number\": \"9996879001\",\n        \"contract_code\": null,\n        \"account_reference\": \"MVgGByKV-js-oa\",\n        \"account_name\": \"Raheem Roqeeb\",\n        \"currency_code\": \"NGN\",\n        \"customer_email\": \"rqbraheem@gmail.com\",\n        \"bank_name\": \"Fidelity\",\n        \"bank_code\": \"070\",\n        \"account_type\": null,\n        \"status\": \"ACTIVE\",\n        \"created_on\": \"2021-11-01-19-11-55\"\n      },\n      {\n        \"reference\": \"MVgGByKV-js-oa\",\n        \"account_number\": \"7656879001\",\n        \"contract_code\": null,\n        \"account_reference\": \"MVgGByKV-js-oa\",\n        \"account_name\": \"Raheem Roqeeb\",\n        \"currency_code\": \"NGN\",\n        \"customer_email\": \"rqbraheem@gmail.com\",\n        \"bank_name\": \"Polaris Bank Limited\",\n        \"bank_code\": \"076\",\n        \"account_type\": null,\n        \"status\": \"ACTIVE\",\n        \"created_on\": \"2021-11-01-19-11-55\"\n      },      \n      {\n        \"reference\": \"MVgGByKV-js-oa\",\n        \"account_number\": \"8886879001\",\n        \"contract_code\": null,\n        \"account_reference\": \"MVgGByKV-js-oa\",\n        \"account_name\": \"Raheem Roqeeb\",\n        \"currency_code\": \"NGN\",\n        \"customer_email\": \"rqbraheem@gmail.com\",\n        \"bank_name\": \"SunTrust\",\n        \"bank_code\": \"100\",\n        \"account_type\": null,\n        \"status\": \"ACTIVE\",\n        \"created_on\": \"2021-11-01-19-11-55\"\n      },\n      {\n        \"reference\": \"MVgGByKV-js-oa\",\n        \"account_number\": \"0986879001\",\n        \"contract_code\": null,\n        \"account_reference\": \"MVgGByKV-js-oa\",\n        \"account_name\": \"Raheem Roqeeb\",\n        \"currency_code\": \"NGN\",\n        \"customer_email\": \"rqbraheem@gmail.com\",\n        \"bank_name\": \"VBank\",\n        \"bank_code\": \"566\",\n        \"account_type\": null,\n        \"status\": \"ACTIVE\",\n        \"created_on\": \"2021-11-01-19-11-55\"\n      },\n      {\n        \"reference\": \"MVgGByKV-js-oa\",\n        \"account_number\": \"5500000123\",\n        \"contract_code\": null,\n        \"account_reference\": \"MVgGByKV-js-oa\",\n        \"account_name\": \"Raheem Roqeeb\",\n        \"currency_code\": \"NGN\",\n        \"customer_email\": \"rqbraheem@gmail.com\",\n        \"bank_name\": \"SUPPORT MFB\",\n        \"bank_code\": \"295\",\n        \"account_type\": null,\n        \"status\": \"ACTIVE\",\n        \"created_on\": \"2021-11-01-19-11-55\"\n      }\n    ]\n  }\n\n</code></pre><p>You will also be able to determine which bank you prefer to be set as the default. The default will be the one that appears in <code>data.provider_response</code></p>\n","urlObject":{"path":["v2","transact"],"host":["https://api.onepipe.io"],"query":[],"variable":[]}},"response":[{"id":"5647ecb4-92a7-4cac-b446-c1986ab5060e","name":"Open Account - WaitingForOTP","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n    \"request_ref\": \"111111111\",\r\n    \"request_type\": \"open_account\",\r\n    \"auth\": {\r\n        \"type\": null,\r\n        \"secure\": null,\r\n        \"auth_provider\": \"DemoProvider\",\r\n        \"route_mode\": null\r\n    },\r\n    \"transaction\": {\r\n        \"mock_mode\": \"inspect\",\r\n        \"transaction_ref\": \"{{transaction-ref}}\",\r\n        \"transaction_desc\": \"A random transaction\",\r\n        \"transaction_ref_parent\": null,\r\n        \"amount\": 0,\r\n        \"customer\": {\r\n            \"customer_ref\": \"DemoApp_Customer007\",\r\n            \"firstname\": \"Uju\",\r\n            \"surname\": \"Usmanu\",\r\n            \"email\": \"ujuusmanu@gmail.com\",\r\n            \"mobile_no\": \"234802343132\"\r\n        },\r\n        \"meta\": {\r\n            \"a_key\": \"a_meta_value_1\",\r\n            \"another_key\": \"a_meta_value_2\"\r\n        },\r\n        \"details\": {\r\n            \"name_on_account\": \"Tobi Olajide\",\r\n            \"middlename\": \"string\",\r\n            \"dob\": \"2020-09-20-11-30-30\",\r\n            \"gender\": \"M\",\r\n            \"title\": \"Mr\",\r\n            \"address_line_1\": \"23, Okon street, Ikeja\",\r\n            \"address_line_2\": \"Ikeja\",\r\n            \"city\": \"lagos\",\r\n            \"state\": \"lagos\",\r\n            \"country\": \"NG\"\r\n        }\r\n    }\r\n}"},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 01 Jul 2020 22:40:16 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"518"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"WaitingForOTP\",\n    \"message\": \"Please enter the OTP sent to 2348022****08, use 12345678 as your OTP\",\n    \"data\": {\n        \"provider_response_code\": \"900T0\",\n        \"provider\": \"DemoProvider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": null,\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"},{"id":"a3aae5fc-c1ea-496b-98b2-0bf40dfbb50b","name":"Open Account -Successful","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n    \"request_ref\": \"111111111\",\r\n    \"request_type\": \"open_account\",\r\n    \"auth\": {\r\n        \"type\": null,\r\n        \"secure\": null,\r\n        \"auth_provider\": \"DemoProvider\",\r\n        \"route_mode\": null\r\n    },\r\n    \"transaction\": {\r\n        \"mock_mode\": \"inspect\",\r\n        \"transaction_ref\": \"{{transaction-ref}}\",\r\n        \"transaction_desc\": \"A random transaction\",\r\n        \"transaction_ref_parent\": null,\r\n        \"amount\": 0,\r\n        \"customer\": {\r\n            \"customer_ref\": \"DemoApp_Customer007\",\r\n            \"firstname\": \"Uju\",\r\n            \"surname\": \"Usmanu\",\r\n            \"email\": \"ujuusmanu@gmail.com\",\r\n            \"mobile_no\": \"234802343132\"\r\n        },\r\n        \"meta\": {\r\n            \"a_key\": \"a_meta_value_1\",\r\n            \"another_key\": \"a_meta_value_2\"\r\n        },\r\n        \"details\": {\r\n            \"name_on_account\": \"Tobi Olajide\",\r\n            \"middlename\": \"string\",\r\n            \"dob\": \"2020-09-20-11-30-30\",\r\n            \"gender\": \"M\",\r\n            \"title\": \"Mr\",\r\n            \"address_line_1\": \"23, Okon street, Ikeja\",\r\n            \"address_line_2\": \"Ikeja\",\r\n            \"city\": \"lagos\",\r\n            \"state\": \"lagos\",\r\n            \"country\": \"NG\"\r\n        }\r\n    }\r\n}"},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 01 Jul 2020 22:40:16 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"518"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n  \"status\": \"Successful\",\n  \"message\": \"Request processed successfully\",\n  \"data\": {\n    \"provider_response_code\": \"00\",\n    \"provider\": \"CheddaAccount\",\n    \"errors\": null,\n    \"error\": null,\n    \"provider_response\": {\n      \"reference\": \"MVgGByKV-js-oa\",\n      \"account_number\": \"9012807653\",\n      \"contract_code\": null,\n      \"account_reference\": \"MVgGByKV-js-oa\",\n      \"account_name\": \"Uju Usman\",\n      \"currency_code\": \"NGN\",\n      \"customer_email\": \"uju@gmail.com\",\n      \"bank_name\": \"Polaris Bank Limited\",\n      \"bank_code\": \"076\",\n      \"account_type\": null,\n      \"status\": \"ACTIVE\",\n      \"created_on\": \"2021-11-01-19-11-55\",\n      \"meta\": {\n        \"alt_accounts\": [\n          {\n            \"reference\": \"MVgGByKV-js-oa\",\n            \"account_number\": \"8886879001\",\n            \"contract_code\": null,\n            \"account_reference\": \"MVgGByKV-js-oa\",\n            \"account_name\": \"Uju Usman\",\n            \"currency_code\": \"NGN\",\n            \"customer_email\": \"uju@gmail.com\",\n            \"bank_name\": \"SunTrust\",\n            \"bank_code\": \"100\",\n            \"account_type\": null,\n            \"status\": \"ACTIVE\",\n            \"created_on\": \"2021-11-01-19-11-55\"\n          },\n          {\n            \"reference\": \"MVgGByKV-js-oa\",\n            \"account_number\": \"5500000123\",\n            \"contract_code\": null,\n            \"account_reference\": \"MVgGByKV-js-oa\",\n            \"account_name\": \"Uju Usman\",\n            \"currency_code\": \"NGN\",\n            \"customer_email\": \"uju@gmail.com\",\n            \"bank_name\": \"SUPPORT MFB\",\n            \"bank_code\": \"295\",\n            \"account_type\": null,\n            \"status\": \"ACTIVE\",\n            \"created_on\": \"2021-11-01-19-11-55\"\n          }\n        ]\n      }\n    },\n    \"client_info\": null"},{"id":"b44ca005-d4eb-4cfa-ad5a-6a2ec7034f22","name":"Open Account - Failed","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n    \"request_ref\": \"111111111\",\r\n    \"request_type\": \"open_account\",\r\n    \"auth\": {\r\n        \"type\": null,\r\n        \"secure\": null,\r\n        \"auth_provider\": \"DemoProvider\",\r\n        \"route_mode\": null\r\n    },\r\n    \"transaction\": {\r\n        \"mock_mode\": \"live\",\r\n        \"transaction_ref\": \"{{transaction-ref}}\",\r\n        \"transaction_desc\": \"A random transaction\",\r\n        \"transaction_ref_parent\": null,\r\n        \"amount\": 0,\r\n        \"customer\": {\r\n            \"customer_ref\": \"DemoApp_Customer007\",\r\n            \"firstname\": \"Uju\",\r\n            \"surname\": \"Usmanu\",\r\n            \"email\": \"ujuusmanu@gmail.com\",\r\n            \"mobile_no\": \"234802343132\"\r\n        },\r\n        \"meta\": {\r\n            \"a_key\": \"a_meta_value_1\",\r\n            \"another_key\": \"a_meta_value_2\"\r\n        },\r\n        \"details\": {\r\n            \"name_on_account\": \"Tobi Olajide\",\r\n            \"middlename\": \"string\",\r\n            \"dob\": \"2020-09-20-11-30-30\",\r\n            \"gender\": \"M\",\r\n            \"title\": \"Mr\",\r\n            \"address_line_1\": \"23, Okon street, Ikeja\",\r\n            \"address_line_2\": \"Ikeja\",\r\n            \"city\": \"lagos\",\r\n            \"state\": \"lagos\",\r\n            \"country\": \"NG\"\r\n        }\r\n    }\r\n}"},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 01 Jul 2020 22:45:47 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"581"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Failed\",\n    \"message\": \"Invalid request mode\",\n    \"data\": {\n        \"options\": null,\n        \"provider_response_code\": null,\n        \"provider\": null,\n        \"errors\": [\n            {\n                \"code\": \"01\",\n                \"message\": \"You are not yet enabled for go-live\"\n            }\n        ],\n        \"error\": {\n            \"code\": \"01\",\n            \"message\": \"You are not yet enabled for go-live\"\n        },\n        \"provider_response\": null,\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"}],"_postman_id":"0c2e20f0-e9d8-45e0-b402-d1eb1a9e3e3d"},{"name":"Get Balance","id":"09750e30-a6ae-41df-bb78-8fc0fad9b0a3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"get_balance\",\r\n  \"auth\": {\r\n    \"type\": \"bank.account\", \r\n    \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n    \"auth_provider\": \"Fidelity\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"inspect\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n        \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n    \t\r\n    }\r\n  }\r\n}"},"url":"https://api.onepipe.io/v2/transact","description":"<h1 id=\"service-description\">Service description</h1>\n<p>With this service, the calling apps can get available balance for a given source. If authorisation details are required by a provider, apps will have to provide this. OnePipe will in turn forward to the provider’s dedicated implementation. It’s also possible that some providers will require extended authorization information (like an OTP), if needed, please prompt for this. Upon the correct details being provided, the provider will respond with account/wallet balance information.</p>\n<h4 id=\"sequence-of-calls\">Sequence of calls</h4>\n<p>Please be sure to have gone through...</p>\n<ul>\n<li><a href=\"#the-headers\">The headers</a>  </li>\n<li><a href=\"#the-main-operations-you-can-perform\">Main API operations</a></li>\n<li><a href=\"#what-requests-would-look-like\">Typical OnePipe requests</a>  </li>\n<li><a href=\"#what-responses-would-look-like\">Typical OnePipe responses</a></li>\n<li><a href=\"#encryption-of-secure-element\">Encryption of the <code>secure</code> element</a></li>\n</ul>\n<p>Here's the call sequence specific to this service...</p>\n<ol>\n<li>Call <code>/transact</code> with the right auth details if required. See <a href=\"#encryption-of-secure-element\">here</a></li>\n<li>Provider responds with <code>WaitingForOTP</code> or <code>PendingValidation</code> if they require OTP verification</li>\n<li>Call <code>/transact/validate</code> to supply OTP if needed</li>\n<li>Provider responds with any of the completion codes <code>Successful</code> or <code>Failed</code>. </li>\n<li>To query the status of a transaction, call <code>/transact/query</code></li>\n</ol>\n<h4 id=\"interpreting-the-response\">Interpreting the response</h4>\n<ul>\n<li>Read the response</li>\n<li>Read the <code>provider_response</code> Object</li>\n</ul>\n<h4 id=\"possible-status-values\">Possible status values</h4>\n<ul>\n<li><strong>Successful</strong>: Success</li>\n<li><strong>WaitingForOTP</strong>: Display the <code>status.message</code> and collect the input from the user, then follow with a <code>/transact/validate</code></li>\n<li><strong>PendingValidation</strong>: Display the <code>status.message</code> and collect the input from the user, then follow with a <code>/transact/validate</code></li>\n<li><strong>Processing</strong>: Pulling the statement is taking a little longer than expected but is probably still executing in the background. Typically, the provider will send the final result via your webhook [see here (#60695d18-6d30-468f-ae5f-edee46d8c017)]</li>\n<li><strong>[Anything else]</strong>: Error. Read the errors object(s)</li>\n</ul>\n<h4 id=\"request-body-elements\">Request body elements</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Requirement</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>request_ref</td>\n<td>string</td>\n<td>compulsory</td>\n<td>A unique reference for this API call</td>\n</tr>\n<tr>\n<td>request_type</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Set to <code>get_balance</code></td>\n</tr>\n<tr>\n<td>auth.type</td>\n<td>string</td>\n<td>optional</td>\n<td>Depends on what the provider requires to get the balance. [See supported types (#encryption-of-secure-element)]</td>\n</tr>\n<tr>\n<td>auth.secure</td>\n<td>string</td>\n<td>optional</td>\n<td>If a type is set, then encrypt the value here.</td>\n</tr>\n<tr>\n<td>auth.auth_provider</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The Provider against which you want to open the account. e.g. <code>GTBank</code></td>\n</tr>\n<tr>\n<td>auth.route_mode</td>\n<td>string</td>\n<td>optional</td>\n<td>Set to <code>null</code></td>\n</tr>\n<tr>\n<td>transaction.mock_mode</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Set to <code>inspect</code> (for test mode) or <code>live</code> (for live mode)</td>\n</tr>\n<tr>\n<td>transaction.transaction_ref</td>\n<td>string</td>\n<td>compulsory</td>\n<td>A unique reference for the transaction</td>\n</tr>\n<tr>\n<td>transaction.transaction.desc</td>\n<td>string</td>\n<td>compulsory</td>\n<td>A short description or narration</td>\n</tr>\n<tr>\n<td>transaction.transaction_ref_parent</td>\n<td>string</td>\n<td>optional</td>\n<td>Can be set to <code>null</code>. But if you are repeating an prior transaction, you can set it to the <code>transaction_ref</code> of the former transaction to create a link for easy tracking.</td>\n</tr>\n<tr>\n<td>amount</td>\n<td>int</td>\n<td>compulsory</td>\n<td>Set to <code>0</code></td>\n</tr>\n<tr>\n<td>transaction.customer.customer_ref</td>\n<td>string</td>\n<td>compulsory</td>\n<td>A unique reference to identify this customer</td>\n</tr>\n<tr>\n<td>transaction.customer.firstname</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The firstname of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.surname</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The surname of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.email</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The email of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.mobile_no</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The mobile number of the customer</td>\n</tr>\n<tr>\n<td>transaction.details</td>\n<td>object</td>\n<td>compulsory</td>\n<td>Set to <code>null</code></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response-body-elements\">Response body elements</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Element</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>status</td>\n<td>Standard response. <strong>Successful</strong> or anything else. If the response is <code>WaitingForOTP</code> or <code>PendingValidation</code>, then display the <code>response.message</code>, collect the input from the user and follow with a <code>/transact/validate</code> API call. See here.</td>\n</tr>\n<tr>\n<td>message</td>\n<td>A message or description of the response</td>\n</tr>\n<tr>\n<td>data.provider</td>\n<td>The provider that was used to process the request</td>\n</tr>\n<tr>\n<td>data.provider_response_code</td>\n<td>Response code as determined by the underlying provider</td>\n</tr>\n<tr>\n<td>data.provider_response.reference</td>\n<td>A reference from the provider for reconciliation purposes</td>\n</tr>\n<tr>\n<td>data.provider_response.account_id</td>\n<td>A unique reference for the account in case the provider has something other than the passed in <code>customer_ref</code></td>\n</tr>\n<tr>\n<td>data.provider_response.account_type</td>\n<td><code>Current</code>, <code>Savings</code>, <code>Credit</code>, <code>Loan</code>, <code>Wallet</code> or any other supported type.</td>\n</tr>\n<tr>\n<td>data.provider_response.account_number</td>\n<td>May be the same as <code>account_id</code> or not. But this is the public number representing the account.</td>\n</tr>\n<tr>\n<td>data.provider_response.available_balance</td>\n<td>Available balance on the account</td>\n</tr>\n<tr>\n<td>data.provider_response.ledger_balance</td>\n<td>Ledger balance (uncleared) on the account.</td>\n</tr>\n<tr>\n<td>data.provider_response.minimum_balance</td>\n<td>The minimum balance that must be retained on this account</td>\n</tr>\n<tr>\n<td>data.provider_response.account_class</td>\n<td>A string representing the classification or product group that this account belongs to with the provider.</td>\n</tr>\n<tr>\n<td>data.provider_response.account_status</td>\n<td>A string representing the status of the account within the bank. Typical are <code>active</code> and <code>inactive</code>.</td>\n</tr>\n<tr>\n<td>data.provider_response.currency</td>\n<td>The currency of the account</td>\n</tr>\n<tr>\n<td>data.provider_response.meta</td>\n<td>A custom object that can hold any extra information the provider deems necessary in key vs value pairs.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"list-of-providers\">List of providers</h4>\n<p>For a list of providers that have published and implemented this service, please see <a href=\"https://onepipe.io/explore/v2?service=open_account\">here</a></p>\n<h4 id=\"common-questions\">Common questions</h4>\n<p><strong>Question</strong>: Why do I need to specify <code>transaction.amount</code>when it's irrelevant here?</p>\n<p><strong>Answer</strong>: OnePipe APIs all try to follow a common standard such that all services require the same exact payload. It's the values within the payload that will then vary, service by service. In this case, just set it to <code>0</code>.</p>\n<p><strong>Question</strong>: What is the <code>meta</code> object in the request and response?</p>\n<p><strong>Answer</strong>: Some providers at times require or return special fields not covered by the standard. If you know what some of these fields and their values are you can set them in the request <code>meta</code> object and read them from the response <code>meta</code> object. Typically though, <code>null</code> is perfectly fine in most cases.</p>\n","urlObject":{"path":["v2","transact"],"host":["https://api.onepipe.io"],"query":[],"variable":[]}},"response":[{"id":"4b078bc7-8a66-4c7f-9537-e9a1e0ad9f3e","name":"Get Balance - Successful","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"get_balance\",\r\n  \"auth\": {\r\n    \"type\": \"bank.account\", \r\n    \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n        \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n    \t\"otp_override\": true\r\n    }\r\n  }\r\n}"},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 15 May 2020 15:43:30 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"nginx/1.17.8"},{"key":"Vary","value":"Accept-Encoding"},{"key":"Content-Encoding","value":"gzip"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Successful\",\n    \"message\": \"Transaction processed successfully\",\n    \"data\": {\n        \"provider_response_code\": \"00\",\n        \"provider\": \"DemoProvider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"account_id\": \"50617644717007\",\n            \"account_type\": \"CURRENT\",\n            \"account_number\": \"6200000766\",\n            \"available_balance\": 2077099,\n            \"ledger_balance\": 2077099,\n            \"minimum_balance\": 0,\n            \"account_class\": \"STFCUR\",\n            \"account_status\": \"ACCOUNT OPEN\",\n            \"currency\": \"NGN\",\n            \"reference\": \"9310153185607\",\n            \"meta\": {\n                \"field_key\": \"field_value\"\n            }\n        },\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"},{"id":"082c6c90-4210-42c7-b306-3d420192ddd5","name":"Get Balance - Failed","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"get_balance\",\r\n  \"auth\": {\r\n    \"type\": \"bank.account\", \r\n    \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n        \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n    \t\r\n    }\r\n  }\r\n}"},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 01 Jul 2020 23:08:06 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"581"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Failed\",\n    \"message\": \"Invalid request mode\",\n    \"data\": {\n        \"options\": null,\n        \"provider_response_code\": null,\n        \"provider\": null,\n        \"errors\": [\n            {\n                \"code\": \"01\",\n                \"message\": \"You are not yet enabled for go-live\"\n            }\n        ],\n        \"error\": {\n            \"code\": \"01\",\n            \"message\": \"You are not yet enabled for go-live\"\n        },\n        \"provider_response\": null,\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"},{"id":"1006fe82-ba8c-4030-8f4c-cf2c75f06958","name":"Get Balance - WaitingForOTP","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"get_balance\",\r\n  \"auth\": {\r\n    \"type\": \"bank.account\", \r\n    \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n        \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": null\r\n  }\r\n}"},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 15 May 2020 15:42:24 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"nginx/1.17.8"},{"key":"Vary","value":"Accept-Encoding"},{"key":"Content-Encoding","value":"gzip"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"WaitingForOTP\",\n    \"message\": \"Please enter the OTP sent to 2348022****08\",\n    \"data\": {\n        \"provider_response_code\": \"900T0\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": null,\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"}],"_postman_id":"09750e30-a6ae-41df-bb78-8fc0fad9b0a3"},{"name":"Open USD Wallet","event":[{"listen":"test","script":{"id":"814897c5-f416-46d4-879e-c59005ce63b8","exec":[""],"type":"text/javascript"}},{"listen":"prerequest","script":{"id":"289d44ab-6cf3-4ddf-9016-203049550ba4","exec":[""],"type":"text/javascript"}}],"id":"0b0ae74b-8133-4c75-94f4-206cd038440f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","type":"text","value":"application/json"},{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"}],"body":{"mode":"raw","raw":"{\n    \"request_ref\": \"111111111\",\n    \"request_type\": \"open_wallet\",\n    \"auth\": {\n        \"type\": \"bvn\",\n        \"secure\": \"R83dCymHAdz6WcD2dUPnAdZ6Vpp6Qyxv\",\n        \"auth_provider\": \"Polaris\",\n        \"route_mode\": null\n    },\n    \"transaction\": {\n        \"mock_mode\": \"Live\",\n        \"transaction_ref\": \"{{transaction-ref}}\",\n        \"transaction_desc\": \"A random transaction\",\n        \"transaction_ref_parent\": null,\n        \"amount\": 0,\n        \"customer\": {\n            \"customer_ref\": \"2348033000989\",\n            \"firstname\": \"John\",\n            \"surname\": \"Doe\",\n            \"email\": \"john@doe.com\",\n            \"mobile_no\": \"2348033000989\"\n        },\n        \"meta\": {\n            \"account_currency\": \"USD\" // USD/NGN\n        },\n        \"details\": {\n            \"name_on_account\": \"John J. Doe\",\n            \"middlename\": \"Jane\",\n            \"dob\": \"2005-05-13\",\n            \"gender\": \"M\",\n            \"title\": \"Mr\",\n            \"address_line_1\": \"23, Okon street, Ikeja\",\n            \"address_line_2\": \"Ikeja\",\n            \"city\": \"Mushin\",\n            \"state\": \"Lagos State\",\n            \"country\": \"Nigeria\"\n        }\n    }\n}"},"url":"https://api.onepipe.io/v2/transact","description":"<p>With this service, the calling apps can open Polaris wallets on behalf of their customers</p>\n<ul>\n<li><code>auth.secure</code> should be the customer's BVN number</li>\n<li><code>transaction.meta.account_currency</code> can either be <code>USD</code> or <code>NGN</code>. It defaults to <code>NGN</code> is none is passed</li>\n</ul>\n","urlObject":{"path":["v2","transact"],"host":["https://api.onepipe.io"],"query":[],"variable":[]}},"response":[{"id":"e85221d5-06c6-46cf-8886-d0947ebeed1c","name":"Successful","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"}],"body":{"mode":"raw","raw":"{\n    \"request_ref\": \"111111111\",\n    \"request_type\": \"open_account\",\n    \"auth\": {\n        \"type\": null,\n        \"secure\": null,\n        \"auth_provider\": \"Polaris\",\n        \"route_mode\": null\n    },\n    \"transaction\": {\n        \"mock_mode\": \"Live\",\n        \"transaction_ref\": \"{{transaction-ref}}\",\n        \"transaction_desc\": \"A random transaction\",\n        \"transaction_ref_parent\": null,\n        \"amount\": 1000,\n        \"customer\": {\n            \"customer_ref\": \"2348033000989\",\n            \"firstname\": \"John\",\n            \"surname\": \"Doe\",\n            \"email\": \"john@doe.com\",\n            \"mobile_no\": \"2348033000989\"\n        },\n        \"meta\": {\n            \"a_key\": \"a_meta_value_1\",\n            \"b_key\": \"a_meta_value_2\"\n        },\n        \"details\": {\n            \"name_on_account\": \"John J. Doe\",\n            \"middlename\": \"Jane\",\n            \"dob\": \"2005-05-13\",\n            \"gender\": \"M\",\n            \"title\": \"Mr\",\n            \"address_line_1\": \"23, Okon street, Ikeja\",\n            \"address_line_2\": \"Ikeja\",\n            \"city\": \"Mushin\",\n            \"state\": \"Lagos State\",\n            \"country\": \"Nigeria\"\n        }\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Tue, 24 Mar 2020 13:49:51 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"873"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Successful\",\n    \"message\": \"Account created successfully\",\n    \"data\": {\n        \"provider_response_code\": \"00\",\n        \"provider\": \"Polaris\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"account_number\": \"1234567890\"\n        },\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"}],"_postman_id":"0b0ae74b-8133-4c75-94f4-206cd038440f"},{"name":"Get Accounts Min","id":"19be509d-9dac-4a6f-bb40-4d036c6b646f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"get_accounts_min\",\r\n  \"auth\": {\r\n    \"type\": null,\r\n    \"secure\": null,\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"inspect\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n        \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": null\r\n  }\r\n}"},"url":"https://api.onepipe.io/v2/transact","description":"<h1 id=\"service-description\">Service description</h1>\n<p>With this service, you can take a customer reference (phone number, unique ID, etc.) and obtain a <strong>masked</strong> list of accounts known with it by a specific provider. If authorisation details are required by a provider, you will have to provide this. OnePipe will in turn forward to the provider’s dedicated implementation.</p>\n<p>For example: Get a list of bank accounts for a phone number.</p>\n<h4 id=\"sequence-of-calls\">Sequence of calls</h4>\n<p>Please be sure to have gone through...</p>\n<ul>\n<li><a href=\"#the-headers\">The headers</a>  </li>\n<li><a href=\"#the-main-operations-you-can-perform\">Main API operations</a></li>\n<li><a href=\"#what-requests-would-look-like\">Typical OnePipe requests</a>  </li>\n<li><a href=\"#what-responses-would-look-like\">Typical OnePipe responses</a></li>\n<li><a href=\"#encryption-of-secure-element\">Encryption of the <code>secure</code> element</a></li>\n</ul>\n<p>Here's the call sequence specific to this service...</p>\n<ol>\n<li>Call <code>/transact</code> with the right auth details. <code>null</code> is also supported. See <a href=\"#encryption-of-secure-element\">here</a></li>\n<li>Provider responds with <code>WaitingForOTP</code> or <code>PendingValidation</code> if they require OTP verification to verify that consent has been given by the customer.</li>\n<li>Call <code>/transact/validate</code> to supply OTP if needed</li>\n<li>Provider responds with any of the completion codes <code>Successful</code> or <code>Failed</code>. </li>\n<li>To query the status of a transaction, call <code>/transact/query</code></li>\n</ol>\n<h4 id=\"interpreting-the-response\">Interpreting the response</h4>\n<ul>\n<li>Read the reponse</li>\n<li>Read the <code>provider_response</code> Object</li>\n</ul>\n<h4 id=\"possible-status-values\">Possible status values</h4>\n<ul>\n<li><strong>Successful</strong>: Success</li>\n<li><strong>WaitingForOTP</strong>: Display the <code>status.message</code> and collect the input from the user, then follow with a <code>/transact/validate</code></li>\n<li><strong>PendingValidation</strong>: Display the <code>status.message</code> and collect the input from the user, then follow with a <code>/transact/validate</code></li>\n<li><strong>[Anything else]</strong>: Error. Read the errors object(s)</li>\n</ul>\n<h4 id=\"request-body-elements\">Request body elements</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Requirement</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>request_ref</td>\n<td>string</td>\n<td>compulsory</td>\n<td>A unique reference for this API call</td>\n</tr>\n<tr>\n<td>request_type</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Set to <code>get_accounts_min</code></td>\n</tr>\n<tr>\n<td>auth.type</td>\n<td>string</td>\n<td>optional</td>\n<td>Depends on what the provider requires to authorize the request. Most times, can be <code>null</code>. If a provider requires something different, it would be stated on the provider info panel on the OnePipe instance.</td>\n</tr>\n<tr>\n<td>auth.secure</td>\n<td>string</td>\n<td>optional</td>\n<td>If a type is set, then encrypt the value here. See <a href=\"#encryption-of-secure-element\">Encryption of the <code>secure</code> element</a></td>\n</tr>\n<tr>\n<td>auth.auth_provider</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The Provider from whom you want to pull the information. e.g. <code>SunTrust</code></td>\n</tr>\n<tr>\n<td>auth.route_mode</td>\n<td>string</td>\n<td>optional</td>\n<td>Set to <code>null</code></td>\n</tr>\n<tr>\n<td>transaction.mock_mode</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Set to <code>inspect</code> (for test mode) or <code>live</code> (for live mode)</td>\n</tr>\n<tr>\n<td>transaction.transaction_ref</td>\n<td>string</td>\n<td>compulsory</td>\n<td>A unique reference for the transaction</td>\n</tr>\n<tr>\n<td>transaction.transaction.desc</td>\n<td>string</td>\n<td>compulsory</td>\n<td>A short description or narration</td>\n</tr>\n<tr>\n<td>transaction.transaction_ref_parent</td>\n<td>string</td>\n<td>optional</td>\n<td>Can be set to <code>null</code>. But if you are repeating an prior transaction, you can set it to the <code>transaction_ref</code> of the former transaction to create a link for easy tracking.</td>\n</tr>\n<tr>\n<td>amount</td>\n<td>int</td>\n<td>compulsory</td>\n<td>Set to <code>0</code></td>\n</tr>\n<tr>\n<td>transaction.customer.customer_ref</td>\n<td>string</td>\n<td>compulsory</td>\n<td>A unique reference to identify this customer. <strong>This is the customer ID for which you want to pull linked accounts</strong></td>\n</tr>\n<tr>\n<td>transaction.customer.firstname</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The firstname of the customer.</td>\n</tr>\n<tr>\n<td>transaction.customer.surname</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The surname of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.email</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The email of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.mobile_no</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The mobile number of the customer</td>\n</tr>\n<tr>\n<td>transaction.details</td>\n<td>object</td>\n<td>compulsory</td>\n<td>Set to <code>null</code></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response-body-elements\">Response body elements</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Element</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>status</td>\n<td>Standard response. <strong>Successful</strong> or anything else. If the response is <code>WaitingForOTP</code> or <code>PendingValidation</code>, then display the <code>response.message</code>, collect the input from the user and follow with a <code>/transact/validate</code> API call.</td>\n</tr>\n<tr>\n<td>message</td>\n<td>A message or description of the response</td>\n</tr>\n<tr>\n<td>data.provider</td>\n<td>The provider that was used to process the request</td>\n</tr>\n<tr>\n<td>data.provider_response_code</td>\n<td>Response code as determined by the underlying provider</td>\n</tr>\n<tr>\n<td>data.provider_response.reference</td>\n<td>A reference from the provider for reconciliation purposes</td>\n</tr>\n<tr>\n<td>data.provider_response.accounts []</td>\n<td>An array containing the found accounts</td>\n</tr>\n<tr>\n<td>data.provider_response.accounts[].account_number</td>\n<td>A masked value of the account number in the format 898****090</td>\n</tr>\n<tr>\n<td>data.provider_response.accounts[].account_name</td>\n<td>Name on the account</td>\n</tr>\n<tr>\n<td>data.provider_response.accounts[].bank_name</td>\n<td>The bank name where the account resides</td>\n</tr>\n<tr>\n<td>data.provider_response.accounts[].bank_code</td>\n<td>The CBN code of the bank where the account resides</td>\n</tr>\n<tr>\n<td>data.provider_response.meta</td>\n<td>A custom object that can hold any extra information the provider deems necessary in key vs value pairs.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"list-of-providers\">List of providers</h4>\n<p>For a list of providers that have published and implemented this service, please see <a href=\"https://onepipe.io/explore/v2?service=get_accounts_min\">here</a></p>\n<h4 id=\"common-questions\">Common questions</h4>\n<p><strong>Question</strong>: Why do I need to specify <code>transaction.amount</code>when it's irrelevant here?</p>\n<p><strong>Answer</strong>: OnePipe APIs all try to follow a common standard such that all services require the same exact payload. It's the values within the payload that will then vary, service by service. In this case, just set it to <code>0</code>.</p>\n<p><strong>Question</strong>: What is the <code>meta</code> object in the request and response?</p>\n<p><strong>Answer</strong>: Some providers at times require or return special fields not covered by the standard. If you know what some of these fields and their values are you can set them in the request <code>meta</code> object and read them from the response <code>meta</code> object. Typically though, <code>null</code> is perfectly fine in most cases.</p>\n","urlObject":{"path":["v2","transact"],"host":["https://api.onepipe.io"],"query":[],"variable":[]}},"response":[{"id":"83fb71eb-bcd7-49dd-8fa7-bd776d24efb9","name":"Get Accounts Min - Successful","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"get_accounts_min\",\r\n  \"auth\": {\r\n    \"type\": \"card\",\r\n    \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n        \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n    \t\"otp_override\": true\r\n    }\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 15 May 2020 15:36:03 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"nginx/1.17.8"},{"key":"Vary","value":"Accept-Encoding"},{"key":"Content-Encoding","value":"gzip"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Successful\",\n    \"message\": \"Transaction processed successfully\",\n    \"data\": {\n        \"provider_response_code\": \"00\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"accounts\": [\n                {\n                    \"account_number\": \"009****000\",\n                    \"account_name\": \"Ola Waheed\",\n                    \"bank_name\": \"FBN\",\n                    \"bank_code\": \"011\"\n                },\n                {\n                    \"account_number\": \"009****000\",\n                    \"account_name\": \"Ola Waheed\",\n                    \"bank_name\": \"FBN\",\n                    \"bank_code\": \"011\"\n                }\n            ],\n            \"reference\": \"000022200225154318222333334432\",\n            \"meta\": {\n                \"field_key\": \"field_value\"\n            }\n        },\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"},{"id":"d0a14ab7-9110-40e9-91d0-694222d1f01a","name":"Get Accounts Min - Failed","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"get_accounts_min\",\r\n  \"auth\": {\r\n    \"type\": \"card\",\r\n    \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n        \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": null\r\n  }\r\n}"},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 01 Jul 2020 22:54:09 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"581"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Failed\",\n    \"message\": \"Invalid request mode\",\n    \"data\": {\n        \"options\": null,\n        \"provider_response_code\": null,\n        \"provider\": null,\n        \"errors\": [\n            {\n                \"code\": \"01\",\n                \"message\": \"You are not yet enabled for go-live\"\n            }\n        ],\n        \"error\": {\n            \"code\": \"01\",\n            \"message\": \"You are not yet enabled for go-live\"\n        },\n        \"provider_response\": null,\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"},{"id":"f337d905-8f52-4e0b-bb38-cdc9cbfaddab","name":"Get Accounts Min - WaitingForOTP","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"get_accounts_min\",\r\n  \"auth\": {\r\n    \"type\": null,\r\n    \"secure\": null,\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"inspect\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n        \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": null\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 01 Jul 2020 22:57:09 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"518"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"WaitingForOTP\",\n    \"message\": \"Please enter the OTP sent to 2348022****08, use 12345678 as your OTP\",\n    \"data\": {\n        \"provider_response_code\": \"900T0\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": null,\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"}],"_postman_id":"19be509d-9dac-4a6f-bb40-4d036c6b646f"},{"name":"Get Accounts Mid","id":"0dc92fb0-7f52-4ba6-be6f-0836c4bf9b19","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"get_accounts_mid\",\r\n  \"auth\": {\r\n    \"type\": null, \r\n    \"secure\": null,\r\n    \"auth_provider\": \"DemoProvider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"inspect\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n        \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": null\r\n  }\r\n}"},"url":"https://api.onepipe.io/v2/transact","description":"<h1 id=\"service-description\">Service description</h1>\n<p>With this service, you can take a customer reference (phone number, unique ID, etc.) and obtain a <strong>unmasked</strong> list of accounts known with it by a specific provider. If authorisation details are required by a provider, you will have to provide this. OnePipe will in turn forward to the provider’s dedicated implementation.</p>\n<p>For example: Get a list of bank accounts for a phone number.</p>\n<h4 id=\"sequence-of-calls\">Sequence of calls</h4>\n<p>Please be sure to have gone through...</p>\n<ul>\n<li><a href=\"#the-headers\">The headers</a>  </li>\n<li><a href=\"#the-main-operations-you-can-perform\">Main API operations</a></li>\n<li><a href=\"#what-requests-would-look-like\">Typical OnePipe requests</a>  </li>\n<li><a href=\"#what-responses-would-look-like\">Typical OnePipe responses</a></li>\n<li><a href=\"#encryption-of-secure-element\">Encryption of the <code>secure</code> element</a></li>\n</ul>\n<p>Here's the call sequence specific to this service...</p>\n<ol>\n<li>Call <code>/transact</code> with the right auth details. <code>null</code> is also supported. See <a href=\"#encryption-of-secure-element\">here</a></li>\n<li>Provider responds with <code>WaitingForOTP</code> or <code>PendingValidation</code> if they require OTP verification to verify that consent has been given by the customer.</li>\n<li>Call <code>/transact/validate</code> to supply OTP if needed</li>\n<li>Provider responds with any of the completion codes <code>Successful</code> or <code>Failed</code>. </li>\n<li>To query the status of a transaction, call <code>/transact/query</code></li>\n</ol>\n<h4 id=\"interpreting-the-response\">Interpreting the response</h4>\n<ul>\n<li>Read the reponse</li>\n<li>Read the <code>provider_response</code> Object</li>\n</ul>\n<h4 id=\"possible-status-values\">Possible status values</h4>\n<ul>\n<li><strong>Successful</strong>: Success</li>\n<li><strong>WaitingForOTP</strong>: Display the <code>status.message</code> and collect the input from the user, then follow with a <code>/transact/validate</code></li>\n<li><strong>PendingValidation</strong>: Display the <code>status.message</code> and collect the input from the user, then follow with a <code>/transact/validate</code></li>\n<li><strong>[Anything else]</strong>: Error. Read the errors object(s)</li>\n</ul>\n<h4 id=\"request-body-elements\">Request body elements</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Requirement</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>request_ref</td>\n<td>string</td>\n<td>compulsory</td>\n<td>A unique reference for this API call</td>\n</tr>\n<tr>\n<td>request_type</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Set to <code>get_accounts_min</code></td>\n</tr>\n<tr>\n<td>auth.type</td>\n<td>string</td>\n<td>optional</td>\n<td>Depends on what the provider requires to authorize the request. Most times, can be <code>null</code>. If a provider requires something different, it would be stated on the provider info panel on the OnePipe instance.</td>\n</tr>\n<tr>\n<td>auth.secure</td>\n<td>string</td>\n<td>optional</td>\n<td>If a type is set, then encrypt the value here. See <a href=\"#encryption-of-secure-element\">Encryption of the <code>secure</code> element</a></td>\n</tr>\n<tr>\n<td>auth.auth_provider</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The Provider from whom you want to pull the information. e.g. <code>SunTrust</code></td>\n</tr>\n<tr>\n<td>auth.route_mode</td>\n<td>string</td>\n<td>optional</td>\n<td>Set to <code>null</code></td>\n</tr>\n<tr>\n<td>transaction.mock_mode</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Set to <code>inspect</code> (for test mode) or <code>live</code> (for live mode)</td>\n</tr>\n<tr>\n<td>transaction.transaction_ref</td>\n<td>string</td>\n<td>compulsory</td>\n<td>A unique reference for the transaction</td>\n</tr>\n<tr>\n<td>transaction.transaction.desc</td>\n<td>string</td>\n<td>compulsory</td>\n<td>A short description or narration</td>\n</tr>\n<tr>\n<td>transaction.transaction_ref_parent</td>\n<td>string</td>\n<td>optional</td>\n<td>Can be set to <code>null</code>. But if you are repeating an prior transaction, you can set it to the <code>transaction_ref</code> of the former transaction to create a link for easy tracking.</td>\n</tr>\n<tr>\n<td>amount</td>\n<td>int</td>\n<td>compulsory</td>\n<td>Set to <code>0</code></td>\n</tr>\n<tr>\n<td>transaction.customer.customer_ref</td>\n<td>string</td>\n<td>compulsory</td>\n<td>A unique reference to identify this customer. <strong>This is the customer ID for which you want to pull linked accounts</strong></td>\n</tr>\n<tr>\n<td>transaction.customer.firstname</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The firstname of the customer.</td>\n</tr>\n<tr>\n<td>transaction.customer.surname</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The surname of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.email</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The email of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.mobile_no</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The mobile number of the customer</td>\n</tr>\n<tr>\n<td>transaction.details</td>\n<td>object</td>\n<td>compulsory</td>\n<td>Set to <code>null</code></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response-body-elements\">Response body elements</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Element</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>status</td>\n<td>Standard response. <strong>Successful</strong> or anything else. If the response is <code>WaitingForOTP</code> or <code>PendingValidation</code>, then display the <code>response.message</code>, collect the input from the user and follow with a <code>/transact/validate</code> API call.</td>\n</tr>\n<tr>\n<td>message</td>\n<td>A message or description of the response</td>\n</tr>\n<tr>\n<td>data.provider</td>\n<td>The provider that was used to process the request</td>\n</tr>\n<tr>\n<td>data.provider_response_code</td>\n<td>Response code as determined by the underlying provider</td>\n</tr>\n<tr>\n<td>data.provider_response.reference</td>\n<td>A reference from the provider for reconciliation purposes</td>\n</tr>\n<tr>\n<td>data.provider_response.accounts []</td>\n<td>An array containing the found accounts</td>\n</tr>\n<tr>\n<td>data.provider_response.accounts[].account_number</td>\n<td>A masked value of the account number in the format 898****090</td>\n</tr>\n<tr>\n<td>data.provider_response.accounts[].account_name</td>\n<td>Name on the account</td>\n</tr>\n<tr>\n<td>data.provider_response.accounts[].bank_name</td>\n<td>The bank name where the account resides</td>\n</tr>\n<tr>\n<td>data.provider_response.accounts[].bank_code</td>\n<td>The CBN code of the bank where the account resides</td>\n</tr>\n<tr>\n<td>data.provider_response.meta</td>\n<td>A custom object that can hold any extra information the provider deems necessary in key vs value pairs.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"list-of-providers\">List of providers</h4>\n<p>For a list of providers that have published and implemented this service, please see <a href=\"https://onepipe.io/explore/v2?service=get_accounts_min\">here</a></p>\n<h4 id=\"common-questions\">Common questions</h4>\n<p><strong>Question</strong>: Why do I need to specify <code>transaction.amount</code>when it's irrelevant here?</p>\n<p><strong>Answer</strong>: OnePipe APIs all try to follow a common standard such that all services require the same exact payload. It's the values within the payload that will then vary, service by service. In this case, just set it to <code>0</code>.</p>\n<p><strong>Question</strong>: What is the <code>meta</code> object in the request and response?</p>\n<p><strong>Answer</strong>: Some providers at times require or return special fields not covered by the standard. If you know what some of these fields and their values are you can set them in the request <code>meta</code> object and read them from the response <code>meta</code> object. Typically though, <code>null</code> is perfectly fine in most cases.</p>\n","urlObject":{"path":["v2","transact"],"host":["https://api.onepipe.io"],"query":[],"variable":[]}},"response":[{"id":"b7bbb36f-d2f6-4e35-8fab-61b564579416","name":"Get Accounts Mid - Successful","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"get_accounts_mid\",\r\n  \"auth\": {\r\n    \"type\": null, \r\n    \"secure\": null,\r\n    \"auth_provider\": \"DemoProvider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"inspect\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n        \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": null\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 01 Jul 2020 23:01:25 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"744"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Successful\",\n    \"message\": \"Transaction processed successfully\",\n    \"data\": {\n        \"provider_response_code\": \"00\",\n        \"provider\": \"DemoProvider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"accounts\": [\n                {\n                    \"account_number\": \"00999999000\",\n                    \"account_name\": \"Ola Waheed\",\n                    \"bank_name\": \"FBN\",\n                    \"bank_code\": \"011\"\n                },\n                {\n                    \"account_number\": \"0099999000\",\n                    \"account_name\": \"Ola Waheed\",\n                    \"bank_name\": \"FBN\",\n                    \"bank_code\": \"011\"\n                }\n            ],\n            \"reference\": \"8358663209080\",\n            \"meta\": {\n                \"field_key\": \"field_value\"\n            }\n        },\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"},{"id":"0c784b42-00ca-416f-ae0a-0765813cd4ec","name":"Get Accounts Mid - Failed","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"get_accounts_mid\",\r\n  \"auth\": {\r\n    \"type\": null, \r\n    \"secure\": null,\r\n    \"auth_provider\": \"DemoProvider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n        \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": null\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 01 Jul 2020 22:59:55 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"581"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Failed\",\n    \"message\": \"Invalid request mode\",\n    \"data\": {\n        \"options\": null,\n        \"provider_response_code\": null,\n        \"provider\": null,\n        \"errors\": [\n            {\n                \"code\": \"01\",\n                \"message\": \"You are not yet enabled for go-live\"\n            }\n        ],\n        \"error\": {\n            \"code\": \"01\",\n            \"message\": \"You are not yet enabled for go-live\"\n        },\n        \"provider_response\": null,\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"},{"id":"56a54244-1194-426e-a249-f1dc1c6bc5a4","name":"Get Accounts Mid - WaitingForOTP","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"get_accounts_mid\",\r\n  \"auth\": {\r\n    \"type\": \"bank.account | card | wallet\", \r\n    \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n        \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": null\r\n  }\r\n}"},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 15 May 2020 15:37:59 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"nginx/1.17.8"},{"key":"Vary","value":"Accept-Encoding"},{"key":"Content-Encoding","value":"gzip"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"WaitingForOTP\",\n    \"message\": \"Please enter the OTP sent to 2348022****08\",\n    \"data\": {\n        \"provider_response_code\": \"900T0\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": null,\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"}],"_postman_id":"0dc92fb0-7f52-4ba6-be6f-0836c4bf9b19"},{"name":"Get Accounts Max","id":"21b232b8-ca4c-461a-a9c1-33b8c1588848","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"get_accounts_max\",\r\n  \"auth\": {\r\n    \"type\": null, \r\n    \"secure\": null,\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"inspect\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n        \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\r\n    },\r\n    \"details\": null\r\n  }\r\n}"},"url":"https://api.onepipe.io/v2/transact","description":"<h1 id=\"service-description\">Service description</h1>\n<p>With this service, you can take a customer reference (phone number, unique ID, etc.) and obtain a <strong>unmasked</strong> list of accounts known with it <strong>as well as extended data per account</strong> by a specific provider. If authorisation details are required by a provider, you will have to provide this. OnePipe will in turn forward to the provider’s dedicated implementation.</p>\n<p>For example: Get a list of bank accounts for a phone number and for each account provide information on it's active status.</p>\n<h4 id=\"sequence-of-calls\">Sequence of calls</h4>\n<p>Please be sure to have gone through...</p>\n<ul>\n<li><a href=\"#the-headers\">The headers</a>  </li>\n<li><a href=\"#the-main-operations-you-can-perform\">Main API operations</a></li>\n<li><a href=\"#what-requests-would-look-like\">Typical OnePipe requests</a>  </li>\n<li><a href=\"#what-responses-would-look-like\">Typical OnePipe responses</a></li>\n<li><a href=\"#encryption-of-secure-element\">Encryption of the <code>secure</code> element</a></li>\n</ul>\n<p>Here's the call sequence specific to this service...</p>\n<ol>\n<li>Call <code>/transact</code> with the right auth details. <code>null</code> is also supported. See <a href=\"#encryption-of-secure-element\">here</a></li>\n<li>Provider responds with <code>WaitingForOTP</code> or <code>PendingValidation</code> if they require OTP verification to verify that consent has been given by the customer.</li>\n<li>Call <code>/transact/validate</code> to supply OTP if needed</li>\n<li>Provider responds with any of the completion codes <code>Successful</code> or <code>Failed</code>. </li>\n<li>To query the status of a transaction, call <code>/transact/query</code></li>\n</ol>\n<h4 id=\"interpreting-the-response\">Interpreting the response</h4>\n<ul>\n<li>Read the reponse</li>\n<li>Read the <code>provider_response</code> Object</li>\n</ul>\n<h4 id=\"possible-status-values\">Possible status values</h4>\n<ul>\n<li><strong>Successful</strong>: Success</li>\n<li><strong>WaitingForOTP</strong>: Display the <code>status.message</code> and collect the input from the user, then follow with a <code>/transact/validate</code></li>\n<li><strong>PendingValidation</strong>: Display the <code>status.message</code> and collect the input from the user, then follow with a <code>/transact/validate</code></li>\n<li><strong>[Anything else]</strong>: Error. Read the errors object(s)</li>\n</ul>\n<h4 id=\"request-body-elements\">Request body elements</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Requirement</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>request_ref</td>\n<td>string</td>\n<td>compulsory</td>\n<td>A unique reference for this API call</td>\n</tr>\n<tr>\n<td>request_type</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Set to <code>get_accounts_min</code></td>\n</tr>\n<tr>\n<td>auth.type</td>\n<td>string</td>\n<td>optional</td>\n<td>Depends on what the provider requires to authorize the request. Most times, can be <code>null</code>. If a provider requires something different, it would be stated on the provider info panel on the OnePipe instance.</td>\n</tr>\n<tr>\n<td>auth.secure</td>\n<td>string</td>\n<td>optional</td>\n<td>If a type is set, then encrypt the value here. See <a href=\"#encryption-of-secure-element\">Encryption of the <code>secure</code> element</a></td>\n</tr>\n<tr>\n<td>auth.auth_provider</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The Provider from whom you want to pull the information. e.g. <code>SunTrust</code></td>\n</tr>\n<tr>\n<td>auth.route_mode</td>\n<td>string</td>\n<td>optional</td>\n<td>Set to <code>null</code></td>\n</tr>\n<tr>\n<td>transaction.mock_mode</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Set to <code>inspect</code> (for test mode) or <code>live</code> (for live mode)</td>\n</tr>\n<tr>\n<td>transaction.transaction_ref</td>\n<td>string</td>\n<td>compulsory</td>\n<td>A unique reference for the transaction</td>\n</tr>\n<tr>\n<td>transaction.transaction.desc</td>\n<td>string</td>\n<td>compulsory</td>\n<td>A short description or narration</td>\n</tr>\n<tr>\n<td>transaction.transaction_ref_parent</td>\n<td>string</td>\n<td>optional</td>\n<td>Can be set to <code>null</code>. But if you are repeating an prior transaction, you can set it to the <code>transaction_ref</code> of the former transaction to create a link for easy tracking.</td>\n</tr>\n<tr>\n<td>amount</td>\n<td>int</td>\n<td>compulsory</td>\n<td>Set to <code>0</code></td>\n</tr>\n<tr>\n<td>transaction.customer.customer_ref</td>\n<td>string</td>\n<td>compulsory</td>\n<td>A unique reference to identify this customer. <strong>This is the customer ID for which you want to pull linked accounts</strong></td>\n</tr>\n<tr>\n<td>transaction.customer.firstname</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The firstname of the customer.</td>\n</tr>\n<tr>\n<td>transaction.customer.surname</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The surname of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.email</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The email of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.mobile_no</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The mobile number of the customer</td>\n</tr>\n<tr>\n<td>transaction.details</td>\n<td>object</td>\n<td>compulsory</td>\n<td>Set to <code>null</code></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response-body-elements\">Response body elements</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Element</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>status</td>\n<td>Standard response. <strong>Successful</strong> or anything else. If the response is <code>WaitingForOTP</code> or <code>PendingValidation</code>, then display the <code>response.message</code>, collect the input from the user and follow with a <code>/transact/validate</code> API call.</td>\n</tr>\n<tr>\n<td>message</td>\n<td>A message or description of the response</td>\n</tr>\n<tr>\n<td>data.provider</td>\n<td>The provider that was used to process the request</td>\n</tr>\n<tr>\n<td>data.provider_response_code</td>\n<td>Response code as determined by the underlying provider</td>\n</tr>\n<tr>\n<td>data.provider_response.reference</td>\n<td>A reference from the provider for reconciliation purposes</td>\n</tr>\n<tr>\n<td>data.provider_response.accounts []</td>\n<td>An array containing the found accounts</td>\n</tr>\n<tr>\n<td>data.provider_response.accounts[].account_number</td>\n<td>A masked value of the account number in the format 898****090</td>\n</tr>\n<tr>\n<td>data.provider_response.accounts[].account_name</td>\n<td>Name on the account</td>\n</tr>\n<tr>\n<td>data.provider_response.accounts[].bank_name</td>\n<td>The bank name where the account resides</td>\n</tr>\n<tr>\n<td>data.provider_response.accounts[].bank_code</td>\n<td>The CBN code of the bank where the account resides</td>\n</tr>\n<tr>\n<td>data.provider_response.accounts[].extended_data</td>\n<td>An object that contains fields to describe the account. For each provider that makes it available, the list of elements to expect will be published.</td>\n</tr>\n<tr>\n<td>data.provider_response.meta</td>\n<td>A custom object that can hold any extra information the provider deems necessary in key vs value pairs.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"list-of-providers\">List of providers</h4>\n<p>For a list of providers that have published and implemented this service, please see <a href=\"https://onepipe.io/explore/v2?service=get_accounts_min\">here</a></p>\n<h4 id=\"common-questions\">Common questions</h4>\n<p><strong>Question</strong>: Why do I need to specify <code>transaction.amount</code>when it's irrelevant here?</p>\n<p><strong>Answer</strong>: OnePipe APIs all try to follow a common standard such that all services require the same exact payload. It's the values within the payload that will then vary, service by service. In this case, just set it to <code>0</code>.</p>\n<p><strong>Question</strong>: What is the <code>meta</code> object in the request and response?</p>\n<p><strong>Answer</strong>: Some providers at times require or return special fields not covered by the standard. If you know what some of these fields and their values are you can set them in the request <code>meta</code> object and read them from the response <code>meta</code> object. Typically though, <code>null</code> is perfectly fine in most cases.</p>\n","urlObject":{"path":["v2","transact"],"host":["https://api.onepipe.io"],"query":[],"variable":[]}},"response":[{"id":"9f55eeea-c2e3-4f3f-b743-1145bcca1a87","name":"Get Account Max - Successful","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"get_accounts_max\",\r\n  \"auth\": {\r\n    \"type\": \"bank.account\", \r\n    \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"{{customer-id}}\",\r\n    \t\"firstname\": \"Uju\",\r\n        \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\r\n    },\r\n    \"details\": {\r\n    \t\"otp_override\":true\r\n    }\r\n  }\r\n}"},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 15 May 2020 15:41:17 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"nginx/1.17.8"},{"key":"Vary","value":"Accept-Encoding"},{"key":"Content-Encoding","value":"gzip"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Successful\",\n    \"message\": \"Transaction processed successfully\",\n    \"data\": {\n        \"provider_response_code\": \"00\",\n        \"provider\": \"Beeceptor\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"accounts\": [\n                {\n                    \"account_number\": \"00999999000\",\n                    \"account_name\": \"Ola Waheed\",\n                    \"bank_name\": \"FBN\",\n                    \"bank_code\": \"011\",\n                    \"extended_data\": {\n                        \"a_key\": \"a_value\"\n                    }\n                },\n                {\n                    \"account_number\": \"0099999000\",\n                    \"account_name\": \"Ola Waheed\",\n                    \"bank_name\": \"FBN\",\n                    \"bank_code\": \"011\",\n                    \"extended_data\": {\n                        \"a_key\": \"a_value\"\n                    }\n                }\n            ],\n            \"reference\": \"2962103462351\",\n            \"meta\": {\n                \"field_key\": \"field_value\"\n            }\n        },\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"},{"id":"34232022-22e4-442d-b999-1e8ca17b101a","name":"Get Account Max - WaitingForOTP","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"get_accounts_max\",\r\n  \"auth\": {\r\n    \"type\": \"bank.account\", \r\n    \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"{{customer-id}}\",\r\n    \t\"firstname\": \"Uju\",\r\n        \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\r\n    },\r\n    \"details\": {\r\n    \t\"otp_override\":true\r\n    }\r\n  }\r\n}"},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 15 May 2020 15:40:38 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"nginx/1.17.8"},{"key":"Vary","value":"Accept-Encoding"},{"key":"Content-Encoding","value":"gzip"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"WaitingForOTP\",\n    \"message\": \"Please enter the OTP sent to 2348022****08\",\n    \"data\": {\n        \"provider_response_code\": \"900T0\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": null,\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"},{"id":"e8843eb1-8330-43f0-b42f-dc3a0e478ace","name":"Get Accounts Max - Failed","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"get_accounts_max\",\r\n  \"auth\": {\r\n    \"type\": null, \r\n    \"secure\": null,\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n        \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\r\n    },\r\n    \"details\": null\r\n  }\r\n}"},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 01 Jul 2020 23:07:18 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"581"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Failed\",\n    \"message\": \"Invalid request mode\",\n    \"data\": {\n        \"options\": null,\n        \"provider_response_code\": null,\n        \"provider\": null,\n        \"errors\": [\n            {\n                \"code\": \"01\",\n                \"message\": \"You are not yet enabled for go-live\"\n            }\n        ],\n        \"error\": {\n            \"code\": \"01\",\n            \"message\": \"You are not yet enabled for go-live\"\n        },\n        \"provider_response\": null,\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"}],"_postman_id":"21b232b8-ca4c-461a-a9c1-33b8c1588848"},{"name":"Lookup Account Min","id":"e51aee2c-6be5-4c25-88ac-64b424487d15","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"lookup_account_min\",\r\n  \"auth\": {\r\n    \"type\": \"bank.account\", \r\n    \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"inspect\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n    \t\"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"b_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {}\r\n  }\r\n}"},"url":"https://api.onepipe.io/v2/transact","description":"<p>With this service, the calling apps can KYC a customer's account number or other authorization details like cards or wallets. This service will only return minimal KYC information.</p>\n","urlObject":{"path":["v2","transact"],"host":["https://api.onepipe.io"],"query":[],"variable":[]}},"response":[{"id":"60bec54a-9481-4c83-b693-297f709ea239","name":"Lookup Account Min - Successful","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"lookup_account_min\",\r\n  \"auth\": {\r\n    \"type\": \"bank.account\", \r\n    \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"inspect\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n    \t\"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"b_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {}\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 01 Jul 2020 23:26:45 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"518"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Successful\",\n    \"message\": \"Account details retrieved Sucessfully\",\n    \"data\": {\n        \"provider_response_code\": \"00\",\n        \"provider\": \"DemoProvider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"customer_id\": \"007935125\",\n            \"account_name\": \"BOLA SALAMI\",\n            \"account_number\": \"1780161243\",\n            \"last_name\": \"SALAMI\",\n            \"first_name\": \"BOLA\",\n            \"middle_name\": \"-\",\n            \"gender\": \"Female\",\n            \"account_currency\": \"NGN\",\n            \"dob\": \"1989-06-06-10-00-00\",\n            \"reference\": \"1228519650461\",\n            \"meta\": {\n                \"field_key\": \"field_value\"\n            }\n        },\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"},{"id":"31fef196-29dc-4e3c-a80c-b027594dfd19","name":"Lookup Account Min - Failed","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"lookup_account_min\",\r\n  \"auth\": {\r\n    \"type\": \"bank.account\", \r\n    \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n    \t\"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"b_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {}\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 01 Jul 2020 23:26:10 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"581"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Failed\",\n    \"message\": \"Invalid request mode\",\n    \"data\": {\n        \"options\": null,\n        \"provider_response_code\": null,\n        \"provider\": null,\n        \"errors\": [\n            {\n                \"code\": \"01\",\n                \"message\": \"You are not yet enabled for go-live\"\n            }\n        ],\n        \"error\": {\n            \"code\": \"01\",\n            \"message\": \"You are not yet enabled for go-live\"\n        },\n        \"provider_response\": null,\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"},{"id":"c1c46a94-4c3a-45b4-b9a2-80f21c115e57","name":"Lookup Account Min - WaitingForOTP","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"lookup_account_min\",\r\n  \"auth\": {\r\n    \"type\": \"bank.account\", \r\n    \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"inspect\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n    \t\"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"b_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {}\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 01 Jul 2020 23:26:45 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"518"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"WaitingForOTP\",\n    \"message\": \"Please enter the OTP sent to 2348022****08, use 12345678 as your OTP\",\n    \"data\": {\n        \"provider_response_code\": \"900T0\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": null,\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"}],"_postman_id":"e51aee2c-6be5-4c25-88ac-64b424487d15"},{"name":"Lookup Account Mid","id":"230efcee-3176-441a-aafe-a0a9d11b4899","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"lookup_account_mid\",\r\n  \"auth\": {\r\n    \"type\": \"bank.account\", \r\n    \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"inspect\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n    \t\"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"b_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {}\r\n  }\r\n}"},"url":"https://api.onepipe.io/v2/transact","description":"<p>With this service, the calling apps can do KYC with the customer's account number. This service will return slightly above minimal KYC information</p>\n","urlObject":{"path":["v2","transact"],"host":["https://api.onepipe.io"],"query":[],"variable":[]}},"response":[{"id":"2da7e180-423e-4aca-b17a-5f514ba867ea","name":"Lookup Account Mid - Successful","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"lookup_account_mid\",\r\n  \"auth\": {\r\n    \"type\": \"bank.account\", \r\n    \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"inspect\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n    \t\"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"b_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {}\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 01 Jul 2020 23:32:54 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"518"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Successful\",\n    \"message\": \"Account details received\",\n    \"data\": {\n        \"provider_response_code\": \"00\",\n        \"provider\": \"DemoProvider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"customer_id\": \"007935125\",\n            \"account_name\": \"BOLA SALAMI\",\n            \"first_name\": \"BOLA\",\n            \"last_name\": \"SALAMI\",\n            \"middle_name\": \"-\",\n            \"gender\": \"Male\",\n            \"account_currency\": \"NGN\",\n            \"dob\": \"1989-06-06-10-00-00\",\n            \"scheme_code\": \"STFCUR\",\n            \"account_status\": \"ACCOUNT OPEN\",\n            \"account_number\": \"1780161243\",\n            \"bvn\": \"22153578379\",\n            \"mobile_number\": \"09081690629\",\n            \"meta\": {\n                \"field_key\": \"field_value\"\n            }\n        },\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"},{"id":"4387db29-44be-4ec8-b423-e063643b3d3f","name":"Lookup Account Mid - WaitingForOTP","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"lookup_account_mid\",\r\n  \"auth\": {\r\n    \"type\": \"bank.account\", \r\n    \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"inspect\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n    \t\"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"b_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {}\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 01 Jul 2020 23:32:54 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"518"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"WaitingForOTP\",\n    \"message\": \"Please enter the OTP sent to 2348022****08, use 12345678 as your OTP\",\n    \"data\": {\n        \"provider_response_code\": \"900T0\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": null,\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"},{"id":"8d8086b4-4f74-4c93-8b7b-cb68e553350a","name":"Lookup Account Mid - Failed","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"lookup_account_mid\",\r\n  \"auth\": {\r\n    \"type\": \"bank.account\", \r\n    \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n    \t\"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"b_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {}\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 01 Jul 2020 23:31:12 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"581"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Failed\",\n    \"message\": \"Invalid request mode\",\n    \"data\": {\n        \"options\": null,\n        \"provider_response_code\": null,\n        \"provider\": null,\n        \"errors\": [\n            {\n                \"code\": \"01\",\n                \"message\": \"You are not yet enabled for go-live\"\n            }\n        ],\n        \"error\": {\n            \"code\": \"01\",\n            \"message\": \"You are not yet enabled for go-live\"\n        },\n        \"provider_response\": null,\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"}],"_postman_id":"230efcee-3176-441a-aafe-a0a9d11b4899"},{"name":"Lookup Account Max","id":"5f1616c9-39b4-4935-a349-717c5a594053","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"lookup_account_max\",\r\n  \"auth\": {\r\n    \"type\": \"bank.account\", \r\n    \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"inspect\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n        \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {}\r\n  }\r\n}"},"url":"https://api.onepipe.io/v2/transact","description":"<p>With this service, the calling apps can do KYC with the customer's account number or card or other supported auth details. This service will return maximum KYC information</p>\n","urlObject":{"path":["v2","transact"],"host":["https://api.onepipe.io"],"query":[],"variable":[]}},"response":[{"id":"e9570df9-5b05-4809-b85e-1115a7a35b0f","name":"Lookup Account Max - Successful","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"lookup_account_max\",\r\n  \"auth\": {\r\n    \"type\": \"bank.account\", \r\n    \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"inspect\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n        \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {}\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 01 Jul 2020 23:36:38 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"518"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Successful\",\n    \"message\": \"Validated Sucessfully\",\n    \"data\": {\n        \"provider_response_code\": \"00\",\n        \"provider\": \"DemoProvider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"customer_id\": \"007935125\",\n            \"account_currency\": \"NGN\",\n            \"account_number\": \"1020123456\",\n            \"account_name\": \"BOLA SALAMI\",\n            \"last_name\": \"SALAMI\",\n            \"middle_name\": \"-\",\n            \"first_name\": \"BOLA\",\n            \"gender\": \"Male\",\n            \"dob\": \"1971-03-12T00:00:00\",\n            \"account_branch\": \"101\",\n            \"scheme_code\": \"SAV\",\n            \"bvn\": \"22211055555\",\n            \"account_status\": \"ACCOUNT OPEN\",\n            \"ledger_balance\": 2524.59,\n            \"available_balance\": 2524.59,\n            \"kyc_level\": \"3\",\n            \"name_enquiry_id\": \"0000028301\",\n            \"address1\": \"9 LIGALI STREET\",\n            \"address2\": \".\",\n            \"address3\": \"IBADAN\",\n            \"email\": \"BOLASALAMI@yahoo.com\",\n            \"mobile_number\": \"080913333333\",\n            \"account_type\": \"CURRENT\",\n            \"reference\": \"4094029412504\",\n            \"meta\": {\n                \"field_key\": \"field_value\"\n            }\n        },\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"},{"id":"a73fba7b-af88-41ef-8487-a57548243c0e","name":"Lookup Account Max - WaitingForOTP","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"lookup_account_max\",\r\n  \"auth\": {\r\n    \"type\": \"bank.account\", \r\n    \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"inspect\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n        \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {}\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 01 Jul 2020 23:36:38 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"518"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"WaitingForOTP\",\n    \"message\": \"Please enter the OTP sent to 2348022****08, use 12345678 as your OTP\",\n    \"data\": {\n        \"provider_response_code\": \"900T0\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": null,\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"},{"id":"0f46eb1d-98a7-4677-a8b6-c42ca61e811c","name":"Lookup Account Max - Failed","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"lookup_account_max\",\r\n  \"auth\": {\r\n    \"type\": \"bank.account\", \r\n    \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n        \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {}\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 01 Jul 2020 23:36:09 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"581"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Failed\",\n    \"message\": \"Invalid request mode\",\n    \"data\": {\n        \"options\": null,\n        \"provider_response_code\": null,\n        \"provider\": null,\n        \"errors\": [\n            {\n                \"code\": \"01\",\n                \"message\": \"You are not yet enabled for go-live\"\n            }\n        ],\n        \"error\": {\n            \"code\": \"01\",\n            \"message\": \"You are not yet enabled for go-live\"\n        },\n        \"provider_response\": null,\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"}],"_postman_id":"5f1616c9-39b4-4935-a349-717c5a594053"},{"name":"Lookup BVN Min","id":"8be40b94-9ff0-4e49-9d4f-0235a8dc5940","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"lookup_bvn_min\",\r\n  \"auth\": {\r\n    \"type\": \"bvn\", \r\n    \"secure\": \"X90WY3DRBQQehrv9FzvA4hlExLEj3eTW\",\r\n    \"auth_provider\": \"DemoProvider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"inspect\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n      \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"{{customer_mobile_no}}\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"b_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n    \t\"dob\": \"1990-09-12\"\r\n    }\r\n  }\r\n}"},"url":"https://api.onepipe.io/v2/transact","description":"<h1 id=\"service-description\">Service description</h1>\n<p>With this service, the calling apps can KYC a customer's bank verification number. This service will only return a True/False match of the supplied customer details if it matches what is saved against their BVN correctly. If authorisation details are required by a provider, apps will have to provide this. OnePipe will in turn forward to the provider’s dedicated implementation. </p>\n<h4 id=\"sequence-of-calls\">Sequence of calls</h4>\n<p>Please be sure to have gone through...</p>\n<ul>\n<li><a href=\"#the-headers\">The headers</a>  </li>\n<li><a href=\"#the-main-operations-you-can-perform\">Main API operations</a></li>\n<li><a href=\"#what-requests-would-look-like\">Typical OnePipe requests</a>  </li>\n<li><a href=\"#what-responses-would-look-like\">Typical OnePipe responses</a></li>\n<li><a href=\"#encryption-of-secure-element\">Encryption of the <code>secure</code> element</a></li>\n</ul>\n<p>Here's the call sequence specific to this service...</p>\n<ol>\n<li>Call <code>/transact</code> with the right auth details - <code>bvn</code>. See <a href=\"#encryption-of-secure-element\">here</a></li>\n<li>Provider responds with <code>WaitingForOTP</code> or <code>PendingValidation</code> if they require OTP verification</li>\n<li>Call <code>/transact/validate</code> to supply OTP if needed</li>\n<li>Provider responds with any of the completion codes <code>Successful</code> or <code>Failed</code>. </li>\n<li>To query the status of a transaction, call <code>/transact/query</code></li>\n</ol>\n<h4 id=\"interpreting-the-response\">Interpreting the response</h4>\n<ul>\n<li>Read the response</li>\n<li>Read the <code>provider_response</code> Object</li>\n</ul>\n<h4 id=\"possible-status-values\">Possible status values</h4>\n<ul>\n<li><strong>Successful</strong>: Success</li>\n<li><strong>WaitingForOTP</strong>: Display the <code>status.message</code> and collect the input from the user, then follow with a <code>/transact/validate</code></li>\n<li><strong>PendingValidation</strong>: Display the <code>status.message</code> and collect the input from the user, then follow with a <code>/transact/validate</code></li>\n<li><strong>[Anything else]</strong>: Error. Read the errors object(s)</li>\n</ul>\n<h4 id=\"request-body-elements\">Request body elements</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Requirement</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>request_ref</td>\n<td>string</td>\n<td>compulsory</td>\n<td>A unique reference for this API call</td>\n</tr>\n<tr>\n<td>request_type</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Set to <code>lookup_bvn_min</code></td>\n</tr>\n<tr>\n<td>auth.type</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Set to be <code>bvn</code>.</td>\n</tr>\n<tr>\n<td>auth.secure</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Set to value of encrypted bvn</td>\n</tr>\n<tr>\n<td>auth.auth_provider</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The Provider against which you want to open the account. e.g. <code>SunTrust</code></td>\n</tr>\n<tr>\n<td>auth.route_mode</td>\n<td>string</td>\n<td>optional</td>\n<td>Set to <code>null</code></td>\n</tr>\n<tr>\n<td>transaction.mock_mode</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Set to <code>inspect</code> (for test mode) or <code>live</code> (for live mode)</td>\n</tr>\n<tr>\n<td>transaction.transaction_ref</td>\n<td>string</td>\n<td>compulsory</td>\n<td>A unique reference for the transaction</td>\n</tr>\n<tr>\n<td>transaction.transaction.desc</td>\n<td>string</td>\n<td>compulsory</td>\n<td>A short description or narration</td>\n</tr>\n<tr>\n<td>transaction.transaction_ref_parent</td>\n<td>string</td>\n<td>optional</td>\n<td>Can be set to <code>null</code>. But if you are repeating a prior transaction, you can set it to the <code>transaction_ref</code> of the former transaction to create a link for easy tracking.</td>\n</tr>\n<tr>\n<td>amount</td>\n<td>int</td>\n<td>compulsory</td>\n<td>Set to <code>0</code></td>\n</tr>\n<tr>\n<td>transaction.customer.customer_ref</td>\n<td>string</td>\n<td>compulsory</td>\n<td>A unique reference to identify this customer</td>\n</tr>\n<tr>\n<td>transaction.customer.firstname</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The firstname of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.surname</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The surname of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.email</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The email of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.mobile_no</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The mobile number of the customer</td>\n</tr>\n<tr>\n<td>transaction.details.dob</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Middle name of the customer.</td>\n</tr>\n<tr>\n<td>transaction.details.name_on_account</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The name that should be on the account.</td>\n</tr>\n<tr>\n<td>transaction.details.dob</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Date of birth yyyy-mm-dd you intend to validate</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response-body-elements\">Response body elements</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Element</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>status</td>\n<td>Standard response. <strong>Successful</strong> or anything else. If the response is <code>WaitingForOTP</code> or <code>PendingValidation</code>, then display the <code>response.message</code>, collect the input from the user and follow with a <code>/transact/validate</code> API call. See <a href=\"https://v2.docs.onepipe.io/?version=latest#b294a37e-e131-4fd3-931b-7868bec36e34\">here</a>.</td>\n</tr>\n<tr>\n<td>message</td>\n<td>A message or description of the response</td>\n</tr>\n<tr>\n<td>data.provider</td>\n<td>The provider that was used to process the request</td>\n</tr>\n<tr>\n<td>data.provider_response_code</td>\n<td>Response code as determined by the underlying provider</td>\n</tr>\n<tr>\n<td>data.provider_response.reference</td>\n<td>A reference from the provider for reconciliation purposes</td>\n</tr>\n<tr>\n<td>data.provider_response.bvn</td>\n<td>The bank verification number that was looked up</td>\n</tr>\n<tr>\n<td>data.provider_response.first_name</td>\n<td>A boolean field that determines if the supplied first name matches that of the bvn.</td>\n</tr>\n<tr>\n<td>data.provider_response.last_name</td>\n<td>A boolean field that determines if the supplied last name matches that of the bvn.</td>\n</tr>\n<tr>\n<td>data.provider_response.dob</td>\n<td>A boolean field that determines if the supplied date of birth matches that of the bvn.</td>\n</tr>\n<tr>\n<td>data.provider_response.meta</td>\n<td>A custom object that can hold any extra information the provider deems necessary in key vs value pairs.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"list-of-providers\">List of providers</h4>\n<p>For a list of providers that have published and implemented this service, please see <a href=\"https://onepipe.io/explore/v2?service=open_account\">here</a></p>\n<h4 id=\"common-questions\">Common questions</h4>\n<p><strong>Question</strong>: Why do I need to specify <code>transaction.amount</code> when it's irrelevant here?</p>\n<p><strong>Answer</strong>: OnePipe APIs all try to follow a common standard such that all services require the same exact payload. It's the values within the payload that will then vary, service by service. In this case, just set it to <code>0</code>.</p>\n<p><strong>Question</strong>: What is the <code>meta</code> object in the request and response?</p>\n<p><strong>Answer</strong>: Some providers at times require or return special fields not covered by the standard. If you know what some of these fields and their values are you can set them in the request <code>meta</code> object and read them from the response <code>meta</code> object. Typically though, <code>null</code> is perfectly fine in most cases.</p>\n","urlObject":{"path":["v2","transact"],"host":["https://api.onepipe.io"],"query":[],"variable":[]}},"response":[{"id":"14be0772-9175-425f-a5e9-1979e275295e","name":"Lookup BVN Min - Successful","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"lookup_bvn_min\",\r\n  \"auth\": {\r\n    \"type\": \"bvn\", \r\n    \"secure\": \"X90WY3DRBQQehrv9FzvA4hlExLEj3eTW\",\r\n    \"auth_provider\": \"DemoProvider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"inspect\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n      \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"{{customer_mobile_no}}\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"b_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n    \t\"dob\": \"1990-09-12\"\r\n    }\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sun, 05 Jul 2020 23:07:17 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"618"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Successful\",\n    \"message\": \"Transaction processed successfully\",\n    \"data\": {\n        \"provider_response_code\": \"00\",\n        \"provider\": \"DemoProvider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"bvn\": \"12345678\",\n            \"first_name\": true,\n            \"last_name\": true,\n            \"dob\": true,\n            \"reference\": \"7868305156953\",\n            \"meta\": {\n                \"first_item\": \"item1\",\n                \"second_item\": \"item2\"\n            }\n        },\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"},{"id":"bcb59d33-f7ed-413e-a855-516940db8204","name":"Lookup BVN Min - WaitingForOTP","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"lookup_bvn_min\",\r\n  \"auth\": {\r\n    \"type\": \"bvn\", \r\n    \"secure\": \"X90WY3DRBQQehrv9FzvA4hlExLEj3eTW\",\r\n    \"auth_provider\": \"DemoProvider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"inspect\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n      \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"{{customer_mobile_no}}\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"b_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n    \t\"dob\": \"1990-09-12\"\r\n    }\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sun, 05 Jul 2020 23:05:50 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"518"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"WaitingForOTP\",\n    \"message\": \"Please enter the OTP sent to 2348022****08, use 12345678 as your OTP\",\n    \"data\": {\n        \"provider_response_code\": \"900T0\",\n        \"provider\": \"DemoProvider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": null,\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"}],"_postman_id":"8be40b94-9ff0-4e49-9d4f-0235a8dc5940"},{"name":"Lookup BVN Mid","id":"c2728ea4-3d7b-4b9a-83c8-d9bb874d0ac4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"lookup_bvn_mid\",\r\n  \"auth\": {\r\n    \"type\": \"bvn\", \r\n    \"secure\": \"X90WY3DRBQQehrv9FzvA4hlExLEj3eTW\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"inspect\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"{{customer_ref}}\",\r\n    \t\"firstname\": \"Uju\",\r\n        \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"{{customer_mobile_no}}\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"b_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n    \t\r\n    }\r\n  }\r\n}"},"url":"https://api.onepipe.io/v2/transact","description":"<h1 id=\"service-description\">Service description</h1>\n<p>With this service, the calling apps can do KYC with the customer's bvn. This service will return slightly above minimal KYC information. Apps will collect the BVN they will like to obtain information on and forward to OnePipe. If authorisation details are required by a provider, apps will have to provide this. OnePipe will in turn forward to the provider’s dedicated implementation.</p>\n<h4 id=\"sequence-of-calls\">Sequence of calls</h4>\n<p>Please be sure to have gone through...</p>\n<ul>\n<li><a href=\"#the-headers\">The headers</a>  </li>\n<li><a href=\"#the-main-operations-you-can-perform\">Main API operations</a></li>\n<li><a href=\"#what-requests-would-look-like\">Typical OnePipe requests</a>  </li>\n<li><a href=\"#what-responses-would-look-like\">Typical OnePipe responses</a></li>\n<li><a href=\"#encryption-of-secure-element\">Encryption of the <code>secure</code> element</a></li>\n</ul>\n<p>Here's the call sequence specific to this service...</p>\n<ol>\n<li>Call <code>/transact</code> with the right auth details - <code>bvn</code>. See <a href=\"#encryption-of-secure-element\">here</a></li>\n<li>Provider responds with <code>WaitingForOTP</code> or <code>PendingValidation</code> if they require OTP verification</li>\n<li>Call <code>/transact/validate</code> to supply OTP if needed</li>\n<li>Provider responds with any of the completion codes <code>Successful</code> or <code>Failed</code>. </li>\n<li>To query the status of a transaction, call <code>/transact/query</code></li>\n</ol>\n<h4 id=\"interpreting-the-response\">Interpreting the response</h4>\n<ul>\n<li>Read the response</li>\n<li>Read the <code>provider_response</code> Object</li>\n</ul>\n<h4 id=\"possible-status-values\">Possible status values</h4>\n<ul>\n<li><strong>Successful</strong>: Success</li>\n<li><strong>WaitingForOTP</strong>: Display the <code>status.message</code> and collect the input from the user, then follow with a <code>/transact/validate</code></li>\n<li><strong>PendingValidation</strong>: Display the <code>status.message</code> and collect the input from the user, then follow with a <code>/transact/validate</code></li>\n<li><strong>[Anything else]</strong>: Error. Read the errors object(s)</li>\n</ul>\n<h4 id=\"request-body-elements\">Request body elements</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Requirement</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>request_ref</td>\n<td>string</td>\n<td>compulsory</td>\n<td>A unique reference for this API call</td>\n</tr>\n<tr>\n<td>request_type</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Set to <code>lookup_bvn_min</code></td>\n</tr>\n<tr>\n<td>auth.type</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Set to be <code>bvn</code>.</td>\n</tr>\n<tr>\n<td>auth.secure</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Set to value of encrypted bvn</td>\n</tr>\n<tr>\n<td>auth.auth_provider</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The Provider against which you want to open the account. e.g. <code>SunTrust</code></td>\n</tr>\n<tr>\n<td>auth.route_mode</td>\n<td>string</td>\n<td>optional</td>\n<td>Set to <code>null</code></td>\n</tr>\n<tr>\n<td>transaction.mock_mode</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Set to <code>inspect</code> (for test mode) or <code>live</code> (for live mode)</td>\n</tr>\n<tr>\n<td>transaction.transaction_ref</td>\n<td>string</td>\n<td>compulsory</td>\n<td>A unique reference for the transaction</td>\n</tr>\n<tr>\n<td>transaction.transaction.desc</td>\n<td>string</td>\n<td>compulsory</td>\n<td>A short description or narration</td>\n</tr>\n<tr>\n<td>transaction.transaction_ref_parent</td>\n<td>string</td>\n<td>optional</td>\n<td>Can be set to <code>null</code>. But if you are repeating a prior transaction, you can set it to the <code>transaction_ref</code> of the former transaction to create a link for easy tracking.</td>\n</tr>\n<tr>\n<td>amount</td>\n<td>int</td>\n<td>compulsory</td>\n<td>Set to <code>0</code></td>\n</tr>\n<tr>\n<td>transaction.customer.customer_ref</td>\n<td>string</td>\n<td>compulsory</td>\n<td>A unique reference to identify this customer</td>\n</tr>\n<tr>\n<td>transaction.customer.firstname</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The firstname of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.surname</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The surname of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.email</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The email of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.mobile_no</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The mobile number of the customer</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response-body-elements\">Response body elements</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Element</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>status</td>\n<td>Standard response. <strong>Successful</strong> or anything else. If the response is <code>WaitingForOTP</code> or <code>PendingValidation</code>, then display the <code>response.message</code>, collect the input from the user and follow with a <code>/transact/validate</code> API call. See <a href=\"https://v2.docs.onepipe.io/?version=latest#b294a37e-e131-4fd3-931b-7868bec36e34\">here</a>.</td>\n</tr>\n<tr>\n<td>message</td>\n<td>A message or description of the response</td>\n</tr>\n<tr>\n<td>data.provider</td>\n<td>The provider that was used to process the request</td>\n</tr>\n<tr>\n<td>data.provider_response_code</td>\n<td>Response code as determined by the underlying provider</td>\n</tr>\n<tr>\n<td>data.provider_response.reference</td>\n<td>A reference from the provider for reconciliation purposes</td>\n</tr>\n<tr>\n<td>data.provider_response.bvn</td>\n<td>The bank verification number that was looked up</td>\n</tr>\n<tr>\n<td>data.provider_response.first_name</td>\n<td>First name of customer</td>\n</tr>\n<tr>\n<td>data.provider_response.middle_name</td>\n<td>Middle name of customer</td>\n</tr>\n<tr>\n<td>data.provider_response.last_name</td>\n<td>Last name of customer</td>\n</tr>\n<tr>\n<td>data.provider_response.dob</td>\n<td>Date of birth of customer</td>\n</tr>\n<tr>\n<td>data.provider_response.phone_number1</td>\n<td>Phone number of customer</td>\n</tr>\n<tr>\n<td>data.provider_response.phone_number2</td>\n<td>Phone number of customer</td>\n</tr>\n<tr>\n<td>data.provider_response.registration_date</td>\n<td>Date of bvn enrollment</td>\n</tr>\n<tr>\n<td>data.provider_response.email</td>\n<td>Email of customer</td>\n</tr>\n<tr>\n<td>data.provider_response.gender</td>\n<td>Gender of customer</td>\n</tr>\n<tr>\n<td>data.provider_response.level_of_account</td>\n<td>Level of customer account</td>\n</tr>\n<tr>\n<td>data.provider_response.lga_of_origin</td>\n<td>Local government of origin of customer</td>\n</tr>\n<tr>\n<td>data.provider_response.lga_of_residence</td>\n<td>Local government of residence of customer</td>\n</tr>\n<tr>\n<td>data.provider_response.marital_status</td>\n<td>Marital status of customer</td>\n</tr>\n<tr>\n<td>data.provider_response.meta</td>\n<td>A custom object that can hold any extra information the provider deems necessary in key vs value pairs.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"list-of-providers\">List of providers</h4>\n<p>For a list of providers that have published and implemented this service, please see <a href=\"https://onepipe.io/explore/v2?service=open_account\">here</a></p>\n<h4 id=\"common-questions\">Common questions</h4>\n<p><strong>Question</strong>: Why do I need to specify <code>transaction.amount</code> when it's irrelevant here?</p>\n<p><strong>Answer</strong>: OnePipe APIs all try to follow a common standard such that all services require the same exact payload. It's the values within the payload that will then vary, service by service. In this case, just set it to <code>0</code>.</p>\n<p><strong>Question</strong>: What is the <code>meta</code> object in the request and response?</p>\n<p><strong>Answer</strong>: Some providers at times require or return special fields not covered by the standard. If you know what some of these fields and their values are you can set them in the request <code>meta</code> object and read them from the response <code>meta</code> object. Typically though, <code>null</code> is perfectly fine in most cases.</p>\n","urlObject":{"path":["v2","transact"],"host":["https://api.onepipe.io"],"query":[],"variable":[]}},"response":[{"id":"0c57f216-a80f-4770-a401-4c39966c1a26","name":"Lookup BVN Mid - WaitingForOTP","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"lookup_bvn_mid\",\r\n  \"auth\": {\r\n    \"type\": \"bvn\", \r\n    \"secure\": \"X90WY3DRBQQehrv9FzvA4hlExLEj3eTW\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"inspect\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"{{customer_ref}}\",\r\n    \t\"firstname\": \"Uju\",\r\n        \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"{{customer_mobile_no}}\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"b_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n    \t\r\n    }\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sun, 05 Jul 2020 23:13:01 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"518"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"WaitingForOTP\",\n    \"message\": \"Please enter the OTP sent to 2348022****08, use 12345678 as your OTP\",\n    \"data\": {\n        \"provider_response_code\": \"900T0\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": null,\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"},{"id":"254fff32-58d6-4b63-8f9e-01271b322fc0","name":"Lookup BVN Mid - Successful","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"lookup_bvn_mid\",\r\n  \"auth\": {\r\n    \"type\": \"bvn\", \r\n    \"secure\": \"X90WY3DRBQQehrv9FzvA4hlExLEj3eTW\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"inspect\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"{{customer_ref}}\",\r\n    \t\"firstname\": \"Uju\",\r\n        \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"{{customer_mobile_no}}\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"b_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n    \t\r\n    }\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sun, 05 Jul 2020 23:13:56 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"909"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Successful\",\n    \"message\": \"Transaction processed successfully\",\n    \"data\": {\n        \"provider_response_code\": \"00\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"reference\": \"61805692404\",\n            \"bvn\": \"12345678\",\n            \"first_name\": \"Uju\",\n            \"middle_name\": \"\",\n            \"last_name\": \"Usmanu\",\n            \"dob\": \"1990-12-22\",\n            \"phone_number1\": \"07037608648\",\n            \"phone_number2\": \"\",\n            \"registration_date\": \"1990-12-22\",\n            \"email\": \"john.doe@gmail.com\",\n            \"gender\": \"Male\",\n            \"level_of_account\": \"Level 2 - Medium Level Accounts\",\n            \"lga_of_origin\": \"Owerri West\",\n            \"lga_of_residence\": \"Ikeja\",\n            \"marital_status\": \"Single\",\n            \"meta\": {\n                \"first_item\": \"item1\",\n                \"second_item\": \"item2\"\n            }\n        },\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"}],"_postman_id":"c2728ea4-3d7b-4b9a-83c8-d9bb874d0ac4"},{"name":"Lookup BVN Max","id":"2e302f5b-5270-4a70-ac0d-5a6be0b27470","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"lookup_bvn_max\",\r\n  \"auth\": {\r\n    \"type\": \"bvn\", \r\n    \"secure\": \"X90WY3DRBQQehrv9FzvA4hlExLEj3eTW\",\r\n    \"auth_provider\": \"DemoProvider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"{{customer_ref}}\",\r\n    \t\"firstname\": \"Uju\",\r\n      \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"{{customer_mobile_no}}\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"b_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n        \"include_image\": true\r\n    }\r\n  }\r\n}"},"url":"https://api.onepipe.io/v2/transact","description":"<h1 id=\"service-description\">Service description</h1>\n<p>With this service, the calling apps can do KYC with the customer's bvn. This service will return maximum KYC information. Apps will collect the account number they will like to obtain information on and forward to OnePipe. If authorisation details are required by a provider, apps will have to provide this. OnePipe will in turn forward to the provider’s dedicated implementation.</p>\n<h4 id=\"sequence-of-calls\">Sequence of calls</h4>\n<p>Please be sure to have gone through...</p>\n<ul>\n<li><a href=\"#the-headers\">The headers</a>  </li>\n<li><a href=\"#the-main-operations-you-can-perform\">Main API operations</a></li>\n<li><a href=\"#what-requests-would-look-like\">Typical OnePipe requests</a>  </li>\n<li><a href=\"#what-responses-would-look-like\">Typical OnePipe responses</a></li>\n<li><a href=\"#encryption-of-secure-element\">Encryption of the <code>secure</code> element</a></li>\n</ul>\n<p>Here's the call sequence specific to this service...</p>\n<ol>\n<li>Call <code>/transact</code> with the right auth details - <code>bvn</code>. See <a href=\"#encryption-of-secure-element\">here</a></li>\n<li>Provider responds with <code>WaitingForOTP</code> or <code>PendingValidation</code> if they require OTP verification</li>\n<li>Call <code>/transact/validate</code> to supply OTP if needed</li>\n<li>Provider responds with any of the completion codes <code>Successful</code> or <code>Failed</code>. </li>\n<li>To query the status of a transaction, call <code>/transact/query</code></li>\n</ol>\n<h4 id=\"interpreting-the-response\">Interpreting the response</h4>\n<ul>\n<li>Read the response</li>\n<li>Read the <code>provider_response</code> Object</li>\n</ul>\n<h4 id=\"possible-status-values\">Possible status values</h4>\n<ul>\n<li><strong>Successful</strong>: Success</li>\n<li><strong>WaitingForOTP</strong>: Display the <code>status.message</code> and collect the input from the user, then follow with a <code>/transact/validate</code></li>\n<li><strong>PendingValidation</strong>: Display the <code>status.message</code> and collect the input from the user, then follow with a <code>/transact/validate</code></li>\n<li><strong>[Anything else]</strong>: Error. Read the errors object(s)</li>\n</ul>\n<h4 id=\"request-body-elements\">Request body elements</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Requirement</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>request_ref</td>\n<td>string</td>\n<td>compulsory</td>\n<td>A unique reference for this API call</td>\n</tr>\n<tr>\n<td>request_type</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Set to <code>lookup_bvn_max</code></td>\n</tr>\n<tr>\n<td>auth.type</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Set to be <code>bvn</code>.</td>\n</tr>\n<tr>\n<td>auth.secure</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Set to value of encrypted bvn</td>\n</tr>\n<tr>\n<td>auth.auth_provider</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The Provider against which you want to open the account. e.g. <code>SunTrust</code></td>\n</tr>\n<tr>\n<td>auth.route_mode</td>\n<td>string</td>\n<td>optional</td>\n<td>Set to <code>null</code></td>\n</tr>\n<tr>\n<td>transaction.mock_mode</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Set to <code>inspect</code> (for test mode) or <code>live</code> (for live mode)</td>\n</tr>\n<tr>\n<td>transaction.transaction_ref</td>\n<td>string</td>\n<td>compulsory</td>\n<td>A unique reference for the transaction</td>\n</tr>\n<tr>\n<td>transaction.transaction.desc</td>\n<td>string</td>\n<td>compulsory</td>\n<td>A short description or narration</td>\n</tr>\n<tr>\n<td>transaction.transaction_ref_parent</td>\n<td>string</td>\n<td>optional</td>\n<td>Can be set to <code>null</code>. But if you are repeating a prior transaction, you can set it to the <code>transaction_ref</code> of the former transaction to create a link for easy tracking.</td>\n</tr>\n<tr>\n<td>amount</td>\n<td>int</td>\n<td>compulsory</td>\n<td>Set to <code>0</code></td>\n</tr>\n<tr>\n<td>transaction.customer.customer_ref</td>\n<td>string</td>\n<td>compulsory</td>\n<td>A unique reference to identify this customer</td>\n</tr>\n<tr>\n<td>transaction.customer.firstname</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The firstname of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.surname</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The surname of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.email</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The email of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.mobile_no</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The mobile number of the customer</td>\n</tr>\n<tr>\n<td>transaction.details.include_image</td>\n<td>boolean</td>\n<td>optional</td>\n<td>Include base64 image string or not, in response body</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response-body-elements\">Response body elements</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Element</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>status</td>\n<td>Standard response. <strong>Successful</strong> or anything else. If the response is <code>WaitingForOTP</code> or <code>PendingValidation</code>, then display the <code>response.message</code>, collect the input from the user and follow with a <code>/transact/validate</code> API call. See <a href=\"https://v2.docs.onepipe.io/?version=latest#b294a37e-e131-4fd3-931b-7868bec36e34\">here</a>.</td>\n</tr>\n<tr>\n<td>message</td>\n<td>A message or description of the response</td>\n</tr>\n<tr>\n<td>data.provider</td>\n<td>The provider that was used to process the request</td>\n</tr>\n<tr>\n<td>data.provider_response_code</td>\n<td>Response code as determined by the underlying provider</td>\n</tr>\n<tr>\n<td>data.provider_response.reference</td>\n<td>A reference from the provider for reconciliation purposes</td>\n</tr>\n<tr>\n<td>data.provider_response.bvn</td>\n<td>The bank verification number that was looked up</td>\n</tr>\n<tr>\n<td>data.provider_response.first_name</td>\n<td>First name of customer</td>\n</tr>\n<tr>\n<td>data.provider_response.middle_name</td>\n<td>Middle name of customer</td>\n</tr>\n<tr>\n<td>data.provider_response.last_name</td>\n<td>Last name of customer</td>\n</tr>\n<tr>\n<td>data.provider_response.dob</td>\n<td>Date of birth of customer</td>\n</tr>\n<tr>\n<td>data.provider_response.phone_number1</td>\n<td>Phone number of customer</td>\n</tr>\n<tr>\n<td>data.provider_response.phone_number2</td>\n<td>Phone number of customer</td>\n</tr>\n<tr>\n<td>data.provider_response.registration_date</td>\n<td>Date of bvn enrollment</td>\n</tr>\n<tr>\n<td>data.provider_response.enrollment_bank</td>\n<td>Bank of bvn enrollment</td>\n</tr>\n<tr>\n<td>data.provider_response.enrollment_branch</td>\n<td>Branch of bvn enrollment</td>\n</tr>\n<tr>\n<td>data.provider_response.email</td>\n<td>Email of customer</td>\n</tr>\n<tr>\n<td>data.provider_response.gender</td>\n<td>Gender of customer</td>\n</tr>\n<tr>\n<td>data.provider_response.level_of_account</td>\n<td>Level of customer account</td>\n</tr>\n<tr>\n<td>data.provider_response.lga_of_origin</td>\n<td>Local government of origin of customer</td>\n</tr>\n<tr>\n<td>data.provider_response.lga_of_residence</td>\n<td>Local government of residence of customer</td>\n</tr>\n<tr>\n<td>data.provider_response.marital_status</td>\n<td>Marital status of customer</td>\n</tr>\n<tr>\n<td>data.provider_response.nin</td>\n<td>National Identification Number of customer</td>\n</tr>\n<tr>\n<td>data.provider_response.name_on_card</td>\n<td>Name on card of customer</td>\n</tr>\n<tr>\n<td>data.provider_response.nationality</td>\n<td>Nationality of customer</td>\n</tr>\n<tr>\n<td>data.provider_response.residential_address</td>\n<td>Residential address of customer</td>\n</tr>\n<tr>\n<td>data.provider_response.state_of_origin</td>\n<td>State of origin of customer</td>\n</tr>\n<tr>\n<td>data.provider_response.state_of_residence</td>\n<td>State of residence of customer</td>\n</tr>\n<tr>\n<td>data.provider_response.title</td>\n<td>Title of customer</td>\n</tr>\n<tr>\n<td>data.provider_response.watchlisted</td>\n<td>Customer watchlist status</td>\n</tr>\n<tr>\n<td>data.provider_response.base64_image</td>\n<td>Base64 image string of customer</td>\n</tr>\n<tr>\n<td>data.provider_response.meta</td>\n<td>A custom object that can hold any extra information the provider deems necessary in key vs value pairs.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"list-of-providers\">List of providers</h4>\n<p>For a list of providers that have published and implemented this service, please see <a href=\"https://onepipe.io/explore/v2?service=open_account\">here</a></p>\n<h4 id=\"common-questions\">Common questions</h4>\n<p><strong>Question</strong>: Why do I need to specify <code>transaction.amount</code> when it's irrelevant here?</p>\n<p><strong>Answer</strong>: OnePipe APIs all try to follow a common standard such that all services require the same exact payload. It's the values within the payload that will then vary, service by service. In this case, just set it to <code>0</code>.</p>\n<p><strong>Question</strong>: What is the <code>meta</code> object in the request and response?</p>\n<p><strong>Answer</strong>: Some providers at times require or return special fields not covered by the standard. If you know what some of these fields and their values are you can set them in the request <code>meta</code> object and read them from the response <code>meta</code> object. Typically though, <code>null</code> is perfectly fine in most cases.</p>\n","urlObject":{"path":["v2","transact"],"host":["https://api.onepipe.io"],"query":[],"variable":[]}},"response":[{"id":"27cb2a01-dc42-43e2-a014-6601c3d25a12","name":"Lookup BVN Max - WaitingForOTP","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"lookup_bvn_max\",\r\n  \"auth\": {\r\n    \"type\": \"bvn\", \r\n    \"secure\": \"{{auth.secure.bvn}}\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"inspect\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"{{customer_ref}}\",\r\n    \t\"firstname\": \"Uju\",\r\n      \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"{{customer_mobile_no}}\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"b_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n        \"include_image\": true,\r\n        \"otp_override\":false\r\n    }\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 15 May 2020 14:50:09 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"nginx/1.17.8"},{"key":"Vary","value":"Accept-Encoding"},{"key":"Content-Encoding","value":"gzip"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"WaitingForOTP\",\n    \"message\": \"Please enter the OTP sent to 2348022****08\",\n    \"data\": {\n        \"provider_response_code\": \"900T0\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": null,\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"},{"id":"ab138274-135a-4385-a600-af2e68babbbe","name":"Lookup BVN Max - Successful","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"lookup_bvn_max\",\r\n  \"auth\": {\r\n    \"type\": \"bvn\", \r\n    \"secure\": \"X90WY3DRBQQehrv9FzvA4hlExLEj3eTW\",\r\n    \"auth_provider\": \"DemoProvider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"{{customer_ref}}\",\r\n    \t\"firstname\": \"Uju\",\r\n      \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"{{customer_mobile_no}}\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"b_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n        \"include_image\": true\r\n    }\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sun, 05 Jul 2020 23:15:30 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"1224"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Successful\",\n    \"message\": \"Transaction processed successfully\",\n    \"data\": {\n        \"provider_response_code\": \"00\",\n        \"provider\": \"DemoProvider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"reference\": \"7787178229617\",\n            \"bvn\": \"12345678\",\n            \"first_name\": \"Uju\",\n            \"middle_name\": \"\",\n            \"last_name\": \"Usmanu\",\n            \"dob\": \"1990-12-22\",\n            \"phone_number1\": \"07037608648\",\n            \"phone_number2\": \"\",\n            \"registration_date\": \"1990-12-22\",\n            \"enrollment_bank\": \"011\",\n            \"enrollment_branch\": \"MATORI\",\n            \"email\": \"john.doe@gmail.com\",\n            \"gender\": \"Male\",\n            \"level_of_account\": \"Level 2 - Medium Level Accounts\",\n            \"lga_of_origin\": \"Owerri West\",\n            \"lga_of_residence\": \"Ikeja\",\n            \"marital_status\": \"Single\",\n            \"nin\": \"77766492344\",\n            \"name_on_card\": \"John Jane Doe\",\n            \"nationality\": \"Nigeria\",\n            \"residential_address\": \"34, Banjo Street, Ikeja, Lagos\",\n            \"state_of_origin\": \"Imo State\",\n            \"state_of_residence\": \"Lagos State\",\n            \"title\": \"Mr\",\n            \"watchlisted\": \"NO\",\n            \"base64_image\": \"{{Base64Image}}\",\n            \"meta\": {\n                \"first_item\": \"item1\",\n                \"second_item\": \"item2\"\n            }\n        },\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"}],"_postman_id":"2e302f5b-5270-4a70-ac0d-5a6be0b27470"},{"name":"Lookup NIN Min","id":"50da1d40-074d-450e-b693-760146f97d3d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"lookup_nin_min\",\r\n  \"auth\": {\r\n    \"type\": \"nin\", \r\n    \"secure\": \"{{auth.nin}}\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n    \t\"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"b_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n    \t\"dob\": \"1990-09-12\",\r\n        \"middle_name\": \"Alani\"\r\n    }\r\n  }\r\n}"},"url":"https://api.onepipe.io/v2/transact","urlObject":{"path":["v2","transact"],"host":["https://api.onepipe.io"],"query":[],"variable":[]}},"response":[{"id":"ddfb91a4-f85a-4c0b-b4d2-3422c1fba5a2","name":"Lookup NIN Min - Successful","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"lookup_nin_min\",\r\n  \"auth\": {\r\n    \"type\": \"bvn\", \r\n    \"secure\": \"X90WY3DRBQQehrv9FzvA4hlExLEj3eTW\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n    \t\"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"b_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n    \t\"dob\": \"1990-09-12\",\r\n        \"middle_name\": \"Alani\"\r\n    }\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sun, 05 Jul 2020 23:26:07 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"623"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Successful\",\n    \"message\": \"Transaction processed successfully\",\n    \"data\": {\n        \"provider_response_code\": \"00\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"nin\": \"22333055555\",\n            \"first_name\": true,\n            \"last_name\": true,\n            \"middle_name\": true,\n            \"dob\": true,\n            \"reference\": \"3408516927772\",\n            \"meta\": {\n                \"field_key\": \"field_value\"\n            }\n        },\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"},{"id":"e05befd2-f4f7-43d7-a5bb-b59e7829cade","name":"Lookup NIN Min - WaitingForOTP","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"lookup_nin_min\",\r\n  \"auth\": {\r\n    \"type\": \"nin\", \r\n    \"secure\": \"{{auth.nin}}\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n    \t\"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"b_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n    \t\"dob\": \"1990-09-12\",\r\n        \"middle_name\": \"Alani\"\r\n    }\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sun, 05 Jul 2020 23:25:02 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"518"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"WaitingForOTP\",\n    \"message\": \"Please enter the OTP sent to 2348022****08, use 12345678 as your OTP\",\n    \"data\": {\n        \"provider_response_code\": \"900T0\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": null,\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"}],"_postman_id":"50da1d40-074d-450e-b693-760146f97d3d"},{"name":"Lookup NIN Mid","id":"c9ee0044-d6b4-4390-9b5e-118311ff40dd","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"lookup_nin_mid\",\r\n  \"auth\": {\r\n    \"type\": \"nin\", \r\n    \"secure\": \"{{auth.nin}}\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n    \t\"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"b_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n    }\r\n  }\r\n}"},"url":"https://api.onepipe.io/v2/transact","urlObject":{"path":["v2","transact"],"host":["https://api.onepipe.io"],"query":[],"variable":[]}},"response":[{"id":"3daa6ba8-0119-4e7b-a18f-9847718379cb","name":"Lookup NIN Mid - Successful","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"lookup_nin_mid\",\r\n  \"auth\": {\r\n    \"type\": \"nin\", \r\n    \"secure\": \"{{auth.nin}}\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n    \t\"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"b_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n    }\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sun, 05 Jul 2020 23:30:14 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"683"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Successful\",\n    \"message\": \"Transaction processed successfully\",\n    \"data\": {\n        \"provider_response_code\": \"00\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"nin\": \"22333055555\",\n\t\t\t\"email\": \"doe@gmail.com\",\n\t\t\t\"photo\": \"\",\n            \"first_name\": \"John\",\n\t\t\t\"title\": \"miss\",\n\t\t\t\"gender\": \"f\",\n\t\t\t\"heigth\": \"172\",\n\t\t\t\"next_of_kin_lga\": \"****\",\n\t\t\t\"next_of_kin_state\": \"****\",\n\t\t\t\"birth_lga\": \"****\",\n\t\t\t\"next_of_kin_town\": \"****\",\n\t\t\t\"next_of_kin_surname\": \"****\",\n\t\t\t\"next_of_kin_firstname\": \"****\",\n\t\t\t\"next_of_kin_address\": \"****\",\n\t\t\t\"next_of_kin_middlename\": \"****\",\n\t\t\t\"next_of_kin_postal_code\": \"****\",\n\t\t\t\"native_langauage\": \"****\",\n\t\t\t\"official_langauage\": \"****\",\n            \"middle_name\": \"Jane\",\n            \"surname\": \"Doe\",\n\t\t\t\"religion\": \"-\",\n\t\t\t\"state\": \"-\",\n\t\t\t\"signature\": \"-\",\n\t\t\t\"birth_state\": \"-\",\n            \"dob\": \"1990-12-22\",\n            \"phone_number\": \"-\",\n\t\t\t\"profession\": \"-\",\n\t\t\t\"spoken_language\": \"-\",\n\t\t\t\"birth_country\": \"-\",\n\t\t\t\"marital_status\": \"-\",\n\t\t\t\"lga_of_residence\": \"-\",\n\t\t\t\"state_of_residence\": \"-\",\n\t\t\t\"town_of_residence\": \"-\",\n            \"phone_number2\": \"\",\n\t\t\t\"emplyment_status\": \"-\",\n\t\t\t\"residence_status\": \"-\",\n\t\t\t\"self_origin_lga\": \"-\",\n\t\t\t\"educational_level\": \"-\",\n\t\t\t\"place_of_origin\": \"-\",\n\t\t\t\"state_of_origin\": \"-\",\n\t\t\t\"residence_address\": \"-\",\n            \"reference\": \"000022200225154318222333334432\",\n            \"meta\":{\n              \"field_key\":\"field_value\"\n            }\n        },\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"},{"id":"5e4f20d7-712b-4437-82fe-094d00f46193","name":"Lookup NIN Mid - WaitingForOTP","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"lookup_nin_mid\",\r\n  \"auth\": {\r\n    \"type\": \"nin\", \r\n    \"secure\": \"{{auth.nin}}\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n    \t\"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"b_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n    }\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sun, 05 Jul 2020 23:29:06 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"518"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"WaitingForOTP\",\n    \"message\": \"Please enter the OTP sent to 2348022****08, use 12345678 as your OTP\",\n    \"data\": {\n        \"provider_response_code\": \"900T0\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": null,\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"}],"_postman_id":"c9ee0044-d6b4-4390-9b5e-118311ff40dd"}],"id":"071df0f7-aa08-4c4d-b567-286e74603f69","description":"<p>A set of services with which you can operate and manage accounts. It covers capabilities like opening an account, getting the accounts linked to a mobile number, blocking an account, etc.</p>\n","event":[{"listen":"prerequest","script":{"id":"d30f2c86-bcd9-4d04-b113-68fff895e207","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"40ec35b7-0fc1-47ee-8e9d-2fd8b100580c","type":"text/javascript","exec":[""]}}],"_postman_id":"071df0f7-aa08-4c4d-b567-286e74603f69"},{"name":"Payments initiation","item":[{"name":"OnePipe.js","item":[{"name":"Sample Page","id":"fa441dbf-b814-40c7-b633-4a2c1183b0c9","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"","description":"<p>Here's a sample. </p>\n<p>You can use this as boilerplate for your own implementation.</p>\n<p>You can see it in action <a href=\"https://demo.onepipe.io/v2_product\">here</a>.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-html\">\n&lt;!DOCTYPE html&gt;\n&lt;html&gt;\n&lt;head&gt;\n    &lt;title&gt;Sample OnePipe Payment&lt;/title&gt;\n    &lt;meta charset=\"utf-8\" /&gt;\n    &lt;script src=\"https://js.onepipe.io/v2\"&gt;&lt;/script&gt;\n&lt;/head&gt;\n&lt;body&gt;\n    &lt;h1&gt;This is a demo payment&lt;/h1&gt;\n    &lt;p&gt;Click the button to pay N10&lt;/p&gt;\n    &lt;button type=\"button\" onclick=\"OnePipePay()\"&gt;Click me!&lt;/button&gt;\n    &lt;script type=\"text/javascript\"&gt;\n        function generateUniqueRef() {\n            var min = 10000000000000;\n            var max = 99999999999999;\n            var transRef = (Math.random() * (max - min) + min);\n            transRef = Math.round(transRef);\n            return transRef.toString(); //var reqRef = transRef + '01';\n        }\n\n        function OnePipePay() {\n            var transRef = generateUniqueRef();\n            var handler = OnePipePopup.setup({\n                requestData: {\n                    request_ref: transRef,//generate a unique number\n                    request_type: 'collect',\n                    api_key: '7d1IYiOKrm6BvEeMaTzc_bbbb45bf628b40919176ab26f74e5717',//API key from your console\n                    auth: null,\n                    transaction: {\n                        amount: 1000,\n                        currency: \"NGN\",\n                        transaction_ref: transRef,//generate a unique number\n                        transaction_desc: 'Demo payment',\n                        customer: {\n                            customer_ref: '12345678800',//how you identify the customer\n                            firstname: 'Ope',\n                            surname: 'Adeoye',\n                            email: 'opeadeoye@gmail.com',\n                            mobile_no: '2348022454314'\n                        },\n                        details:null,\n                        /*options: {\n                            default_view : {\n                                option : 'voucher',\n                                provider: 'mtn',\n                            },\n                        }*/\n                    },\n          \n                },\n                callback: function (response) {\n                    \n          //let's log the response\n                    console.log(response);\n                    \n                    // Contents of data is based on what OnePipe returns\n                    let message = (response.message || response.data.message),\n                        reference = response.reference,\n                        status = response.status,\n                        parentTransRef = response.parentTransRef,\n                        transRef = response.transRef,\n                        paymentmethod = response.paymentmethod,\n                        optionsTransRef = response.optionsTransRef,\n                        data = response.data,\n                        provider_response_code = data.provider_response_code,\n                        provider = data.provider,\n                        charge_status = data.charge_status;\n\n                        if(data.error){\n                            error = data.error,\n                            error_code = error.code,\n                            error_message = error.message;\n                        }\n\n\n                    //lets just see what's passed\n                    var feedback = '';\n          feedback += \"payment method: \" + paymentmethod + \"\\n\";\n                    feedback += \"message: \" + message + \"\\n\";\n                    feedback += \"reference: \" + reference + \"\\n\";\n                    feedback += \"status: \" + status + \"\\n\";\n                    feedback += \"parentTransRef: \" + parentTransRef + \"\\n\";\n                    feedback += \"transRef: \" + transRef + \"\\n\";\n\n                    console.log(feedback);\n                    alert(feedback);\n             },\n                onClose: function () {\n                    alert('You cancelled the payment process');\n                }\n            });\n\n            handler.execute();\n\n        }\n    &lt;/script&gt;\n&lt;/body&gt;\n&lt;/html&gt;\n</code></pre>\n<h3 id=\"extended-options-features\">Extended Options Features</h3>\n<p>These are additional configurations that gives you the liberty to customize your customer's payment experience in a jiffy. These features are added inside the <code>options</code> object of the JS payload.<br /></p>\n<h4 id=\"setting-default-payment-method\">Setting default payment method</h4>\n<p>This feature gives you the liberty to set the payment option method and provider that should be displayed to your customers whenever the payment popup is shown on your website. See sample integration configuration below.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>default_view : {\n    option : 'bank.transfer', // auth_type\n    provider: 'CheddaAccount', // Provider\n}\n</code></pre><p>The above integration instructs your customer to enter their account number and then process the payment using SunTrust provider. <br /></p>\n<h4 id=\"auto-close-payment-popup\">Auto Close Payment Popup</h4>\n<p>You can automatically close the payment popup after <em>X</em> number of seconds specified in the configuration payload. See sample integration configuration below.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>close_popup: {\n    timeout : 5, // in seconds\n    status : {\n        Successful : [  // Close the popup after a successful bank account, or custom auth_type payment\n            'bank.account', 'custom' // auth_type\n        ],\n        Failed : [],\n        PendingValidation : [ // Close the popup after a PendingValidation on bank.transfer auth_type payment\n            'bank.transfer' // auth_type\n        ],\n    }\n}\n</code></pre><p>In the above sample configuration, whenever a transaction is processed using a bank account or custom payment option (regardless of the provider) and ends as <code>Successful</code>, the payment popup will display the successful response or message for 5 seconds. Then it automatically closes and returns to the merchant site. The same applies to <code>PendingValidation</code></p>\n","urlObject":{"query":[],"variable":[]}},"response":[{"id":"d328e2c0-ce55-42ff-9770-cc3141e12ff3","name":"Sample Page","originalRequest":{"method":"GET","header":[],"url":""},"_postman_previewlanguage":"html","header":null,"cookie":[],"responseTime":null,"body":"<!DOCTYPE html>\n<html>\n\n<head>\n\t<title></title>\n\t<meta charset=\"utf-8\" />\n\t<script src=\"https://js.onepipe.io/v2\"></script>\n</head>\n\n<body>\n\t<h1>This is a demo payment</h1>\n\t<p>Click the button to pay N10</p>\n\t<button type=\"button\" onclick=\"OnePipePay()\">Click me!</button>\n\t<script type=\"text/javascript\">\n\t\tfunction generateUniqueRef() {\n            var min = 10000000000000;\n            var max = 99999999999999;\n            var transRef = (Math.random() * (max - min) + min);\n            transRef = Math.round(transRef);\n            return transRef.toString(); //var reqRef = transRef + '01';\n        }\n        function OnePipePay() {\n            var transRef = generateUniqueRef();\n            var handler = OnePipePopup.setup({\n                requestData: {\n                    request_ref: transRef,//generate a unique number\n                    request_type: 'collect',\n                    api_key: '', // Your API Key\n                    auth: null,\n                    transaction: {\n                        amount: 1000,\n                        currency: \"NGN\",\n                        transaction_ref: '',//generate a unique number\n                        transaction_desc: '',\n                        customer: {\n                            customer_ref: '',//how you identify the customer\n                            firstname: '', // Customer firstname\n                            surname: '', // Customer surname\n                            email: '', // Customer email\n                            mobile_no: '' // Customer mobile no\n                        },\n                        details:null,\n\t\t\t\t\t\t/*options: {\n                            default_view : {\n                                option : 'voucher',\n                                provider: 'mtn',\n                            },\n                        }*/\n                    },\n                },\n                callback: function (response) {\n                    \n\t\t\t\t\t//let's log the response\n                    console.log(response);\n                    \n                    // Contents of data is based on what OnePipe returns\n                    let message = (response.message || response.data.message),\n                        reference = response.reference,\n                        status = response.status,\n                        parentTransRef = response.parentTransRef,\n                        transRef = response.transRef,\n                        paymentmethod = response.paymentmethod,\n                        optionsTransRef = response.optionsTransRef,\n                        data = response.data,\n                        provider_response_code = data.provider_response_code,\n                        provider = data.provider,\n                        charge_status = data.charge_status;\n\n                        if(data.error){\n                            error = data.error,\n                            error_code = error.code,\n                            error_message = error.message;\n                        }\n\n\n                    //lets just see what's passed\n                    var feedback = '';\n\t\t\t\t\tfeedback += \"payment method: \" + paymentmethod + \"\\n\";\n                    feedback += \"message: \" + message + \"\\n\";\n                    feedback += \"reference: \" + reference + \"\\n\";\n                    feedback += \"status: \" + status + \"\\n\";\n                    feedback += \"parentTransRef: \" + parentTransRef + \"\\n\";\n                    feedback += \"transRef: \" + transRef + \"\\n\";\n\n                    console.log(feedback);\n                    alert(feedback);\n             },\n                onClose: function () {\n                    alert('You cancelled the payment process');\n                }\n            });\n\n            handler.execute();\n\n        }\n\t</script>\n</body>\n\n</html>"}],"_postman_id":"fa441dbf-b814-40c7-b633-4a2c1183b0c9"}],"id":"bac9f39d-888e-450a-a61b-ac978ea8d0bd","description":"<p>If you find the REST APIs too complex, this mechanism is the fastest route to accepting payments on your website via OnePipe.</p>\n<p>See it in action <a href=\"https://onepipe.io/boilerplate/fidelity/\">here</a></p>\n<h4 id=\"steps-involved\">Steps involved</h4>\n<ul>\n<li>Include <code>&lt;script src=\"https://js.onepipe.io/v2\"&gt;&lt;/script&gt;</code> in your page.</li>\n<li>Write a javascript function to process the payment. Let's call it <code>OnePipePay()</code>. The contents of this function will look like the below:</li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>function OnePipePay(){\n    var handler = OnePipePopup.setup({\n        requestData : {\n          request_ref: {{something unique &amp; numeric}},\n          request_type : 'collect',\n          api_key: '{{your API key}}',\n          auth: null,\n          transaction: {\n              amount: {{amount in kobo}},\n              transaction_ref: {{something unique &amp; numeric}},\n              transaction_desc: {{A description}},\n              customer:{\n                customer_ref: {{a customer ID if you have one}},\n                firstname: {{first name}},\n                surname: {{surname}},\n                email: {{email address}},\n                mobile_no: {{phone number in 234 format}} \n              }\n          },\n        },\n        callback: function(response){\n            //response.reference, response.status, response.message, response.paymentmethod\n            console.log(response);\n            alert('Transaction status: ' + response.status + '. Payment method: ' + response.paymentmethod + '. Ref: ' + response.reference + '. Message: ' + response.message);\n            },\n        onClose: function(){\n          alert('You cancelled the payment process');\n          }\n        });\n\n    handler.execute();\n  }\n</code></pre><ul>\n<li>For the applicable values of all the elements in <code>requestData</code>, please look at the <a href=\"#cbdd318d-e1d5-4a3f-940d-e3a5d6b29b05\">advanced endpoint</a></li>\n<li>Attach the function to your checkout button or form:</li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code> $(\"#frmCheckout\").on('submit', function(e){\n      e.preventDefault();\n      OnePipePay();\n  });\n</code></pre><ul>\n<li>This would trigger the payment dialog. </li>\n<li>Implement the <code>callback</code> function properly to process your order. The placeholder in the code block above (and extracted below) can serve as boilerplate:</li>\n</ul>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>    callback: function(response){\n        console.log(response);//do something more meaningful\n        alert('Transaction status: ' + response.status + '. Payment method: ' + response.paymentmethod + '. Ref: ' + response.reference + '. Message: ' + response.message);\n    }\n</code></pre><ul>\n<li>On completion of the payment flow, your callback function will be triggered.</li>\n<li>Within your callback, read the value of <code>response.status</code> then make a call to the <a href=\"#49989819-2306-45a4-8837-b47248697aa0\">query endpoint</a> to validate the true status of the transaction</li>\n</ul>\n<h4 id=\"response-elements-and-their-meaning\">Response elements and their meaning</h4>\n<p>Your callback function will be called with a response object that has the following properties:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Element</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>reference</td>\n<td>A reference number for this transaction. Should be used in the <code>query</code> endpoint for payment confirmation.</td>\n</tr>\n<tr>\n<td>message</td>\n<td>A description message for the response. May at times be a message to display to the user.</td>\n</tr>\n<tr>\n<td>status</td>\n<td>The status of the payment. Supported values are: <br /><em><strong>Successful</strong></em>: Query to confirm still. <br /><em><strong>Failed</strong></em>: Failed, query to retrieve the actual response code. <br /><em><strong>PendingFulfilment</strong></em>: Typically if the customer chose a payment method that can't be completed in real time. e.g. USSD, Cash, ATM. The way this works, your system will receive a transaction_notification when the payer finally completes the transaction. See <a href=\"https://v2.docs.onepipe.io/#3cb5bb33-05a1-4f6b-8fd7-82f4777d7a6d\">here</a>.</td>\n</tr>\n<tr>\n<td>paymentmethod</td>\n<td>The payment screen supports card, bank account, custom and bank transfer at the moment. Possible values are: <br /><em><strong>Card</strong></em>: Use the <code>status</code> field to know what to do next. <br /><em><strong>CUSTOM</strong></em>: Makes use of a third party payment user interface such as Paystack, Interswitch. <br /><em><strong>BANK.TRANSFER</strong></em>: The customer has transferred to the provided bank account. Use the Query endpoint to confirm still.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"worthy-of-note\">Worthy of note:</h4>\n<p>This component will be extended in future to suppport/wrap <em><strong>ALL</strong></em> API calls in OnePipe. There's a possiblity of breaking changes (which would be guarded against), but the documentation would be updated.</p>\n","event":[{"listen":"prerequest","script":{"id":"ebaded27-3cb8-40dc-8faa-4bf63e90698d","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"983380fa-c769-4d98-8f05-a60cee1eeea9","type":"text/javascript","exec":[""]}}],"_postman_id":"bac9f39d-888e-450a-a61b-ac978ea8d0bd"},{"name":"WooComerce plugin","item":[],"id":"e238537e-a04d-4e4e-9ee1-5a9990361b02","description":"<h2 id=\"description\">Description</h2>\n<p>Several payment processors are an expression of the OnePipe open standard. If your payment gateway is based on the OnePipe open standard and you use WooComerce, then the OnePipe WooComerce plugin is the faster way to accept payments from your WooComerce installation.</p>\n<h2 id=\"download\">Download</h2>\n<p><a href=\"https://wordpress.org/plugins/onepipe-payment-gateway-for-woocommerce\">https://wordpress.org/plugins/onepipe-payment-gateway-for-woocommerce</a></p>\n<p><a href=\"https://cdn.onepipe.io/plugins/woocoomerce-OnePipe.zip\">https://cdn.onepipe.io/plugins/woocoomerce-OnePipe.zip</a> for manual installations</p>\n<h2 id=\"requirements\">Requirements</h2>\n<ul>\n<li>OnePipe Merchant account</li>\n<li>Online store in WordPress with WooCommerce plugin</li>\n</ul>\n<h2 id=\"installation\">Installation</h2>\n<ul>\n<li>Login to your WordPress Admin area</li>\n<li>Go to \"Plugins &gt; Add New\" from the left hand menu</li>\n<li>In the search box type <strong>OnePipe Payment Gateway for WooCommerce</strong></li>\n<li>From the search result you will see <strong>OnePipe Payment Gateway for WooCommerce</strong> click on <strong>Install Now</strong> to install the plugin</li>\n<li>A popup window will ask you to confirm your wish to install the Plugin.</li>\n<li>After installation, activate the plugin.</li>\n<li>Open the settings page for WooCommerce and click the \"Checkout\" tab.</li>\n<li>Click on the <strong>OnePipe</strong> link from the available Checkout Options</li>\n<li>Configure your <strong>OnePipe Payment Gateway</strong> settings. See below for details.</li>\n</ul>\n<h2 id=\"configure-the-plugin\">Configure the plugin</h2>\n<p>To configure the plugin, go to <strong>WooCommerce &gt; Settings</strong> from the left hand menu, then click <strong>Payments</strong> (or Checkout in older versions) from the top tab. You will see <strong>OnePipe</strong> as part of the available Payments Options. Click on it to configure the payment gateway.</p>\n<ul>\n<li><strong>Enable/Disable</strong> - check the box to enable OnePipe Payment Gateway.</li>\n<li><strong>Title</strong> - This controls the title which the user sees during checkout.</li>\n<li><strong>Description</strong> - This is the message box that will appear on the checkout page when they select OnePipe.</li>\n<li><strong>Environment</strong> - Specifies if this is for real transactions or testing. You can either select Test/Inspect (Sandbox) or Live (Production).</li>\n<li><strong>Client Secret</strong> - Enter your Client Secret here. Get your Client Secret from your Onepipe Merchant Account</li>\n<li><strong>API Key</strong> - Enter your API Key here. Get your API key from your OnePipe Merchant Account</li>\n<li>Click on <strong>Save Changes</strong> for the changes you made to be effected.</li>\n</ul>\n<h2 id=\"frequently-asked-questions\">Frequently Asked Questions</h2>\n<h3 id=\"what-do-i-need-to-use-the-plugin\">What Do I Need To Use The Plugin</h3>\n<ol>\n<li>You need to have WooCommerce plugin installed and activated on your WordPress site.</li>\n<li>You need to open a OnePipe merchant account on <a href=\"https://onepipe.io\">OnePipe</a></li>\n</ol>\n","event":[{"listen":"prerequest","script":{"id":"6c68a52e-c377-4a31-9c56-0c0ecae0ba42","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"41efba37-be80-45fb-9a12-1181011a8739","type":"text/javascript","exec":[""]}}],"_postman_id":"e238537e-a04d-4e4e-9ee1-5a9990361b02"},{"name":"Magento plugin","item":[],"id":"7093a3bb-2f4a-43e4-9893-ffc64120ac5a","description":"<h1 id=\"onepipe-store-plugin\">OnePipe Store Plugin</h1>\n<h2 id=\"download\">Download</h2>\n<p><a href=\"https://cdn.onepipe.io/plugins/OnePipe-Magento.zip\">https://cdn.onepipe.io/plugins/OnePipe-Magento.zip</a></p>\n<h2 id=\"description\">Description</h2>\n<p>With OnePipe, it is easy and smooth to use different payments methods in your online store</p>\n<ul>\n<li><strong>Tags:</strong> onepipe, payment module, payment gateway</li>\n</ul>\n<h2 id=\"installation\">Installation</h2>\n<p>1 - Unzip the module in <em>app/code/Storeplugins/OnePipe</em>\n    (create the folder <em>code/Storeplugins</em> if it doesn't exist)</p>\n<p>2 - On <em>ssh</em>, navigate to your magento installation path.\n     e.g: <em>cd public_html/sub_folder_where_magento_is</em></p>\n<p>3 - Modify permission: <em>chmod u+x bin/magento</em></p>\n<p>4 - Enable module: <em>bin/magento module:enable --clear-static-content Storeplugins_OnePipe</em></p>\n<p>5 - Upgrade Database: <em>bin/magento setup:upgrade</em></p>\n<p>6 - Re-run Compile Command: <em>bin/magento setup:di:compile</em></p>\n<p>7 - Flush caches: <em>bin/magento cache:flush</em>    </p>\n<p>8 - Then, activate the module at: <em>Admin panel &gt; Stores &gt; Settings &gt; Configuration &gt; Sales &gt; Payment Methods &gt; Other Payment Methods</em></p>\n<h2 id=\"deactivation\">Deactivation</h2>\n<p>In order to deactivate the module: <em>bin/magento module:disable --clear-static-content Storeplugins_OnePipe</em></p>\n<p>In case you want to disable Magento_Csp: <em>bin/magento module:disable Magento_Csp</em></p>\n<p><strong>Important: make sure that php path is correct in bin/magento file</strong></p>\n<h2 id=\"merchant-setup\">Merchant Setup</h2>\n<ul>\n<li>Create a merchant account on Onepipe.io and generate the API and Secret Key</li>\n</ul>\n","_postman_id":"7093a3bb-2f4a-43e4-9893-ffc64120ac5a"},{"name":"Pretashop plugin","item":[],"id":"c6154b29-4387-46f5-85ff-cbac431180b3","description":"<h1 id=\"onepipe-payment-gateway-for-prestashop\">OnePipe Payment Gateway for Prestashop</h1>\n<h2 id=\"download\">Download</h2>\n<p><a href=\"https://cdn.onepipe.io/plugins/PrestaShop-OnePipe.zip\">https://cdn.onepipe.io/plugins/PrestaShop-OnePipe.zip</a></p>\n<h2 id=\"description\">Description</h2>\n<p>With OnePipe, it is easy and smooth to accept different payments method in your online store</p>\n<ul>\n<li><strong>Tags:</strong> onepipe, payment module, payment gateway</li>\n<li><strong>Requires at least:</strong> 1.7</li>\n<li><strong>Tested up to:</strong> 1.7.6.7</li>\n</ul>\n<h2 id=\"installation\">Installation</h2>\n<ul>\n<li>Login to your Back Office.</li>\n<li>Go to: <em>Modules -&gt; Module Manager -&gt; Upload a module</em></li>\n<li>After uploading this zip to install, proceed to set-up at:\n<em>Modules -&gt; Module Manager -&gt; Other -&gt; OnePipe</em></li>\n</ul>\n<h2 id=\"deactivation\">Deactivation</h2>\n<p>In order to deactivate the plugin, delete from the existing modules</p>\n<h2 id=\"merchant-setup\">Merchant Setup</h2>\n<ul>\n<li>Create a merchant account on Onepipe.io and generate the API and Secret Key</li>\n</ul>\n","_postman_id":"c6154b29-4387-46f5-85ff-cbac431180b3"},{"name":"OpenCart plugin","item":[],"id":"84fe1bb0-38c9-4d81-8838-17850db3f439","description":"<h1 id=\"onepipe-payment-gateway-for-opencart\">OnePipe Payment Gateway for OpenCart</h1>\n<h2 id=\"download\">Download</h2>\n<p><a href=\"https://cdn.onepipe.io/plugins/OpenCart2.x-OnePipe.zip\">https://cdn.onepipe.io/plugins/OpenCart2.x-OnePipe.zip</a></p>\n<h2 id=\"description\">Description</h2>\n<p>With OnePipe, it is easy and smooth to use different payments methods in your online store</p>\n<ul>\n<li><strong>Tags:</strong> onepipe, payment module, payment gateway</li>\n</ul>\n<h2 id=\"installation\">Installation</h2>\n<p>From your admin back-end:</p>\n<ul>\n<li>Extract the content of <em>/upload</em>, into your opencart installation root. <ul>\n<li>It follows the file-structure.</li>\n</ul>\n</li>\n<li>Install the plugin; at: <em>Extensions -&gt; [Select: Payments] -&gt; OnePipe</em></li>\n<li>Enter the plugin settings; at: <em>Extensions -&gt; [Select: Payments] -&gt; OnePipe -&gt; [Edit]</em></li>\n<li>Remember to set Pending, Failed status and Completed status to the corresponding values when enabling the gateway on opencart admin end.</li>\n</ul>\n<h2 id=\"deactivation\">Deactivation</h2>\n<p>In order to deactivate the plugin, delete the extensions</p>\n<h2 id=\"merchant-setup\">Merchant Setup</h2>\n<ul>\n<li>Create a merchant account on Onepipe.io and generate the API and Secret Key</li>\n</ul>\n","_postman_id":"84fe1bb0-38c9-4d81-8838-17850db3f439"},{"name":"EDD payments plugin","item":[],"id":"49f3f394-53bc-4004-9448-8711affb78c5","description":"<h1 id=\"onepipe-payment-gateway-for-easy-digital-downloads\">OnePipe Payment Gateway for Easy Digital Downloads</h1>\n<h2 id=\"download\">Download</h2>\n<p><a href=\"https://cdn.onepipe.io/plugins/easy%20digital-onepipe.zip\">https://cdn.onepipe.io/plugins/easy%20digital-onepipe.zip</a></p>\n<h2 id=\"description\">Description</h2>\n<p>With OnePipe, it is easy and smooth to use different payments methods in your online store</p>\n<ul>\n<li><strong>Tags:</strong> onepipe, payment module, payment gateway</li>\n<li>Requires at least: 4.7</li>\n<li>Tested up to: 5.7.1</li>\n<li>Stable tag: 1.0.0</li>\n<li>Requires PHP: 5.6</li>\n<li>License: GPLv2 or later</li>\n<li>License URI: <a href=\"http://www.gnu.org/licenses/gpl-2.0.html\">http://www.gnu.org/licenses/gpl-2.0.html</a></li>\n</ul>\n<h2 id=\"installation\">Installation</h2>\n<p>From your admin back-end:</p>\n<ul>\n<li>Go to your WordPress admin dashboard.</li>\n<li>Navigate to Easy Digital Downloads &gt; Settings.</li>\n<li>Choose the Payment Gateways tab (or Checkout in older versions).</li>\n<li>Click on OnePipe.</li>\n<li>Check the Enable OnePipe Payment Gateway.</li>\n<li>Enter your Keys and click Save.</li>\n</ul>\n<h3 id=\"automatic-installation\">Automatic Installation</h3>\n<ul>\n<li>Login to your WordPress Admin area</li>\n<li>Go to <em>Plugins &gt; Add New</em> from the left hand menu</li>\n<li>In the search box type <strong>OnePipe Easy Digital Downloads Payment Gateway</strong></li>\n<li>From the search result you will see <strong>OnePipe Easy Digital Downloads Payment Gateway</strong> click on <strong>Install Now</strong> to install the plugin</li>\n<li>A popup window will ask you to confirm your wish to install the Plugin.</li>\n<li>After installation, activate the plugin.</li>\n<li>Open the settings page for Easy Digital Downloads and click the \"Payment Gateways\" tab.</li>\n<li>Click on the <strong>OnePipe</strong> link from the available Payment Options</li>\n<li>Configure your <strong>OnePipe Payment Gateway</strong> settings. See below for details.</li>\n</ul>\n<h3 id=\"manual-installation\">Manual Installation</h3>\n<ol>\n<li>Download the plugin zip file</li>\n<li>Login to your WordPress Admin. Click on \"Plugins &gt; Add New\" from the left hand menu.</li>\n<li><pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code> Click on the \"Upload\" option, then click \"Choose File\" to select the zip file from your computer. Once selected, press \"OK\" and press the \"Install Now\" button.\n</code></pre></li>\n<li><pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code> Activate the plugin.\n</code></pre></li>\n<li>Open the settings page for Easy Digital Downloads and click the \"Payment Gateways\" tab.</li>\n<li>Click on the <strong>OnePipe</strong> link from the available Payment Options</li>\n<li>Configure your <strong>OnePipe Payment Gateway</strong> settings. See below for details.</li>\n</ol>\n<h3 id=\"configure-the-plugin\">Configure the plugin</h3>\n<p>To configure the plugin, go to <strong>Easy Digital Downloads &gt; Settings</strong> from the left hand menu, then click <strong>Payment Gateways</strong> (or Checkout in older versions) from the top tab. You will see <strong>OnePipe</strong> as part of the available Payments Options. Click on it to configure the payment gateway.</p>\n<ul>\n<li><strong>Enable/Disable</strong> - check the box to enable OnePipe Payment Gateway.</li>\n<li><strong>Title</strong> - This controls the title which the user sees during checkout.</li>\n<li><strong>Description</strong> - This is the message box that will appear on the checkout page when they select OnePipe.</li>\n<li><strong>Environment</strong> - Specifies if this is for real transactions or testing. You can either select Test/Inspect (Sandbox) or Live (Production).</li>\n<li><strong>Client Secret</strong> - Enter your Client Secret here. Get your Client Secret from your OnePipe Merchant Account</li>\n<li><strong>API Key</strong> - Enter your API Key here. Get your API key from your OnePipe Merchant Account</li>\n<li>Click on <strong>Save Changes</strong> for the changes you made to be effected.</li>\n</ul>\n<h2 id=\"deactivation\">Deactivation</h2>\n<p>In order to deactivate the plugin, delete the extensions</p>\n<h2 id=\"merchant-setup\">Merchant Setup</h2>\n<ul>\n<li>Create a merchant account on Onepipe.io and generate the API and Secret Key</li>\n</ul>\n","_postman_id":"49f3f394-53bc-4004-9448-8711affb78c5"},{"name":"Simple Payment Pages","item":[],"id":"af080f3e-145f-498d-8bc6-29e0fd0032ad","_postman_id":"af080f3e-145f-498d-8bc6-29e0fd0032ad","description":""},{"name":"Collect","event":[{"listen":"prerequest","script":{"id":"a488c2a8-f38b-41ad-afb9-0905afdb5feb","exec":[""],"type":"text/javascript"}},{"listen":"test","script":{"id":"96a5dfc4-6884-4d55-84b6-1036d4e1feb7","exec":[""],"type":"text/javascript"}}],"id":"cbdd318d-e1d5-4a3f-940d-e3a5d6b29b05","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","type":"text","value":"application/json"},{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":" 3a2b58350e8068507e6b5bff106850a5"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"collect\",\r\n  \"auth\": {\r\n    \"type\": \"bank.account\", \r\n    \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n    \"auth_provider\": \"DemoProvider\",\r\n    \"route_mode\":null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"inspect\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": \"\", \r\n    \"amount\": 10000,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"Jhon\",\r\n    \t\"firstname\": \"Uju\",\r\n      \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\":null\r\n  }\r\n}"},"url":"https://api.onepipe.io/v2/transact","description":"<p>With this service, the calling app can request or initiate payment from a customer. Apps will collect authorisation details and forward to OnePipe to execute a debit, OnePipe will in turn forward to the provider’s dedicated implementation. Providers will support a wide array of payment methods and optionally prompt for any extra auth details specific to their implementation.</p>\n<h4 id=\"sequence-of-calls\">Sequence of calls</h4>\n<p>Please be sure to have gone through...</p>\n<ul>\n<li><a href=\"#the-headers\">The headers</a>  </li>\n<li><a href=\"#the-main-operations-you-can-perform\">Main API operations</a></li>\n<li><a href=\"#what-requests-would-look-like\">Typical OnePipe requests</a>  </li>\n<li><a href=\"#what-responses-would-look-like\">Typical OnePipe responses</a></li>\n<li><a href=\"#encryption-of-secure-element\">Encryption of the <code>secure</code> element</a></li>\n</ul>\n<p>Here's the call sequence specific to this service...</p>\n<ol>\n<li>Call <code>/v2/transact</code></li>\n<li>Provider responds with <code>WaitingForOTP</code> or <code>PendingValidation</code> if they require OTP verification</li>\n<li>Call <code>/v2/transact/validate</code> to supply OTP if needed</li>\n<li>Provider responds with any of the completion codes <code>Successful</code>, <code>Processing</code> or <code>Failed</code>. </li>\n<li>To query the status of a transaction, call <code>/v2/transact/query</code></li>\n</ol>\n<h4 id=\"interpreting-the-response\">Interpreting the response</h4>\n<ul>\n<li>Read the response</li>\n<li>Read the <code>provider_response</code> Object</li>\n</ul>\n<h4 id=\"possible-status-values\">Possible status values</h4>\n<ul>\n<li><strong>Successful</strong>: Success</li>\n<li><strong>WaitingForOTP</strong>: Display the <code>status.message</code> and collect the input from the user, then follow with a <code>/transact/validate</code></li>\n<li><strong>PendingValidation</strong>: Display the <code>status.message</code> and collect the input from the user, then follow with a <code>/transact/validate</code></li>\n<li><strong>[Anything else]</strong>: Error. Read the errors object(s)</li>\n</ul>\n<h4 id=\"request-body-elements\">Request body elements</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Requirement</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>request_ref</td>\n<td>string</td>\n<td>compulsory</td>\n<td>A unique reference for this API call</td>\n</tr>\n<tr>\n<td>request_type</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Set to <code>transfer_funds</code></td>\n</tr>\n<tr>\n<td>auth.type</td>\n<td>string</td>\n<td>compulsory</td>\n<td>This can be set to any of <code>bank.account</code>, <code>card</code> or <code>wallet</code>, depending on the provider</td>\n</tr>\n<tr>\n<td>auth.secure</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Set the value to encrypted to bank account, card or wallet id</td>\n</tr>\n<tr>\n<td>auth.auth_provider</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The Provider against which you want to open the account. e.g. <code>SunTrust</code></td>\n</tr>\n<tr>\n<td>auth.route_mode</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Set to <code>null</code></td>\n</tr>\n<tr>\n<td>transaction.mock_mode</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Set to <code>inspect</code> (for test mode) or <code>live</code> (for live mode)</td>\n</tr>\n<tr>\n<td>transaction.transaction_ref</td>\n<td>string</td>\n<td>compulsory</td>\n<td>A unique reference for the transaction</td>\n</tr>\n<tr>\n<td>transaction.transaction.desc</td>\n<td>string</td>\n<td>compulsory</td>\n<td>A short description or narration</td>\n</tr>\n<tr>\n<td>transaction.transaction_ref_parent</td>\n<td>string</td>\n<td>optional</td>\n<td>Can be set to <code>null</code>. But if you are repeating a prior transaction, you can set it to the <code>transaction_ref</code> of the former transaction to create a link for easy tracking.</td>\n</tr>\n<tr>\n<td>amount</td>\n<td>int</td>\n<td>compulsory</td>\n<td>Set to amount in kobo to be processed</td>\n</tr>\n<tr>\n<td>transaction.customer.customer_ref</td>\n<td>string</td>\n<td>compulsory</td>\n<td>A unique reference to identify this customer</td>\n</tr>\n<tr>\n<td>transaction.customer.firstname</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The firstname of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.surname</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The surname of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.email</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The email of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.mobile_no</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The mobile number of the customer</td>\n</tr>\n<tr>\n<td>transaction.details</td>\n<td>string</td>\n<td>optional</td>\n<td>This should be set to <code>null</code></td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response-body-elements\">Response body elements</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Element</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>status</td>\n<td>Standard response. <strong>Successful</strong> or anything else. If the response is <code>WaitingForOTP</code> or <code>PendingValidation</code>, then display the <code>response.message</code>, collect the input from the user and follow with a <code>/transact/validate</code> API call. See <a href=\"https://v2.docs.onepipe.io/?version=latest#b294a37e-e131-4fd3-931b-7868bec36e34\">here</a>.</td>\n</tr>\n<tr>\n<td>message</td>\n<td>A message or description of the response</td>\n</tr>\n<tr>\n<td>data.provider</td>\n<td>The provider that was used to process the request</td>\n</tr>\n<tr>\n<td>data.provider_response_code</td>\n<td>Response code as determined by the underlying provider</td>\n</tr>\n<tr>\n<td>data.provider_response.reference</td>\n<td>A reference from the provider for reconciliation purposes</td>\n</tr>\n<tr>\n<td>data.provider_response. provider_auth_token</td>\n<td>Authentication token to be used for subsequent transaction if supported by the provider</td>\n</tr>\n<tr>\n<td>data.provider_response.transaction_final_amount</td>\n<td>Amount in <code>kobo</code> processed</td>\n</tr>\n<tr>\n<td>data.provider_response.meta</td>\n<td>A custom object that can hold any extra information the provider deems necessary in key vs value pairs.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"list-of-providers\">List of providers</h4>\n<p>For a list of providers that have published and implemented this service, please see <a href=\"https://onepipe.io/explore/v2?service=open_account\">here</a></p>\n<h4 id=\"common-questions\">Common questions</h4>\n<p><strong>Question</strong>: What is the <code>meta</code> object in the request and response?</p>\n<p><strong>Answer</strong>: Some providers at times require or return special fields not covered by the standard. If you know what some of these fields and their values are you can set them in the request <code>meta</code> object and read them from the response <code>meta</code> object. Typically though, <code>null</code> is perfectly fine in most cases.</p>\n","urlObject":{"path":["v2","transact"],"host":["https://api.onepipe.io"],"query":[],"variable":[]}},"response":[{"id":"14dd6fd0-660d-407a-9564-9e2e02a15583","name":"Collect - Successful","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":" 3a2b58350e8068507e6b5bff106850a5"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"collect\",\r\n  \"auth\": {\r\n    \"type\": \"bank.account\", \r\n    \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n    \"auth_provider\": \"DemoProvider\",\r\n    \"route_mode\":null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"inspect\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": \"\", \r\n    \"amount\": 10000,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"Jhon\",\r\n    \t\"firstname\": \"Uju\",\r\n      \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\":null\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sun, 05 Jul 2020 23:58:57 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"634"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Successful\",\n    \"message\": \"Transaction processed successfully\",\n    \"data\": {\n        \"provider_response_code\": \"00\",\n        \"provider\": \"DemoProvider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"provider_auth_token\": null,\n            \"paymentoptions\": [],\n            \"transaction_final_amount\": 1000,\n            \"reference\": \"8996423353999\",\n            \"meta\": {\n                \"first_item\": \"item1\",\n                \"second_item\": \"item2\"\n            }\n        },\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"},{"id":"35ed3a33-dfff-499a-a61b-d2a6669c1870","name":"Collect - Failed","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":" 3a2b58350e8068507e6b5bff106850a5"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"collect\",\r\n  \"auth\": {\r\n    \"type\": \"card\", \r\n    \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n    \"auth_provider\": \"DemoProvider\",\r\n    \"route_mode\":null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"inspect\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": \"\", \r\n    \"amount\": 10000,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"Jhon\",\r\n    \t\"firstname\": \"Uju\",\r\n      \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\":null\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sun, 05 Jul 2020 23:59:53 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"734"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Failed\",\n    \"message\": \"Invalid auth.secure, please ensure you encrypted the auth.secure in the correct format\",\n    \"data\": {\n        \"provider_response_code\": null,\n        \"provider\": null,\n        \"errors\": [\n            {\n                \"code\": \"01\",\n                \"message\": \"Invalid auth.secure, please ensure you encrypted the auth.secure in the correct format\"\n            }\n        ],\n        \"error\": {\n            \"code\": \"01\",\n            \"message\": \"Invalid auth.secure, please ensure you encrypted the auth.secure in the correct format\"\n        },\n        \"provider_response\": null,\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"},{"id":"9212062f-a5b2-4f26-9457-94af3ee4e758","name":"Collect - WaitingForOTP","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":" 3a2b58350e8068507e6b5bff106850a5"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"collect\",\r\n  \"auth\": {\r\n    \"type\": \"bank.account\", \r\n    \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n    \"auth_provider\": \"DemoProvider\",\r\n    \"route_mode\":null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"inspect\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": \"\", \r\n    \"amount\": 10000,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"Jhon\",\r\n    \t\"firstname\": \"Uju\",\r\n      \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\":null\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sun, 05 Jul 2020 23:57:50 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"518"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"WaitingForOTP\",\n    \"message\": \"Please enter the OTP sent to 2348022****08, use 12345678 as your OTP\",\n    \"data\": {\n        \"provider_response_code\": \"900T0\",\n        \"provider\": \"DemoProvider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": null,\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"},{"id":"d0805818-7b3b-44ce-a017-dd5b3e696555","name":"Collect - Processing","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":" 3a2b58350e8068507e6b5bff106850a5"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"collect\",\r\n  \"auth\": {\r\n    \"type\": \"bank.account\", \r\n    \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n    \"auth_provider\": \"DemoProvider\",\r\n    \"route_mode\":null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"inspect\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": \"\", \r\n    \"amount\": 10000,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"Jhon\",\r\n    \t\"firstname\": \"Uju\",\r\n      \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\":null\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sun, 05 Jul 2020 23:57:50 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"518"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Processing\",\n    \"message\": \"Transaction is currently being processed.\",\n    \"data\": {\n        \"provider_response_code\": \"00\",\n        \"provider\": \"DemoProvider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": null,\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"},{"id":"a72af32c-b056-416b-948d-457fac1fd9ac","name":"Collect - BankCardService","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":" 3a2b58350e8068507e6b5bff106850a5"}],"body":{"mode":"raw","raw":"{\r\n    \"request_ref\": \"111111111\",\r\n    \"request_type\": \"collect\",\r\n    \"auth\": {\r\n        \"type\": \"card\",\r\n        \"secure\": \"{{auth.card}}\",\r\n        \"auth_provider\": \"{BankName}CardService\",\r\n        \"route_mode\": null\r\n    },\r\n    \"transaction\": {\r\n        \"mock_mode\": \"inspect\",\r\n        \"transaction_ref\": \"{{transaction-ref}}\",\r\n        \"transaction_desc\": \"A random transaction\",\r\n        \"transaction_ref_parent\": \"\",\r\n        \"amount\": 10000,\r\n        \"customer\": {\r\n            \"customer_ref\": \"Jhon\",\r\n            \"firstname\": \"Uju\",\r\n            \"surname\": \"Usmanu\",\r\n            \"email\": \"ujuusmanu@gmail.com\",\r\n            \"mobile_no\": \"234802343132\"\r\n        },\r\n        \"details\": null,\r\n        \"meta\": {\r\n            \"card_trxn_source_account\": \"{source account}\",\r\n            \"card_trxn_stan\": \"{stan}\",\r\n            \"card_trxn_surcharge\": \"{surcharge}\",\r\n            \"card_trxn_timestamp\": \"{timestamp}\",\r\n            \"card_trxn_type\": \"{transaction type}\",\r\n            \"card_trxn_upn\": \"{upn}\",\r\n            \"card_trxn_dedicated_filename\": \"{dedicated filename}\",\r\n            \"card_trxn_currency_code\": \"{tcc}\",\r\n            \"card_trxn_language_info\": \"{language info}\",\r\n            \"card_trxn_transmission_date\": \"{transmission date}\",\r\n            \"card_trxn_unique_id\": \"{unique Id}\",\r\n            \"card_trxn_terminal_location\": \"{terminal location}\",\r\n            \"card_trxn_terminal_id\": \"{terminal Id}\",\r\n            \"card_trxn_terminal_type\": \"{terminal type}\",\r\n            \"card_trxn_terminal_condition_code\": \"{Condition Code}\",\r\n            \"card_trxn_terminal_data_code\": \"{Data Code}\",\r\n            \"card_trxn_terminal_entry_mode\": \"{Entry Mode}\",\r\n            \"card_trxn_terminal_geo_code\": \"{Geo Code}\",\r\n            \"card_trxn_terminal_verification_result\": \"{tvr}\",\r\n            \"card_trxn_terminal_country_code\": \"{country code}\",\r\n            \"card_trxn_terminal_capabilities\": \"{tbl}\",\r\n            \"card_trxn_terminal_battery_info\": \"{battery information}\",\r\n            \"card_trxn_terminal_printer_status\": \"{printer status}\",\r\n            \"card_trxn_merchant_id\": \"{merchant Id}\",\r\n            \"card_trxn_merhcant_location\": \"{merhcant location}\",\r\n            \"card_trxn_card_info\": \"{encrypt(pan;cvv;expmonth;expyear;track2)}\",\r\n            \"card_trxn_is_fallback\": \"{fallback}\",\r\n            \"card_trxn_ksn\": \"{ksn}\",\r\n            \"card_trxn_ksnd\": \"{ksnd}\",\r\n            \"card_trxn_pin_block\": \"{pindata}\",\r\n            \"card_trxn_pin_type\": \"Dukpt\",\r\n            \"card_trxn_key_label\": \"{keysetid}\",\r\n            \"card_trxn_card_sequence_number\": \"0\",\r\n            \"card_trxn_aip\": \"{aip}\",\r\n            \"card_trxn_atc\": \"{atc}\",\r\n            \"card_trxn_cryptogram\": \"{Cryptogram}\",\r\n            \"card_trxn_cryptogram_info_data\": \"{cid}\",\r\n            \"card_trxn_cvm_results\": \"{Cvm Results}\",\r\n            \"card_trxn_iad\": \"{iad}\"\r\n        }\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Thu, 08 Sep 2022 06:47:27 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"634"},{"key":"Connection","value":"keep-alive"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Frame-Options","value":"DENY"},{"key":"X-Xss-Protection","value":"1; mode=block"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Successful\",\n    \"message\": \"Transaction processed successfully\",\n    \"data\": {\n        \"provider_response_code\": \"00\",\n        \"provider\": \"{BankName}CardService\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"provider_auth_token\": null,\n            \"paymentoptions\": [],\n            \"transaction_final_amount\": 1000,\n            \"reference\": \"1534259104562\",\n            \"meta\": {\n                \"first_item\": \"item1\",\n                \"second_item\": \"item2\"\n            }\n        },\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"}],"_postman_id":"cbdd318d-e1d5-4a3f-940d-e3a5d6b29b05"},{"name":"Disburse","id":"f12ec265-836d-439e-a217-2413efa40a05","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n    \"request_ref\": \"111111111\",\r\n    \"request_type\": \"disburse\",\r\n    \"auth\": {\r\n        \"type\": null,\r\n        \"secure\": null,\r\n        \"auth_provider\": \"Demoprovider\",\r\n        \"route_mode\": null\r\n    },\r\n    \"transaction\": {\r\n        \"mock_mode\": \"live\",\r\n        \"transaction_ref\": \"{{transaction-ref}}\",\r\n        \"transaction_desc\": \"A random transaction\",\r\n        \"transaction_ref_parent\": null,\r\n        \"amount\": 1000,\r\n        \"customer\": {\r\n            \"customer_ref\": \"DemoApp_Customer007\",\r\n            \"firstname\": \"Uju\",\r\n            \"surname\": \"Usmanu\",\r\n            \"email\": \"ujuusmanu@gmail.com\",\r\n            \"mobile_no\": \"234802343132\"\r\n        },\r\n        \"meta\": {\r\n            \"a_key\": \"a_meta_value_1\",\r\n            \"another_key\": \"a_meta_value_2\"\r\n        },\r\n        \"details\": {\r\n            \"destination_account\": \"2363262632\",\r\n            \"destination_bank_code\": \"011\"\r\n        }\r\n    }\r\n}"},"url":"https://api.onepipe.io/v2/transact","description":"<p>With this service, the calling apps can do a transfer to a destination account number from a pre-configured account of the app. If authorisation details are required by a provider, apps will have to provide this. OnePipe will in turn forward to the provider’s dedicated implementation. This is a service that is useful for when a business wants to debit their own account and credit any destination account</p>\n<h4 id=\"sequence-of-calls\">Sequence of calls</h4>\n<p>Please be sure to have gone through...</p>\n<ul>\n<li><a href=\"#the-headers\">The headers</a>  </li>\n<li><a href=\"#the-main-operations-you-can-perform\">Main API operations</a></li>\n<li><a href=\"#what-requests-would-look-like\">Typical OnePipe requests</a>  </li>\n<li><a href=\"#what-responses-would-look-like\">Typical OnePipe responses</a></li>\n<li><a href=\"#encryption-of-secure-element\">Encryption of the <code>secure</code> element</a></li>\n</ul>\n<p>Here's the call sequence specific to this service...</p>\n<ol>\n<li>Call <code>/transact</code></li>\n<li>Provider responds with <code>WaitingForOTP</code> or <code>PendingValidation</code> if they require OTP verification</li>\n<li>Call <code>/transact/validate</code> to supply OTP if needed</li>\n<li>Provider responds with any of the completion codes <code>Successful</code> or <code>Failed</code>. </li>\n<li>To query the status of a transaction, call <code>/transact/query</code></li>\n</ol>\n<h4 id=\"interpreting-the-response\">Interpreting the response</h4>\n<ul>\n<li>Read the response</li>\n<li>Read the <code>provider_response</code> Object</li>\n</ul>\n<h4 id=\"possible-status-values\">Possible status values</h4>\n<ul>\n<li><strong>Successful</strong>: Success</li>\n<li><strong>WaitingForOTP</strong>: Display the <code>status.message</code> and collect the input from the user, then follow with a <code>/transact/validate</code></li>\n<li><strong>PendingValidation</strong>: Display the <code>status.message</code> and collect the input from the user, then follow with a <code>/transact/validate</code></li>\n<li><strong>[Anything else]</strong>: Error. Read the errors object(s)</li>\n</ul>\n<h4 id=\"request-body-elements\">Request body elements</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Requirement</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>request_ref</td>\n<td>string</td>\n<td>compulsory</td>\n<td>A unique reference for this API call</td>\n</tr>\n<tr>\n<td>request_type</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Set to <code>disburse</code></td>\n</tr>\n<tr>\n<td>auth.type</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Set to be <code>null</code></td>\n</tr>\n<tr>\n<td>auth.secure</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Set to be <code>null</code></td>\n</tr>\n<tr>\n<td>auth.auth_provider</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The Provider against which you want to open the account. e.g. <code>SunTrust</code></td>\n</tr>\n<tr>\n<td>auth.route_mode</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Set to <code>null</code></td>\n</tr>\n<tr>\n<td>transaction.mock_mode</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Set to <code>inspect</code> (for test mode) or <code>live</code> (for live mode)</td>\n</tr>\n<tr>\n<td>transaction.transaction_ref</td>\n<td>string</td>\n<td>compulsory</td>\n<td>A unique reference for the transaction</td>\n</tr>\n<tr>\n<td>transaction.transaction.desc</td>\n<td>string</td>\n<td>compulsory</td>\n<td>A short description or narration</td>\n</tr>\n<tr>\n<td>transaction.transaction_ref_parent</td>\n<td>string</td>\n<td>optional</td>\n<td>Can be set to <code>null</code>. But if you are repeating a prior transaction, you can set it to the <code>transaction_ref</code> of the former transaction to create a link for easy tracking.</td>\n</tr>\n<tr>\n<td>amount</td>\n<td>int</td>\n<td>compulsory</td>\n<td>Set to amount in kobo to be processed</td>\n</tr>\n<tr>\n<td>transaction.customer.customer_ref</td>\n<td>string</td>\n<td>compulsory</td>\n<td>A unique reference to identify this customer</td>\n</tr>\n<tr>\n<td>transaction.customer.firstname</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The firstname of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.surname</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The surname of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.email</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The email of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.mobile_no</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The mobile number of the customer</td>\n</tr>\n<tr>\n<td>transaction.details.destination_account</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The destination account number</td>\n</tr>\n<tr>\n<td>transaction.details.destination_bank_code</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The cbn bank code of the destination account number</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response-body-elements\">Response body elements</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Element</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>status</td>\n<td>Standard response. <strong>Successful</strong> or anything else. If the response is <code>WaitingForOTP</code> or <code>PendingValidation</code>, then display the <code>response.message</code>, collect the input from the user and follow with a <code>/transact/validate</code> API call. See <a href=\"https://v2.docs.onepipe.io/?version=latest#b294a37e-e131-4fd3-931b-7868bec36e34\">here</a>.</td>\n</tr>\n<tr>\n<td>message</td>\n<td>A message or description of the response</td>\n</tr>\n<tr>\n<td>data.provider</td>\n<td>The provider that was used to process the request</td>\n</tr>\n<tr>\n<td>data.provider_response_code</td>\n<td>Response code as determined by the underlying provider</td>\n</tr>\n<tr>\n<td>data.provider_response.reference</td>\n<td>A reference from the provider for reconciliation purposes</td>\n</tr>\n<tr>\n<td>data.provider_response.destination_institution_code</td>\n<td>NIP destination institution code</td>\n</tr>\n<tr>\n<td>data.provider_response.beneficiary_account_name</td>\n<td>Beneficiary account name</td>\n</tr>\n<tr>\n<td>data.provider_response.beneficiary_account_number</td>\n<td>Beneficiary account number</td>\n</tr>\n<tr>\n<td>data.provider_response.beneficiary_kyc_level</td>\n<td>KYC level of beneficiary</td>\n</tr>\n<tr>\n<td>data.provider_response.originator_account_name</td>\n<td>Sender account name</td>\n</tr>\n<tr>\n<td>data.provider_response.originator_account_number</td>\n<td>KYC level of sender</td>\n</tr>\n<tr>\n<td>data.provider_response.originator_kyc_level</td>\n<td>KYC level of sender</td>\n</tr>\n<tr>\n<td>data.provider_response.narration</td>\n<td>Narration for the transaction</td>\n</tr>\n<tr>\n<td>data.provider_response.transaction_final_amount</td>\n<td>Amount in <code>kobo</code> processed</td>\n</tr>\n<tr>\n<td>data.provider_response.payment_id</td>\n<td>Transaction payment id</td>\n</tr>\n<tr>\n<td>data.provider_response.meta</td>\n<td>A custom object that can hold any extra information the provider deems necessary in key vs value pairs.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"list-of-providers\">List of providers</h4>\n<p>For a list of providers that have published and implemented this service, please see <a href=\"https://onepipe.io/explore/v2?service=open_account\">here</a></p>\n<h4 id=\"common-questions\">Common questions</h4>\n<p><strong>Question</strong>: Why do I need to specify <code>transaction.amount</code> when it's irrelevant here?</p>\n<p><strong>Answer</strong>: OnePipe APIs all try to follow a common standard such that all services require the same exact payload. It's the values within the payload that will then vary, service by service. In this case, just set it to <code>0</code>.</p>\n<p><strong>Question</strong>: What is the <code>meta</code> object in the request and response?</p>\n<p><strong>Answer</strong>: Some providers at times require or return special fields not covered by the standard. If you know what some of these fields and their values are you can set them in the request <code>meta</code> object and read them from the response <code>meta</code> object. Typically though, <code>null</code> is perfectly fine in most cases.</p>\n","urlObject":{"path":["v2","transact"],"host":["https://api.onepipe.io"],"query":[],"variable":[]}},"response":[{"id":"47873d75-2de4-4926-b6b7-b80e2e495033","name":"Disburse - Successful","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"request_ref\": \"111111111\",\r\n    \"request_type\": \"disburse\",\r\n    \"auth\": {\r\n        \"type\": null,\r\n        \"secure\": null,\r\n        \"auth_provider\": \"Demoprovider\",\r\n        \"route_mode\": null\r\n    },\r\n    \"transaction\": {\r\n        \"mock_mode\": \"live\",\r\n        \"transaction_ref\": \"{{transaction-ref}}\",\r\n        \"transaction_desc\": \"A random transaction\",\r\n        \"transaction_ref_parent\": null,\r\n        \"amount\": 1000,\r\n        \"customer\": {\r\n            \"customer_ref\": \"DemoApp_Customer007\",\r\n            \"firstname\": \"Uju\",\r\n            \"surname\": \"Usmanu\",\r\n            \"email\": \"ujuusmanu@gmail.com\",\r\n            \"mobile_no\": \"234802343132\"\r\n        },\r\n        \"meta\": {\r\n            \"a_key\": \"a_meta_value_1\",\r\n            \"another_key\": \"a_meta_value_2\"\r\n        },\r\n        \"details\": {\r\n            \"destination_account\": \"2363262632\",\r\n            \"destination_bank_code\": \"011\"\r\n        }\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 06 Jul 2020 00:05:25 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"907"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Successful\",\n    \"message\": \"Transaction processed successfully\",\n    \"data\": {\n        \"provider_response_code\": \"00\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"reference\": \"8129422853156\",\n            \"payment_id\": \"136FTTP200590171\",\n            \"destination_institution_code\": \"000016\",\n            \"beneficiary_account_name\": \"JOHN DOE JAMES\",\n            \"beneficiary_account_number\": \"3056433222\",\n            \"beneficiary_kyc_level\": \"3\",\n            \"originator_account_name\": \"James Jane\",\n            \"originator_account_number\": \"0001131256\",\n            \"originator_kyc_level\": \"1\",\n            \"narration\": \"My narration\",\n            \"transaction_final_amount\": 1000,\n            \"meta\": {\n                \"first_item\": \"item1\",\n                \"second_item\": \"item2\"\n            }\n        },\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"},{"id":"bd807be6-6a00-4a59-a54e-0971e142b5c6","name":"Disburse - Processing","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"request_ref\": \"111111111\",\r\n    \"request_type\": \"disburse\",\r\n    \"auth\": {\r\n        \"type\": null,\r\n        \"secure\": null,\r\n        \"auth_provider\": \"Demoprovider\",\r\n        \"route_mode\": null\r\n    },\r\n    \"transaction\": {\r\n        \"mock_mode\": \"live\",\r\n        \"transaction_ref\": \"{{transaction-ref}}\",\r\n        \"transaction_desc\": \"A random transaction\",\r\n        \"transaction_ref_parent\": null,\r\n        \"amount\": 1000,\r\n        \"customer\": {\r\n            \"customer_ref\": \"DemoApp_Customer007\",\r\n            \"firstname\": \"Uju\",\r\n            \"surname\": \"Usmanu\",\r\n            \"email\": \"ujuusmanu@gmail.com\",\r\n            \"mobile_no\": \"234802343132\"\r\n        },\r\n        \"meta\": {\r\n            \"a_key\": \"a_meta_value_1\",\r\n            \"another_key\": \"a_meta_value_2\"\r\n        },\r\n        \"details\": {\r\n            \"destination_account\": \"2363262632\",\r\n            \"destination_bank_code\": \"011\"\r\n        }\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 06 Jul 2020 00:05:25 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"907"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Processing\",\n    \"message\": \"Transaction is currently being processed.\",\n    \"data\": {\n        \"provider_response_code\": \"00\",\n        \"provider\": \"DemoProvider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": null,\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"},{"id":"eb332dac-b7f2-4299-8b9f-2f1e9972dfb9","name":"Disburse - Failed","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"request_ref\": \"111111111\",\r\n    \"request_type\": \"disburse\",\r\n    \"auth\": {\r\n        \"type\": null,\r\n        \"secure\": null,\r\n        \"auth_provider\": \"Demoprovider\",\r\n        \"route_mode\": null\r\n    },\r\n    \"transaction\": {\r\n        \"mock_mode\": \"live\",\r\n        \"transaction_ref\": \"{{transaction-ref}}\",\r\n        \"transaction_desc\": \"A random transaction\",\r\n        \"transaction_ref_parent\": null,\r\n        \"amount\": 1000,\r\n        \"customer\": {\r\n            \"customer_ref\": \"DemoApp_Customer007\",\r\n            \"firstname\": \"Uju\",\r\n            \"surname\": \"Usmanu\",\r\n            \"email\": \"ujuusmanu@gmail.com\",\r\n            \"mobile_no\": \"234802343132\"\r\n        },\r\n        \"meta\": {\r\n            \"a_key\": \"a_meta_value_1\",\r\n            \"another_key\": \"a_meta_value_2\"\r\n        },\r\n        \"details\": {\r\n            \"destination_account\": \"2363262632\",\r\n            \"destination_bank_code\": \"011\"\r\n        }\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 06 Jul 2020 00:05:25 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"907"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Failed\",\n    \"message\": \"Invalid auth.secure, please ensure you encrypted the auth.secure in the correct format\",\n    \"data\": {\n        \"provider_response_code\": null,\n        \"provider\": null,\n        \"errors\": [\n            {\n                \"code\": \"01\",\n                \"message\": \"Invalid auth.secure, please ensure you encrypted the auth.secure in the correct format\"\n            }\n        ],\n        \"error\": {\n            \"code\": \"01\",\n            \"message\": \"Invalid auth.secure, please ensure you encrypted the auth.secure in the correct format\"\n        },\n        \"provider_response\": null,\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"}],"_postman_id":"f12ec265-836d-439e-a217-2413efa40a05"},{"name":"Transfer Funds","id":"3643bd4f-8227-43e8-9afc-45e6a2aa9b4f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"transfer_funds\",\r\n  \"auth\": {\r\n    \"type\": \"bank.account\", \r\n    \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 1000,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n      \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n    \t\"destination_account\":\"2363262632\",\r\n       \"destination_bank_code\":\"011\"\r\n    }\r\n  }\r\n}"},"url":"https://api.onepipe.io/v2/transact","description":"<p>With this service, the calling apps can do a transfer to a destination account number from a given source. Authorisation details (for source of funds) will always be required by the provider, apps will have to provide this. OnePipe will in turn forward to the provider’s dedicated implementation. Upon receipt of the auth credentials, a provider may challenge for other input as  may be required. Then debit the source of funds to move money to the destination.</p>\n<h4 id=\"sequence-of-calls\">Sequence of calls</h4>\n<p>Please be sure to have gone through...</p>\n<ul>\n<li><a href=\"#the-headers\">The headers</a>  </li>\n<li><a href=\"#the-main-operations-you-can-perform\">Main API operations</a></li>\n<li><a href=\"#what-requests-would-look-like\">Typical OnePipe requests</a>  </li>\n<li><a href=\"#what-responses-would-look-like\">Typical OnePipe responses</a></li>\n<li><a href=\"#encryption-of-secure-element\">Encryption of the <code>secure</code> element</a></li>\n</ul>\n<p>Here's the call sequence specific to this service...</p>\n<ol>\n<li>Call <code>/v2/transact</code></li>\n<li>Provider responds with <code>WaitingForOTP</code> or <code>PendingValidation</code> if they require OTP verification</li>\n<li>Call <code>/v2/transact/validate</code> to supply OTP if needed</li>\n<li>Provider responds with any of the completion codes <code>Successful</code>, <code>Processing</code> or <code>Failed</code>. </li>\n<li>To query the status of a transaction, call <code>/v2/transact/query</code></li>\n</ol>\n<h4 id=\"interpreting-the-response\">Interpreting the response</h4>\n<ul>\n<li>Read the response</li>\n<li>Read the <code>provider_response</code> Object</li>\n</ul>\n<h4 id=\"possible-status-values\">Possible status values</h4>\n<ul>\n<li><strong>Successful</strong>: Success</li>\n<li><strong>WaitingForOTP</strong>: Display the <code>status.message</code> and collect the input from the user, then follow with a <code>/transact/validate</code></li>\n<li><strong>PendingValidation</strong>: Display the <code>status.message</code> and collect the input from the user, then follow with a <code>/transact/validate</code></li>\n<li><strong>[Anything else]</strong>: Error. Read the errors object(s)</li>\n</ul>\n<h4 id=\"request-body-elements\">Request body elements</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Requirement</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>request_ref</td>\n<td>string</td>\n<td>compulsory</td>\n<td>A unique reference for this API call</td>\n</tr>\n<tr>\n<td>request_type</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Set to <code>transfer_funds</code></td>\n</tr>\n<tr>\n<td>auth.type</td>\n<td>string</td>\n<td>compulsory</td>\n<td>This can be set to any of <code>bank.account</code>, <code>card</code> or <code>wallet</code>, depending on the provider</td>\n</tr>\n<tr>\n<td>auth.secure</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Set the value to encrypted to bank account, card or wallet id</td>\n</tr>\n<tr>\n<td>auth.auth_provider</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The Provider against which you want to open the account. e.g. <code>SunTrust</code></td>\n</tr>\n<tr>\n<td>auth.route_mode</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Set to <code>null</code></td>\n</tr>\n<tr>\n<td>transaction.mock_mode</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Set to <code>inspect</code> (for test mode) or <code>live</code> (for live mode)</td>\n</tr>\n<tr>\n<td>transaction.transaction_ref</td>\n<td>string</td>\n<td>compulsory</td>\n<td>A unique reference for the transaction</td>\n</tr>\n<tr>\n<td>transaction.transaction.desc</td>\n<td>string</td>\n<td>compulsory</td>\n<td>A short description or narration</td>\n</tr>\n<tr>\n<td>transaction.transaction_ref_parent</td>\n<td>string</td>\n<td>optional</td>\n<td>Can be set to <code>null</code>. But if you are repeating a prior transaction, you can set it to the <code>transaction_ref</code> of the former transaction to create a link for easy tracking.</td>\n</tr>\n<tr>\n<td>amount</td>\n<td>int</td>\n<td>compulsory</td>\n<td>Set to amount in kobo to be processed</td>\n</tr>\n<tr>\n<td>transaction.customer.customer_ref</td>\n<td>string</td>\n<td>compulsory</td>\n<td>A unique reference to identify this customer</td>\n</tr>\n<tr>\n<td>transaction.customer.firstname</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The firstname of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.surname</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The surname of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.email</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The email of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.mobile_no</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The mobile number of the customer</td>\n</tr>\n<tr>\n<td>transaction.details.destination_account</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The destination account number</td>\n</tr>\n<tr>\n<td>transaction.details.destination_bank_code</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The cbn bank code of the destination account number</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response-body-elements\">Response body elements</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Element</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>status</td>\n<td>Standard response. <strong>Successful</strong> or anything else. If the response is <code>WaitingForOTP</code> or <code>PendingValidation</code>, then display the <code>response.message</code>, collect the input from the user and follow with a <code>/transact/validate</code> API call. See <a href=\"https://v2.docs.onepipe.io/?version=latest#b294a37e-e131-4fd3-931b-7868bec36e34\">here</a>.</td>\n</tr>\n<tr>\n<td>message</td>\n<td>A message or description of the response</td>\n</tr>\n<tr>\n<td>data.provider</td>\n<td>The provider that was used to process the request</td>\n</tr>\n<tr>\n<td>data.provider_response_code</td>\n<td>Response code as determined by the underlying provider</td>\n</tr>\n<tr>\n<td>data.provider_response.reference</td>\n<td>A reference from the provider for reconciliation purposes</td>\n</tr>\n<tr>\n<td>data.provider_response.destination_institution_code</td>\n<td>NIP destination institution code</td>\n</tr>\n<tr>\n<td>data.provider_response.beneficiary_account_name</td>\n<td>Beneficiary account name</td>\n</tr>\n<tr>\n<td>data.provider_response.beneficiary_account_number</td>\n<td>Beneficiary account number</td>\n</tr>\n<tr>\n<td>data.provider_response.beneficiary_kyc_level</td>\n<td>KYC level of beneficiary</td>\n</tr>\n<tr>\n<td>data.provider_response.originator_account_name</td>\n<td>Sender account name</td>\n</tr>\n<tr>\n<td>data.provider_response.originator_account_number</td>\n<td>KYC level of sender</td>\n</tr>\n<tr>\n<td>data.provider_response.originator_kyc_level</td>\n<td>KYC level of sender</td>\n</tr>\n<tr>\n<td>data.provider_response.narration</td>\n<td>Narration for the transaction</td>\n</tr>\n<tr>\n<td>data.provider_response.transaction_final_amount</td>\n<td>Amount in <code>kobo</code> processed</td>\n</tr>\n<tr>\n<td>data.provider_response.payment_id</td>\n<td>Transaction payment id</td>\n</tr>\n<tr>\n<td>data.provider_response.meta</td>\n<td>A custom object that can hold any extra information the provider deems necessary in key vs value pairs.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"list-of-providers\">List of providers</h4>\n<p>For a list of providers that have published and implemented this service, please see <a href=\"https://onepipe.io/explore/v2?service=open_account\">here</a></p>\n<h4 id=\"common-questions\">Common questions</h4>\n<p><strong>Question</strong>: What is the <code>meta</code> object in the request and response?</p>\n<p><strong>Answer</strong>: Some providers at times require or return special fields not covered by the standard. If you know what some of these fields and their values are you can set them in the request <code>meta</code> object and read them from the response <code>meta</code> object. Typically though, <code>null</code> is perfectly fine in most cases.</p>\n","urlObject":{"path":["v2","transact"],"host":["https://api.onepipe.io"],"query":[],"variable":[]}},"response":[{"id":"e70549f8-58c9-4fe4-841d-5b0042ddab5b","name":"Transfer Funds - Successful","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"transfer_funds\",\r\n  \"auth\": {\r\n    \"type\": \"bank.account\", \r\n    \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 1000,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n      \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n    \t\"destination_account\":\"2363262632\",\r\n      \"destination_bank_code\":\"011\"\r\n    }\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 06 Jul 2020 00:11:33 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"858"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Successful\",\n    \"message\": \"Transaction processed successfully\",\n    \"data\": {\n        \"provider_response_code\": \"00\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"destination_institution_code\": \"000016\",\n            \"beneficiary_account_name\": \"JOHN DOE JAMES\",\n            \"beneficiary_account_number\": \"3056433222\",\n            \"beneficiary_kyc_level\": \"3\",\n            \"originator_account_name\": \"James Jane\",\n            \"originator_account_number\": \"0001131256\",\n            \"originator_kyc_level\": \"1\",\n            \"narration\": \"My narration\",\n            \"transaction_final_amount\": 1000,\n            \"reference\": \"1457619876472\",\n            \"meta\": {\n                \"field_key\": \"field_value\"\n            }\n        },\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"},{"id":"0954aa31-cfdd-4198-9307-8f111368f524","name":"Transfer Funds - WaitingForOTP","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"transfer_funds\",\r\n  \"auth\": {\r\n    \"type\": \"bank.account\", \r\n    \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 1000,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n      \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n    \t\"destination_account\":\"2363262632\",\r\n      \"destination_bank_code\":\"011\"\r\n    }\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 06 Jul 2020 00:10:34 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"518"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"WaitingForOTP\",\n    \"message\": \"Please enter the OTP sent to 2348022****08, use 12345678 as your OTP\",\n    \"data\": {\n        \"provider_response_code\": \"900T0\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": null,\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"},{"id":"a2b0dfc4-cfef-4476-ad06-12786e55d429","name":"Transfer Funds - Failed","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"transfer_funds\",\r\n  \"auth\": {\r\n    \"type\": \"bank.account\", \r\n    \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 1000,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n        \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n    \t\"destination_account\":\"2363262632\",\r\n       \"destination_bank_code\":\"011\"\r\n    }\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 06 Jul 2020 00:09:44 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"601"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Failed\",\n    \"message\": \"Invalid Access\",\n    \"data\": {\n        \"options\": null,\n        \"provider_response_code\": null,\n        \"provider\": null,\n        \"errors\": [\n            {\n                \"code\": \"01\",\n                \"message\": \"Application does not have access to Demoprovider\"\n            }\n        ],\n        \"error\": {\n            \"code\": \"01\",\n            \"message\": \"Application does not have access to Demoprovider\"\n        },\n        \"provider_response\": null,\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"}],"_postman_id":"3643bd4f-8227-43e8-9afc-45e6a2aa9b4f"},{"name":"Subscribe","id":"a9376181-6674-442d-ad62-93624830c5b5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n    \"request_ref\": \"111111111\",\r\n    \"request_type\": \"subscribe\",\r\n    \"auth\": {\r\n        \"type\": \"bank.account\",\r\n        \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n        \"auth_provider\": \"Demoprovider\",\r\n        \"route_mode\": null\r\n    },\r\n    \"transaction\": {\r\n        \"mock_mode\": \"live\",\r\n        \"transaction_ref\": \"{{transaction-ref}}\",\r\n        \"transaction_desc\": \"A random transaction\",\r\n        \"transaction_ref_parent\": null,\r\n        \"amount\": 1000,\r\n        \"customer\": {\r\n            \"customer_ref\": \"DemoApp_Customer007\",\r\n            \"firstname\": \"Uju\",\r\n            \"surname\": \"Usmanu\",\r\n            \"email\": \"ujuusmanu@gmail.com\",\r\n            \"mobile_no\": \"234802343132\"\r\n        },\r\n        \"meta\": {},\r\n        \"details\": {}\r\n    }\r\n}"},"url":"https://api.onepipe.io/v2/transact","description":"<p>With this service, the calling apps can do a subscription based transaction from a given source to a preconfigured account number (set on the console). Authorisation details (for source of funds) will always be required by the provider, apps will have to provide this. OnePipe will in turn forward to the provider’s dedicated implementation. Upon receipt of the auth credentials, a provider may challenge for other input as may be required. Then debit the source of funds to move money to the destination.</p>\n<h4 id=\"sequence-of-calls\">Sequence of calls</h4>\n<p>Please be sure to have gone through...</p>\n<ul>\n<li><a href=\"#the-headers\">The headers</a></li>\n<li><a href=\"#the-main-operations-you-can-perform\">Main API operations</a></li>\n<li><a href=\"#what-requests-would-look-like\">Typical OnePipe requests</a></li>\n<li><a href=\"#what-responses-would-look-like\">Typical OnePipe responses</a></li>\n<li><a href=\"#encryption-of-secure-element\">Encryption of the <code>secure</code> element</a></li>\n</ul>\n<p>Here's the call sequence specific to this service...</p>\n<ol>\n<li>Call <code>/v2/transact</code></li>\n<li>Provider responds with any of the completion codes <code>Successful</code>, <code>Processing</code> or <code>Failed</code>.</li>\n<li>To query the status of a transaction, call <code>/v2/transact/query</code></li>\n</ol>\n<h4 id=\"interpreting-the-response\">Interpreting the response</h4>\n<ul>\n<li>Read the response</li>\n<li>Read the <code>provider_response</code> Object</li>\n</ul>\n<h4 id=\"possible-status-values\">Possible status values</h4>\n<ul>\n<li><strong>Successful</strong>: Success</li>\n<li><strong>[Anything else]</strong>: Error. Read the errors object(s)</li>\n</ul>\n<h4 id=\"request-body-elements\">Request body elements</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Requirement</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>request_ref</td>\n<td>string</td>\n<td>compulsory</td>\n<td>A unique reference for this API call</td>\n</tr>\n<tr>\n<td>request_type</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Set to <code>subscribe</code></td>\n</tr>\n<tr>\n<td>auth.type</td>\n<td>string</td>\n<td>compulsory</td>\n<td>This can be set to any of <code>bank.account</code>, <code>card</code> or <code>wallet</code>, depending on the provider</td>\n</tr>\n<tr>\n<td>auth.secure</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Set the value to encrypted to bank account, card or wallet id</td>\n</tr>\n<tr>\n<td>auth.auth_provider</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The Provider against which you want to open the account. e.g. <code>SunTrust</code></td>\n</tr>\n<tr>\n<td>auth.route_mode</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Set to <code>null</code></td>\n</tr>\n<tr>\n<td>transaction.mock_mode</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Set to <code>inspect</code> (for test mode) or <code>live</code> (for live mode)</td>\n</tr>\n<tr>\n<td>transaction.transaction_ref</td>\n<td>string</td>\n<td>compulsory</td>\n<td>A unique reference for the transaction</td>\n</tr>\n<tr>\n<td>transaction.transaction.desc</td>\n<td>string</td>\n<td>compulsory</td>\n<td>A short description or narration</td>\n</tr>\n<tr>\n<td>transaction.transaction_ref_parent</td>\n<td>string</td>\n<td>optional</td>\n<td>Can be set to <code>null</code>. But if you are repeating a prior transaction, you can set it to the <code>transaction_ref</code> of the former transaction to create a link for easy tracking.</td>\n</tr>\n<tr>\n<td>amount</td>\n<td>int</td>\n<td>compulsory</td>\n<td>Set to amount in kobo to be processed</td>\n</tr>\n<tr>\n<td>transaction.customer.customer_ref</td>\n<td>string</td>\n<td>compulsory</td>\n<td>A unique reference to identify this customer</td>\n</tr>\n<tr>\n<td>transaction.customer.firstname</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The firstname of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.surname</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The surname of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.email</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The email of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.mobile_no</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The mobile number of the customer</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response-body-elements\">Response body elements</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Element</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>status</td>\n<td>Standard response. <strong>Successful</strong> or anything else. If the response is <code>WaitingForOTP</code> or <code>PendingValidation</code>, then display the <code>response.message</code>, collect the input from the user and follow with a <code>/transact/validate</code> API call. See <a href=\"https://v2.docs.onepipe.io/?version=latest#b294a37e-e131-4fd3-931b-7868bec36e34\">here</a>.</td>\n</tr>\n<tr>\n<td>message</td>\n<td>A message or description of the response</td>\n</tr>\n<tr>\n<td>data.provider</td>\n<td>The provider that was used to process the request</td>\n</tr>\n<tr>\n<td>data.provider_response_code</td>\n<td>Response code as determined by the underlying provider</td>\n</tr>\n<tr>\n<td>data.provider_response.reference</td>\n<td>A reference from the provider for reconciliation purposes</td>\n</tr>\n<tr>\n<td>data.provider_response.transaction_final_amount</td>\n<td>Amount in <code>kobo</code> processed</td>\n</tr>\n<tr>\n<td>data.provider_response.meta</td>\n<td>A custom object that can hold any extra information the provider deems necessary in key vs value pairs.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"list-of-providers\">List of providers</h4>\n<p>For a list of providers that have published and implemented this service, please see <a href=\"https://onepipe.io/explore/v2?service=open_account\">here</a></p>\n<h4 id=\"common-questions\">Common questions</h4>\n<p><strong>Question</strong>: What is the <code>meta</code> object in the request and response?</p>\n<p><strong>Answer</strong>: Some providers at times require or return special fields not covered by the standard. If you know what some of these fields and their values are you can set them in the request <code>meta</code> object and read them from the response <code>meta</code> object. Typically though, <code>null</code> is perfectly fine in most cases.</p>\n","urlObject":{"path":["v2","transact"],"host":["https://api.onepipe.io"],"query":[],"variable":[]}},"response":[{"id":"3c33afdc-5681-4f4b-83f9-f712c2e303c0","name":"Subscribe - Successful","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"request_ref\": \"111111111\",\r\n    \"request_type\": \"subscribe\",\r\n    \"auth\": {\r\n        \"type\": \"bank.account\",\r\n        \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n        \"auth_provider\": \"Demoprovider\",\r\n        \"route_mode\": null\r\n    },\r\n    \"transaction\": {\r\n        \"mock_mode\": \"live\",\r\n        \"transaction_ref\": \"{{transaction-ref}}\",\r\n        \"transaction_desc\": \"A random transaction\",\r\n        \"transaction_ref_parent\": null,\r\n        \"amount\": 1000,\r\n        \"customer\": {\r\n            \"customer_ref\": \"DemoApp_Customer007\",\r\n            \"firstname\": \"Uju\",\r\n            \"surname\": \"Usmanu\",\r\n            \"email\": \"ujuusmanu@gmail.com\",\r\n            \"mobile_no\": \"234802343132\"\r\n        },\r\n        \"meta\": {},\r\n        \"details\": {}\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 06 Jul 2020 00:11:33 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"858"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Successful\",\n    \"message\": \"Transaction processed successfully\",\n    \"data\": {\n        \"provider_response_code\": \"00\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"transaction_final_amount\": 1000,\n            \"reference\": \"1457619876472\",\n            \"meta\": {\n                \"field_key\": \"field_value\"\n            }\n        },\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"},{"id":"87399d89-5157-4e3d-a94f-43c92ea42ba8","name":"Subscribe - Failed","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"request_ref\": \"111111111\",\r\n    \"request_type\": \"subscribe\",\r\n    \"auth\": {\r\n        \"type\": \"bank.account\",\r\n        \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n        \"auth_provider\": \"Demoprovider\",\r\n        \"route_mode\": null\r\n    },\r\n    \"transaction\": {\r\n        \"mock_mode\": \"live\",\r\n        \"transaction_ref\": \"{{transaction-ref}}\",\r\n        \"transaction_desc\": \"A random transaction\",\r\n        \"transaction_ref_parent\": null,\r\n        \"amount\": 1000,\r\n        \"customer\": {\r\n            \"customer_ref\": \"DemoApp_Customer007\",\r\n            \"firstname\": \"Uju\",\r\n            \"surname\": \"Usmanu\",\r\n            \"email\": \"ujuusmanu@gmail.com\",\r\n            \"mobile_no\": \"234802343132\"\r\n        },\r\n        \"meta\": {},\r\n        \"details\": {}\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 06 Jul 2020 00:09:44 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"601"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Failed\",\n    \"message\": \"Invalid Access\",\n    \"data\": {\n        \"options\": null,\n        \"provider_response_code\": null,\n        \"provider\": null,\n        \"errors\": [\n            {\n                \"code\": \"01\",\n                \"message\": \"Application does not have access to Demoprovider\"\n            }\n        ],\n        \"error\": {\n            \"code\": \"01\",\n            \"message\": \"Application does not have access to Demoprovider\"\n        },\n        \"provider_response\": null,\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"}],"_postman_id":"a9376181-6674-442d-ad62-93624830c5b5"},{"name":"Lookup Customer Reference","id":"d9b3c7a7-24b5-401f-9b15-ce7761fe04c7","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"lookup_customer_reference\",\r\n  \"auth\": {\r\n    \"type\": null,\r\n    \"secure\": null,\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\":null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": \"\", \r\n    \"amount\": 10000,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n      \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n      \"biller_id\": \"{{code representing the biller}}\",\r\n      \"biller_item_id\": \"{{code representing the biller's product}}\"\r\n    }\r\n  }\r\n}"},"url":"https://api.onepipe.io/v2/transact","description":"<p>With this, you can KYC a customer's bank verification number.This service unlike <code>LOOKUP BVN MIN</code>and <code>LOOKUP BVN MID</code> returns  maximum KYC information.</p>\n<h4 id=\"sequence-of-calls\">Sequence of calls</h4>\n<ul>\n<li>Primary call: <code>/v2/transact</code></li>\n<li>Provider responds with WaitingForOTP or PendingValidation (if required)</li>\n<li>Call <code>v2/transact/validate</code> to supply OTP if needed</li>\n<li>Provider responds with any of the completion codes <code>Successful</code> or <code>Failed</code>.\n*Call <code>/transact/validate</code> to supply OTP if needed</li>\n<li>To query the status of a transaction, a call can be made to  <code>/v2/transact/query</code> endpoint.</li>\n<li>Depending on the provider, the app can call <code>v2/transact/reverse</code> to request a reversal</li>\n</ul>\n<h4 id=\"interpreting-the-response\">Interpreting the response</h4>\n<ul>\n<li>Read the reponse</li>\n<li>Read the <code>provider_response</code> Object</li>\n</ul>\n<h4 id=\"possible-status-values\">Possible status values</h4>\n<ul>\n<li><strong>Successful</strong>: Success</li>\n<li><strong>[Anything else]</strong>: Error. Read the errors object(s)</li>\n</ul>\n<h4 id=\"breakdown-of-the-details-in-the-request-object\">Breakdown of the details in the Request Object</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Element</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>bvn</td>\n<td>Customer bvn to look up</td>\n</tr>\n<tr>\n<td>otp_override</td>\n<td><strong>OPTIONAL</strong> Defaults to <code>false</code>. If set to <code>true</code>, request will not be validated by OTP.</td>\n</tr>\n<tr>\n<td>dob</td>\n<td>The date of birth to match in <code>yyyy-MM-dd</code> format</td>\n</tr>\n<tr>\n<td>include_image</td>\n<td>Defaults to <code>true</code>. Instructs the provider whether to include image of the BVN holder or not.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"request-body-elements\">Request body elements</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Element</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>request_ref</td>\n<td>A unique reference for this specific API call. Must be uniquely generated for every single call</td>\n</tr>\n<tr>\n<td>request_type</td>\n<td>Service identifier - <code>lookup_bvn_mid</code></td>\n</tr>\n<tr>\n<td>auth.type</td>\n<td><code>bvn</code>.</td>\n</tr>\n<tr>\n<td>auth.secure</td>\n<td>encrypted BVN</td>\n</tr>\n<tr>\n<td>transaction.customer.customer_ref</td>\n<td>Mobile number of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.firstname</td>\n<td>First name of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.surname</td>\n<td>Surname of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.email</td>\n<td>Email address of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.mobile_no</td>\n<td>Mobile number of the customer</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response-body-elements\">Response body elements</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Element</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>status</td>\n<td>Standard response. <strong>Successful</strong> or anything else.</td>\n</tr>\n<tr>\n<td>message</td>\n<td>A message or description of the response</td>\n</tr>\n<tr>\n<td>data.provider</td>\n<td>The provider that was used to process the request</td>\n</tr>\n<tr>\n<td>data.provider_response_code</td>\n<td>Response code as determined by the underlying provider</td>\n</tr>\n<tr>\n<td>data.provider_response</td>\n<td>This object contains the actual response for the provider. It contains the <code>BVN</code> details</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>NOTE</strong>: Please see information on how to compute the <code>Signature</code> header <a href=\"#authentication-headers\">here</a> </p>\n","urlObject":{"path":["v2","transact"],"host":["https://api.onepipe.io"],"query":[],"variable":[]}},"response":[{"id":"feb8521a-ca5d-413b-a13f-568d7ec1a700","name":"Lookup Customer Reference - Successful","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"lookup_customer_reference\",\r\n  \"auth\": {\r\n    \"type\": null,\r\n    \"secure\": null,\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\":null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": \"\", \r\n    \"amount\": 10000,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n      \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n      \"biller_id\": \"{{code representing the biller}}\",\r\n      \"biller_item_id\": \"{{code representing the biller's product}}\"\r\n    }\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 06 Jul 2020 00:13:40 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"1487"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Successful\",\n    \"message\": \"Transaction processed successfully\",\n    \"data\": {\n        \"provider_response_code\": \"00\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"products\": [\n                {\n                    \"order_reference\": \"101638163628490752\",\n                    \"biller_item_id\": \"101638163628490752\",\n                    \"biller_item_code\": \"RAC01\",\n                    \"biller_item_name\": \"DSTV Premium\",\n                    \"biller_item_description\": \"This is DSTV Premium that is lovely\",\n                    \"biller_item_image_url\": \"{{url to an image}}\",\n                    \"biller_item_prompt\": \"Please neter your smartcard number\",\n                    \"customer_name\": \"Kola Uju Abubakar Premium\",\n                    \"biller_item_meta\": {},\n                    \"amount\": \"500000\",\n                    \"currency\": \"566\",\n                    \"terms\": \"{{some HTML content}}\",\n                    \"terms_url\": \"{{some url}}\"\n                },\n                {\n                    \"order_reference\": \"101638163628490752\",\n                    \"biller_item_id\": \"101638163628490752\",\n                    \"biller_item_code\": \"RAC01\",\n                    \"biller_item_name\": \"DSTV Premium\",\n                    \"biller_item_description\": \"This is DSTV Premium that is lovely\",\n                    \"biller_item_image_url\": \"{{url to an image}}\",\n                    \"biller_item_prompt\": \"Please neter your smartcard number\",\n                    \"customer_name\": \"Kola Uju Abubakar Premium\",\n                    \"biller_item_meta\": {},\n                    \"amount\": \"500000\",\n                    \"currency\": \"566\",\n                    \"terms\": \"{{some HTML content}}\",\n                    \"terms_url\": \"{{some url}}\"\n                }\n            ],\n            \"reference\": \"6614764887863\",\n            \"meta\": {\n                \"field_key\": \"field_value\"\n            }\n        },\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"},{"id":"55c68a52-e2df-4eb1-9633-ecf62b4fbef1","name":"Lookup Customer Reference - WaitingForOTP","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"lookup_customer_reference\",\r\n  \"auth\": {\r\n    \"type\": null,\r\n    \"secure\": null,\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\":null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": \"\", \r\n    \"amount\": 10000,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"{{customer id}}\",\r\n    \t\"firstname\": \"Uju\",\r\n        \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n      \"biller_id\": \"{{code representing the biller}}\",\r\n      \"biller_item_id\": \"{{code representing the biller's specific product}}\"\r\n    }\r\n  }\r\n}"},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sat, 16 May 2020 14:47:33 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"nginx/1.17.8"},{"key":"Vary","value":"Accept-Encoding"},{"key":"Content-Encoding","value":"gzip"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"WaitingForOTP\",\n    \"message\": \"Please enter the OTP sent to 2348022****08\",\n    \"data\": {\n        \"provider_response_code\": \"900T0\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": null,\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"}],"_postman_id":"d9b3c7a7-24b5-401f-9b15-ce7761fe04c7"},{"name":"Buy Airtime - options","id":"6a8889d6-5520-45c3-b0cd-464bc1fb69b6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"buy_airtime\",\r\n  \"auth\": {\r\n    \"type\": \"wallet\", \r\n    \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\":null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": \"\", \r\n    \"amount\": 10000,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n      \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n      \"telco_code\": \"mtn\"\r\n    }\r\n  }\r\n}"},"url":"https://api.onepipe.io/v2/transact/options","urlObject":{"path":["v2","transact","options"],"host":["https://api.onepipe.io"],"query":[],"variable":[]}},"response":[{"id":"7d6603df-d225-4258-8050-42e88a88b648","name":"Buy Airtime - options - Successful","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"buy_airtime\",\r\n  \"auth\": {\r\n    \"type\": \"wallet\", \r\n    \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\":null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": \"\", \r\n    \"amount\": 10000,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n      \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n      \"telco_code\": \"mtn\"\r\n    }\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact/options"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 06 Jul 2020 00:16:19 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"1497"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"OptionsDelivered\",\n    \"message\": \"Transaction processed successfully\",\n    \"data\": {\n        \"options\": null,\n        \"provider_response_code\": \"00\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"products\": [\n                {\n                    \"order_reference\": \"101638163628490752\",\n                    \"biller_item_id\": \"101638163628490752\",\n                    \"biller_item_code\": \"RAC01\",\n                    \"biller_item_name\": \"40GB Daily\",\n                    \"biller_item_description\": \"This is 40GB Daily bundle. So lovely\",\n                    \"biller_item_image_url\": \"{{url to an image}}\",\n                    \"biller_item_prompt\": \"Please enter your phone number\",\n                    \"customer_name\": \"Kola Uju Abubakar Premium\",\n                    \"biller_item_meta\": {},\n                    \"amount\": \"500000\",\n                    \"currency\": \"566\",\n                    \"terms\": \"{{some HTML content}}\",\n                    \"terms_url\": \"{{some url}}\"\n                },\n                {\n                    \"order_reference\": \"101638163628490752\",\n                    \"biller_item_id\": \"101638163628490752\",\n                    \"biller_item_code\": \"RAC01\",\n                    \"biller_item_name\": \"40GB Daily\",\n                    \"biller_item_description\": \"This is 40GB Daily bundle. So lovely\",\n                    \"biller_item_image_url\": \"{{url to an image}}\",\n                    \"biller_item_prompt\": \"Please enter your phone number\",\n                    \"customer_name\": \"Kola Uju Abubakar Premium\",\n                    \"biller_item_meta\": {},\n                    \"amount\": \"500000\",\n                    \"currency\": \"566\",\n                    \"terms\": \"{{some HTML content}}\",\n                    \"terms_url\": \"{{some url}}\"\n                }\n            ],\n            \"reference\": \"129619994233\",\n            \"meta\": {\n                \"field_key\": \"field_value\"\n            }\n        },\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"}],"_postman_id":"6a8889d6-5520-45c3-b0cd-464bc1fb69b6"},{"name":"Buy Airtime - transact","id":"634f277d-5cab-4d66-820c-5892703aad7f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"buy_airtime\",\r\n  \"auth\": {\r\n    \"type\": \"wallet\", \r\n    \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": \"\", \r\n    \"amount\": 10000,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n      \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n      \"telco_code\": \"mtn\"\r\n    }\r\n  }\r\n}"},"url":"https://api.onepipe.io/v2/transact","description":"<h1 id=\"service-description\">Service description</h1>\n<p>With this service, the calling app can collect a payment and top up a customer’s mobile number with airtime at the same time. Also, it supports the ability to use preconfigured dealer accounts where this is the preference of the provider. Where necessary, apps will collect authorisation details and forward to OnePipe to execute a debit and topup, OnePipe will in turn forward to the provider’s dedicated implementation. Supported auth types vary by provider.</p>\n<h4 id=\"sequence-of-calls\">Sequence of calls</h4>\n<p>Please be sure to have gone through...</p>\n<ul>\n<li><a href=\"#the-headers\">The headers</a>  </li>\n<li><a href=\"#the-main-operations-you-can-perform\">Main API operations</a></li>\n<li><a href=\"#what-requests-would-look-like\">Typical OnePipe requests</a>  </li>\n<li><a href=\"#what-responses-would-look-like\">Typical OnePipe responses</a></li>\n<li><a href=\"#encryption-of-secure-element\">Encryption of the <code>secure</code> element</a></li>\n</ul>\n<p>Here's the call sequence specific to this service...</p>\n<ol>\n<li>Call <code>/transact</code> with the right auth details if required. See <a href=\"#encryption-of-secure-element\">here</a></li>\n<li>Provider responds with <code>WaitingForOTP</code> or <code>PendingValidation</code> if they require OTP verification</li>\n<li>Call <code>/transact/validate</code> to supply OTP if needed</li>\n<li>Provider responds with any of the completion codes <code>Successful</code> or <code>Failed</code>. </li>\n<li>To query the status of a transaction, call <code>/transact/query</code></li>\n</ol>\n<h4 id=\"interpreting-the-response\">Interpreting the response</h4>\n<ul>\n<li>Read the response</li>\n<li>Read the <code>provider_response</code> Object</li>\n</ul>\n<h4 id=\"possible-status-values\">Possible status values</h4>\n<ul>\n<li><strong>Successful</strong>: Success</li>\n<li><strong>WaitingForOTP</strong>: Display the <code>status.message</code> and collect the input from the user, then follow with a <code>/transact/validate</code></li>\n<li><strong>PendingValidation</strong>: Display the <code>status.message</code> and collect the input from the user, then follow with a <code>/transact/validate</code></li>\n<li><strong>Processing</strong>: Processing the airtime is taking longer than usual but is probably still executing in the background. Typically, the provider will send the final result via your webhook [see here (#60695d18-6d30-468f-ae5f-edee46d8c017)]</li>\n<li><strong>[Anything else]</strong>: Error. Read the errors object(s)</li>\n</ul>\n<h4 id=\"request-body-elements\">Request body elements</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Requirement</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>request_ref</td>\n<td>string</td>\n<td>compulsory</td>\n<td>A unique reference for this API call</td>\n</tr>\n<tr>\n<td>request_type</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Set to <code>buy_airtime</code></td>\n</tr>\n<tr>\n<td>auth.type</td>\n<td>string</td>\n<td>optional</td>\n<td>Depends on what the provider requires to execute the topup. [See supported types (#encryption-of-secure-element)]</td>\n</tr>\n<tr>\n<td>auth.secure</td>\n<td>string</td>\n<td>optional</td>\n<td>If a type is set, then encrypt the value here.</td>\n</tr>\n<tr>\n<td>auth.auth_provider</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The Provider against which you want to open the account. e.g. <code>Payant</code></td>\n</tr>\n<tr>\n<td>auth.route_mode</td>\n<td>string</td>\n<td>optional</td>\n<td>Set to <code>null</code></td>\n</tr>\n<tr>\n<td>transaction.mock_mode</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Set to <code>inspect</code> (for test mode) or <code>live</code> (for live mode)</td>\n</tr>\n<tr>\n<td>transaction.transaction_ref</td>\n<td>string</td>\n<td>compulsory</td>\n<td>A unique reference for the transaction</td>\n</tr>\n<tr>\n<td>transaction.transaction.desc</td>\n<td>string</td>\n<td>compulsory</td>\n<td>A short description or narration</td>\n</tr>\n<tr>\n<td>transaction.transaction_ref_parent</td>\n<td>string</td>\n<td>optional</td>\n<td>Can be set to <code>null</code>. But if you are repeating an prior transaction, you can set it to the <code>transaction_ref</code> of the former transaction to create a link for easy tracking.</td>\n</tr>\n<tr>\n<td>amount</td>\n<td>int</td>\n<td>compulsory</td>\n<td>Value of the airtime to top up. In lower denomination.</td>\n</tr>\n<tr>\n<td>transaction.customer.customer_ref</td>\n<td>string</td>\n<td>compulsory</td>\n<td>A unique reference to identify this customer. Could be the same as phone number to top up.</td>\n</tr>\n<tr>\n<td>transaction.customer.firstname</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The firstname of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.surname</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The surname of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.email</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The email of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.mobile_no</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The mobile number of the customer</td>\n</tr>\n<tr>\n<td>transaction.details.telco_code</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Set to one of <code>mtn</code>, <code>glo</code>, <code>9mobile</code> and <code>airtel</code>.</td>\n</tr>\n<tr>\n<td>transaction.details.fulfillment_msisdn</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Set to the phone number that should be topped up.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response-body-elements\">Response body elements</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Element</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>status</td>\n<td>Standard response. <strong>Successful</strong> or anything else. If the response is <code>WaitingForOTP</code> or <code>PendingValidation</code>, then display the <code>response.message</code>, collect the input from the user and follow with a <code>/transact/validate</code> API call. See here.</td>\n</tr>\n<tr>\n<td>message</td>\n<td>A message or description of the response</td>\n</tr>\n<tr>\n<td>data.provider</td>\n<td>The provider that was used to process the request</td>\n</tr>\n<tr>\n<td>data.provider_response_code</td>\n<td>Response code as determined by the underlying provider</td>\n</tr>\n<tr>\n<td>data.provider_response.reference</td>\n<td>A reference from the provider for reconciliation purposes</td>\n</tr>\n<tr>\n<td>data.provider_response.payment_status</td>\n<td>Status of the debit on the source of funds for the airtime. At times, this debit may be successful, but the overall airtime transaction may not be. This would let you know. Supported values are <code>Successful</code>, <code>Failed</code> <code>Processing</code></td>\n</tr>\n<tr>\n<td>data.provider_response.fulfillment_status</td>\n<td>This denotes whether the airtime was fulfilled successfully. Supported values are <code>Successful</code>, <code>Failed</code>, <code>Processing</code>.</td>\n</tr>\n<tr>\n<td>data.provider_response.transaction_final_amount</td>\n<td>The final value of airtime that was fulfilled.</td>\n</tr>\n<tr>\n<td>data.provider_response.transaction_fee</td>\n<td>The fee that was charged for the transaction.</td>\n</tr>\n<tr>\n<td>data.provider_response.narration</td>\n<td>A narration that was applied for the transaction. This is what will show in the source of funds. (wallet, bank statements, etc).</td>\n</tr>\n<tr>\n<td>data.provider_response.meta</td>\n<td>A custom object that can hold any extra information the provider deems necessary in key vs value pairs.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"list-of-providers\">List of providers</h4>\n<p>For a list of providers that have published and implemented this service, please see <a href=\"https://onepipe.io/explore/v2?service=buy_airtime\">here</a></p>\n<h4 id=\"common-questions\">Common questions</h4>\n<p><strong>Question</strong>: It looks like I am specifying mobile number in multiple places even though <code>fulfillment_msisdn</code> is the only one that counts. Why is this?</p>\n<p><strong>Answer</strong>: OnePipe APIs all try to follow a common standard such that all services require the same exact payload. It's the values within the payload that will then vary, service by service. In this case, <code>customer_ref</code> and <code>mobile_no</code> or part of the common standard, while <code>fulfillment_msisdn</code> is what is uniquely used to drive <code>buy airtime</code></p>\n<p><strong>Question</strong>: What is the <code>meta</code> object in the request and response?</p>\n<p><strong>Answer</strong>: Some providers at times require or return special fields not covered by the standard. If you know what some of these fields and their values are you can set them in the request <code>meta</code> object and read them from the response <code>meta</code> object. Typically though, <code>null</code> is perfectly fine in most cases.</p>\n","urlObject":{"path":["v2","transact"],"host":["https://api.onepipe.io"],"query":[],"variable":[]}},"response":[{"id":"502137a9-b108-4ac2-bee9-eb9c88e282fc","name":"Buy Airtime - transact - Successful","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"buy_airtime\",\r\n  \"auth\": {\r\n    \"type\": \"wallet\", \r\n    \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": \"\", \r\n    \"amount\": 10000,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n      \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n      \"telco_code\": \"mtn\"\r\n    }\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 06 Jul 2020 00:19:16 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"683"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Successful\",\n    \"message\": \"Transaction processed successfully\",\n    \"data\": {\n        \"provider_response_code\": \"00\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"payment_status\": \"Successful\",\n            \"fulfillment_status\": \"Succesful\",\n            \"transaction_final_amount\": 20000,\n            \"transaction_fee\": 5000,\n            \"narration\": \"My narration\",\n            \"reference\": \"470542923879\",\n            \"meta\": {\n                \"field_key\": \"field_value\"\n            }\n        },\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"},{"id":"47199652-0e2c-4546-8793-af163e94d55f","name":"Buy Airtime - transact - WaitingForOTP","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"buy_airtime\",\r\n  \"auth\": {\r\n    \"type\": \"wallet\", \r\n    \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": \"\", \r\n    \"amount\": 10000,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n      \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n      \"telco_code\": \"mtn\"\r\n    }\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 06 Jul 2020 00:18:34 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"518"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"WaitingForOTP\",\n    \"message\": \"Please enter the OTP sent to 2348022****08, use 12345678 as your OTP\",\n    \"data\": {\n        \"provider_response_code\": \"900T0\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": null,\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"},{"id":"834e23cd-b4d5-43b6-bad2-1ac8ca387c02","name":"Buy Airtime - transact - Failed","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"buy_airtime\",\r\n  \"auth\": {\r\n    \"type\": \"wallet\", \r\n    \"secure\": \"{{auth.card}}\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": \"\", \r\n    \"amount\": 10000,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n      \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n      \"telco_code\": \"mtn\"\r\n    }\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 06 Jul 2020 00:20:05 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"605"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"failed\",\n    \"message\": \"Invalid key used to encrypt auth details\",\n    \"data\": {\n        \"options\": null,\n        \"provider_response_code\": null,\n        \"provider\": null,\n        \"errors\": [\n            {\n                \"code\": \"04\",\n                \"message\": \"error occured while decrypting secure\"\n            }\n        ],\n        \"error\": {\n            \"code\": \"04\",\n            \"message\": \"error occured while decrypting secure\"\n        },\n        \"provider_response\": null,\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"}],"_postman_id":"634f277d-5cab-4d66-820c-5892703aad7f"},{"name":"Pay Electricity - options","id":"cb11c484-ec20-48bd-8591-726f1cc23d27","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"pay_electricity\",\r\n  \"auth\": {\r\n    \"type\": null, \r\n    \"secure\": null,\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\":null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": \"\", \r\n    \"amount\": 10000,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"{{customer id}}\",\r\n    \t\"firstname\": \"Uju\",\r\n      \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n   \"details\": {\r\n      \"biller_id\": \"EKDC\",\r\n      \"biller_item_id\": null,\r\n      \"order_reference\": null\r\n    }\r\n  }\r\n}"},"url":"https://api.onepipe.io/v2/transact/options","urlObject":{"path":["v2","transact","options"],"host":["https://api.onepipe.io"],"query":[],"variable":[]}},"response":[{"id":"69ea38a3-7468-4be8-998d-3f830c386c29","name":"Pay Electricity - options - OptionsDelivered","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"pay_electricity\",\r\n  \"auth\": {\r\n    \"type\": null, \r\n    \"secure\": null,\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\":null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": \"\", \r\n    \"amount\": 10000,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"{{customer id}}\",\r\n    \t\"firstname\": \"Uju\",\r\n      \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n   \"details\": {\r\n      \"biller_id\": \"EKDC\",\r\n      \"biller_item_id\": null,\r\n      \"order_reference\": null\r\n    }\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact/options"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 06 Jul 2020 00:35:25 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"1476"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"OptionsDelivered\",\n    \"message\": \"Transaction processed successfully\",\n    \"data\": {\n        \"options\": null,\n        \"provider_response_code\": \"00\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"products\": [\n                {\n                    \"order_reference\": \"101638163628490752\",\n                    \"biller_item_id\": \"101638163628490752\",\n                    \"biller_item_code\": \"RAC01\",\n                    \"biller_item_name\": \"IBDEC\",\n                    \"biller_item_description\": \"This is IBDEC Premium\",\n                    \"biller_item_image_url\": \"{{url to an image}}\",\n                    \"biller_item_prompt\": \"Please enter your meter number\",\n                    \"customer_name\": \"Kola Uju Abubakar Premium\",\n                    \"biller_item_meta\": {},\n                    \"amount\": \"500000\",\n                    \"currency\": \"566\",\n                    \"terms\": \"{{some HTML content}}\",\n                    \"terms_url\": \"{{some url}}\"\n                },\n                {\n                    \"order_reference\": \"101638163628490752\",\n                    \"biller_item_id\": \"101638163628490752\",\n                    \"biller_item_code\": \"RAC01\",\n                    \"biller_item_name\": \"Ikeja Electric\",\n                    \"biller_item_description\": \"This is Ikeja Electric Premium\",\n                    \"biller_item_image_url\": \"{{url to an image}}\",\n                    \"biller_item_prompt\": \"Please enter your meter number\",\n                    \"customer_name\": \"Kola Uju Abubakar Premium\",\n                    \"biller_item_meta\": {},\n                    \"amount\": \"500000\",\n                    \"currency\": \"566\",\n                    \"terms\": \"{{some HTML content}}\",\n                    \"terms_url\": \"{{some url}}\"\n                }\n            ],\n            \"reference\": \"4640518412451\",\n            \"meta\": {\n                \"field_key\": \"field_value\"\n            }\n        },\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"}],"_postman_id":"cb11c484-ec20-48bd-8591-726f1cc23d27"},{"name":"Pay Electricity - transact","id":"7264e4a2-b07d-4bb6-b719-ea9d38244b76","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"pay_electricity\",\r\n  \"auth\": {\r\n    \"type\": \"card\", \r\n    \"secure\": \"zmy+k26tJMpjYuFfRUMCcJTAlWQVSKu8Vr9fhbfP1fo9toqiTLdp+UU1Kj7Y0HYAvS36BNL/zux8jFkPHX0vlYBiaqdXXS2E\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\":null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": \"\", \r\n    \"amount\": 10000,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"{{customer id}}\",\r\n    \t\"firstname\": \"Uju\",\r\n      \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n      \"biller_id\": \"IBEDC\",\r\n      \"biller_item_id\": null,\r\n      \"order_reference\": \"0909999988\"\r\n    }\r\n  }\r\n}"},"url":"https://api.onepipe.io/v2/transact","urlObject":{"path":["v2","transact"],"host":["https://api.onepipe.io"],"query":[],"variable":[]}},"response":[{"id":"c0c6435c-7c27-4e41-a4f9-abbb899bb724","name":"Pay Electricity - transact - Successful","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"pay_electricity\",\r\n  \"auth\": {\r\n    \"type\": \"card\", \r\n    \"secure\": \"zmy+k26tJMpjYuFfRUMCcJTAlWQVSKu8Vr9fhbfP1fo9toqiTLdp+UU1Kj7Y0HYAvS36BNL/zux8jFkPHX0vlYBiaqdXXS2E\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\":null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": \"\", \r\n    \"amount\": 10000,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"{{customer id}}\",\r\n    \t\"firstname\": \"Uju\",\r\n      \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n      \"biller_id\": \"IBEDC\",\r\n      \"biller_item_id\": null,\r\n      \"order_reference\": \"0909999988\"\r\n    }\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 06 Jul 2020 00:37:11 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"649"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Successful\",\n    \"message\": \"Transaction processed successfully\",\n    \"data\": {\n        \"provider_response_code\": \"00\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"reference\": \"4983869582244\",\n            \"payment_status\": \"Successful\",\n            \"fulfillment_status\": \"Succesful\",\n            \"transaction_final_amount\": 20000,\n            \"transaction_fee\": 5000,\n            \"narration\": \"My narration\"\n        },\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"},{"id":"85d11871-6e4f-4fa8-b025-92bbdca6dd25","name":"Pay Electricity - transact - WaitingForOTP","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"pay_electricity\",\r\n  \"auth\": {\r\n    \"type\": \"card\", \r\n    \"secure\": \"zmy+k26tJMpjYuFfRUMCcJTAlWQVSKu8Vr9fhbfP1fo9toqiTLdp+UU1Kj7Y0HYAvS36BNL/zux8jFkPHX0vlYBiaqdXXS2E\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\":null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": \"\", \r\n    \"amount\": 10000,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"{{customer id}}\",\r\n    \t\"firstname\": \"Uju\",\r\n      \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n      \"biller_id\": \"IBEDC\",\r\n      \"biller_item_id\": null,\r\n      \"order_reference\": \"0909999988\"\r\n    }\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 06 Jul 2020 00:36:32 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"518"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"WaitingForOTP\",\n    \"message\": \"Please enter the OTP sent to 2348022****08, use 12345678 as your OTP\",\n    \"data\": {\n        \"provider_response_code\": \"900T0\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": null,\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"}],"_postman_id":"7264e4a2-b07d-4bb6-b719-ea9d38244b76"},{"name":"Pay TV - options","id":"d3eda2dc-5ba4-42b6-8f94-4204eee8162f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"pay_tv\",\r\n  \"auth\": {\r\n    \"type\": null, \r\n    \"secure\": null,\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": \"\", \r\n    \"amount\": 10000,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n        \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n   \"details\": {\r\n      \"biller_id\": \"dstv\",\r\n      \"biller_item_id\": null,\r\n      \"order_reference\": null\r\n    }\r\n  }\r\n}"},"url":"https://api.onepipe.io/v2/transact/options","urlObject":{"path":["v2","transact","options"],"host":["https://api.onepipe.io"],"query":[],"variable":[]}},"response":[{"id":"1fc2d9a1-3d5a-445f-af27-5495de06d104","name":"Pay TV - options - OptionsDelivered","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"pay_tv\",\r\n  \"auth\": {\r\n    \"type\": null, \r\n    \"secure\": null,\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": \"\", \r\n    \"amount\": 10000,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n        \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n   \"details\": {\r\n      \"biller_id\": \"dstv\",\r\n      \"biller_item_id\": null,\r\n      \"order_reference\": null\r\n    }\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact/options"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 06 Jul 2020 00:38:27 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"1508"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"OptionsDelivered\",\n    \"message\": \"Transaction processed successfully\",\n    \"data\": {\n        \"options\": null,\n        \"provider_response_code\": \"00\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"products\": [\n                {\n                    \"order_reference\": \"101638163628490752\",\n                    \"biller_item_id\": \"101638163628490752\",\n                    \"biller_item_code\": \"RAC01\",\n                    \"biller_item_name\": \"DSTV Premium\",\n                    \"biller_item_description\": \"This is DSTV Premium that is lovely\",\n                    \"biller_item_image_url\": \"{{url to an image}}\",\n                    \"biller_item_prompt\": \"Please neter your smartcard number\",\n                    \"customer_name\": \"Kola Uju Abubakar Premium\",\n                    \"biller_item_meta\": {},\n                    \"amount\": \"500000\",\n                    \"currency\": \"566\",\n                    \"terms\": \"{{some HTML content}}\",\n                    \"terms_url\": \"{{some url}}\"\n                },\n                {\n                    \"order_reference\": \"101638163628490752\",\n                    \"biller_item_id\": \"101638163628490752\",\n                    \"biller_item_code\": \"RAC01\",\n                    \"biller_item_name\": \"DSTV Premium\",\n                    \"biller_item_description\": \"This is DSTV Premium that is lovely\",\n                    \"biller_item_image_url\": \"{{url to an image}}\",\n                    \"biller_item_prompt\": \"Please neter your smartcard number\",\n                    \"customer_name\": \"Kola Uju Abubakar Premium\",\n                    \"biller_item_meta\": {},\n                    \"amount\": \"500000\",\n                    \"currency\": \"566\",\n                    \"terms\": \"{{some HTML content}}\",\n                    \"terms_url\": \"{{some url}}\"\n                }\n            ],\n            \"reference\": \"1144086180726\",\n            \"meta\": {\n                \"field_key\": \"field_value\"\n            }\n        },\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"}],"_postman_id":"d3eda2dc-5ba4-42b6-8f94-4204eee8162f"},{"name":"Pay TV - transact","id":"5bbc9d9e-c5f8-496e-8458-d7dbf9dabc22","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"pay_tv\",\r\n  \"auth\": {\r\n    \"type\": \"wallet\", \r\n    \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\":null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": \"\", \r\n    \"amount\": 10000,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n      \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n      \"biller_id\": \"DSTV\",\r\n      \"biller_item_id\": \"PREMIUM\",\r\n      \"order_reference\": \"9990009999888\"\r\n    }\r\n  }\r\n}"},"url":"https://api.onepipe.io/v2/transact","urlObject":{"path":["v2","transact"],"host":["https://api.onepipe.io"],"query":[],"variable":[]}},"response":[{"id":"ff63c259-202b-4fe9-9f8e-3b8a0b3d283c","name":"Pay TV - transact - Successful","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"pay_tv\",\r\n  \"auth\": {\r\n    \"type\": \"wallet\", \r\n    \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\":null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": \"\", \r\n    \"amount\": 10000,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n      \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n      \"biller_id\": \"DSTV\",\r\n      \"biller_item_id\": \"PREMIUM\",\r\n      \"order_reference\": \"9990009999888\"\r\n    }\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 06 Jul 2020 00:40:59 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"649"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Successful\",\n    \"message\": \"Transaction processed successfully\",\n    \"data\": {\n        \"provider_response_code\": \"00\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"reference\": \"7267393793450\",\n            \"payment_status\": \"Successful\",\n            \"fulfillment_status\": \"Succesful\",\n            \"transaction_final_amount\": 20000,\n            \"transaction_fee\": 5000,\n            \"narration\": \"My narration\"\n        },\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"},{"id":"ec7d005e-d00e-4b8c-96bf-32cfb087146a","name":"Pay TV - transact - WaitingForOTP","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"pay_tv\",\r\n  \"auth\": {\r\n    \"type\": \"wallet\", \r\n    \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\":null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": \"\", \r\n    \"amount\": 10000,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n      \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n      \"biller_id\": \"DSTV\",\r\n      \"biller_item_id\": \"PREMIUM\",\r\n      \"order_reference\": \"9990009999888\"\r\n    }\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 06 Jul 2020 00:39:41 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"518"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"WaitingForOTP\",\n    \"message\": \"Please enter the OTP sent to 2348022****08, use 12345678 as your OTP\",\n    \"data\": {\n        \"provider_response_code\": \"900T0\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": null,\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"}],"_postman_id":"5bbc9d9e-c5f8-496e-8458-d7dbf9dabc22"},{"name":"Buy Data - transact","id":"5187f0cc-50ef-4f29-861f-481a176d013a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"buy_data\",\r\n  \"auth\": {\r\n    \"type\": null, \r\n    \"secure\": null,\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\":null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": \"\", \r\n    \"amount\": 10000,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n      \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n      \"biller_id\": \"mtn\",\r\n      \"biller_item_id\": \"mtn1\",\r\n      \"order_reference\": \"\"\r\n    }\r\n  }\r\n}"},"url":"https://api.onepipe.io/v2/transact","urlObject":{"path":["v2","transact"],"host":["https://api.onepipe.io"],"query":[],"variable":[]}},"response":[],"_postman_id":"5187f0cc-50ef-4f29-861f-481a176d013a"}],"id":"dc4de412-bd1b-49bd-b48e-70d6b9d18838","_postman_id":"dc4de412-bd1b-49bd-b48e-70d6b9d18838","description":""},{"name":"Credit origination","item":[{"name":"Get Statement","id":"3cf8be56-c24e-4827-bb88-f1759a4a18c5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"get_statement\",\r\n  \"auth\": {\r\n    \"type\": \"bank.account\", \r\n    \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"inspect\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n        \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n        \"start_date\": \"2019-06-01\",\r\n        \"end_date\": \"2019-06-01\"\r\n    }\r\n  }\r\n}"},"url":"https://api.onepipe.io/v2/transact","description":"<h1 id=\"service-description\">Service description</h1>\n<p>With this service, the calling apps can get statements of accounts. Apps will collect the customer reference (account number, or any unique reference) they will like to obtain information on and forward to OnePipe. If authorisation details are required by a provider, apps will have to provide this. OnePipe will in turn forward to the provider’s dedicated implementation.</p>\n<h4 id=\"sequence-of-calls\">Sequence of calls</h4>\n<p>Please be sure to have gone through...</p>\n<ul>\n<li><a href=\"#the-headers\">The headers</a>  </li>\n<li><a href=\"#the-main-operations-you-can-perform\">Main API operations</a></li>\n<li><a href=\"#what-requests-would-look-like\">Typical OnePipe requests</a>  </li>\n<li><a href=\"#what-responses-would-look-like\">Typical OnePipe responses</a></li>\n<li><a href=\"#encryption-of-secure-element\">Encryption of the <code>secure</code> element</a></li>\n</ul>\n<p>Here's the call sequence specific to this service...</p>\n<ol>\n<li>Call <code>/transact</code> with the right auth details if required. See <a href=\"#encryption-of-secure-element\">here</a></li>\n<li>Provider responds with <code>WaitingForOTP</code> or <code>PendingValidation</code> if they require OTP verification</li>\n<li>Call <code>/transact/validate</code> to supply OTP if needed</li>\n<li>Provider responds with any of the completion codes <code>Successful</code> or <code>Failed</code>. </li>\n<li>To query the status of a transaction, call <code>/transact/query</code></li>\n</ol>\n<h4 id=\"interpreting-the-response\">Interpreting the response</h4>\n<ul>\n<li>Read the response</li>\n<li>Read the <code>provider_response</code> Object</li>\n</ul>\n<h4 id=\"possible-status-values\">Possible status values</h4>\n<ul>\n<li><strong>Successful</strong>: Success</li>\n<li><strong>WaitingForOTP</strong>: Display the <code>status.message</code> and collect the input from the user, then follow with a <code>/transact/validate</code></li>\n<li><strong>PendingValidation</strong>: Display the <code>status.message</code> and collect the input from the user, then follow with a <code>/transact/validate</code></li>\n<li><strong>Processing</strong>: Pulling the statement is taking a little longer than expected but is probably still executing in the background. Typically, the provider will send the final result via your webhook [see here (#60695d18-6d30-468f-ae5f-edee46d8c017)]</li>\n<li><strong>[Anything else]</strong>: Error. Read the errors object(s)</li>\n</ul>\n<h4 id=\"request-body-elements\">Request body elements</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Requirement</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>request_ref</td>\n<td>string</td>\n<td>compulsory</td>\n<td>A unique reference for this API call</td>\n</tr>\n<tr>\n<td>request_type</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Set to <code>get_statement</code></td>\n</tr>\n<tr>\n<td>auth.type</td>\n<td>string</td>\n<td>optional</td>\n<td>Depends on what the provider requires to get a statement. Most times, will be <code>bank.account</code>.</td>\n</tr>\n<tr>\n<td>auth.secure</td>\n<td>string</td>\n<td>optional</td>\n<td>If a type is set, then encrypt the value here.</td>\n</tr>\n<tr>\n<td>auth.auth_provider</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The Provider against which you want to open the account. e.g. <code>GTBank</code></td>\n</tr>\n<tr>\n<td>auth.route_mode</td>\n<td>string</td>\n<td>optional</td>\n<td>Set to <code>null</code></td>\n</tr>\n<tr>\n<td>transaction.mock_mode</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Set to <code>inspect</code> (for test mode) or <code>live</code> (for live mode)</td>\n</tr>\n<tr>\n<td>transaction.transaction_ref</td>\n<td>string</td>\n<td>compulsory</td>\n<td>A unique reference for the transaction</td>\n</tr>\n<tr>\n<td>transaction.transaction.desc</td>\n<td>string</td>\n<td>compulsory</td>\n<td>A short description or narration</td>\n</tr>\n<tr>\n<td>transaction.transaction_ref_parent</td>\n<td>string</td>\n<td>optional</td>\n<td>Can be set to <code>null</code>. But if you are repeating an prior transaction, you can set it to the <code>transaction_ref</code> of the former transaction to create a link for easy tracking.</td>\n</tr>\n<tr>\n<td>amount</td>\n<td>int</td>\n<td>compulsory</td>\n<td>Set to <code>0</code></td>\n</tr>\n<tr>\n<td>transaction.customer.customer_ref</td>\n<td>string</td>\n<td>compulsory</td>\n<td>A unique reference to identify this customer</td>\n</tr>\n<tr>\n<td>transaction.customer.firstname</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The firstname of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.surname</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The surname of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.email</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The email of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.mobile_no</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The mobile number of the customer</td>\n</tr>\n<tr>\n<td>transaction.details.start_date</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The start date of the date range for which the statement is required. (yyyy-MM-dd)</td>\n</tr>\n<tr>\n<td>transaction.details.end_date</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The end date of the date range for which the statement is required. (yyyy-MM-dd)</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response-body-elements\">Response body elements</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Element</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>status</td>\n<td>Standard response. <strong>Successful</strong> or anything else. If the response is <code>WaitingForOTP</code> or <code>PendingValidation</code>, then display the <code>response.message</code>, collect the input from the user and follow with a <code>/transact/validate</code> API call. See here.</td>\n</tr>\n<tr>\n<td>message</td>\n<td>A message or description of the response</td>\n</tr>\n<tr>\n<td>data.provider</td>\n<td>The provider that was used to process the request</td>\n</tr>\n<tr>\n<td>data.provider_response_code</td>\n<td>Response code as determined by the underlying provider</td>\n</tr>\n<tr>\n<td>data.provider_response.reference</td>\n<td>A reference from the provider for reconciliation purposes</td>\n</tr>\n<tr>\n<td>data.provider_response.closing_balance</td>\n<td>The closing balance at the end of the date range</td>\n</tr>\n<tr>\n<td>data.provider_response.opening_balance</td>\n<td>The opening balance at the beginning of the date range</td>\n</tr>\n<tr>\n<td>data.provider_response.statement_list[]</td>\n<td>An array containing a list of transactions.</td>\n</tr>\n<tr>\n<td>data.provider_response.statement_list[].transaction_reference</td>\n<td>A reference for the transaction in the list</td>\n</tr>\n<tr>\n<td>data.provider_response.statement_list[].transaction_amount</td>\n<td>Transaction amount</td>\n</tr>\n<tr>\n<td>data.provider_response.statement_list[].balance</td>\n<td>Balance at the end of the transaction</td>\n</tr>\n<tr>\n<td>data.provider_response.statement_list[].transaction_type</td>\n<td><code>C</code> for credit. <code>D</code> for debit.</td>\n</tr>\n<tr>\n<td>data.provider_response.statement_list[].transaction_date</td>\n<td>Timestamp of the transaction in yyyy-MM-dd:hh-mm-ss</td>\n</tr>\n<tr>\n<td>data.provider_response.statement_list[].description</td>\n<td>A narration for the specific transaction in the list</td>\n</tr>\n<tr>\n<td>data.provider_response.meta</td>\n<td>A custom object that can hold any extra information the provider deems necessary in key vs value pairs.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"list-of-providers\">List of providers</h4>\n<p>For a list of providers that have published and implemented this service, please see <a href=\"https://onepipe.io/explore/v2?service=open_account\">here</a></p>\n<h4 id=\"common-questions\">Common questions</h4>\n<p><strong>Question</strong>: Why do I need to specify <code>transaction.amount</code>when it's irrelevant here?</p>\n<p><strong>Answer</strong>: OnePipe APIs all try to follow a common standard such that all services require the same exact payload. It's the values within the payload that will then vary, service by service. In this case, just set it to <code>0</code>.</p>\n<p><strong>Question</strong>: What is the <code>meta</code> object in the request and response?</p>\n<p><strong>Answer</strong>: Some providers at times require or return special fields not covered by the standard. If you know what some of these fields and their values are you can set them in the request <code>meta</code> object and read them from the response <code>meta</code> object. Typically though, <code>null</code> is perfectly fine in most cases.</p>\n","urlObject":{"path":["v2","transact"],"host":["https://api.onepipe.io"],"query":[],"variable":[]}},"response":[{"id":"08b2f592-a2c0-4ec8-8b1c-54c05a33279e","name":"Get Statement - Successful","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"get_statement\",\r\n  \"auth\": {\r\n    \"type\": \"bank.account\", \r\n    \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n        \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n        \"start_date\": \"2019-06-01\",\r\n        \"end_date\": \"2019-06-01\",\r\n        \"otp_override\": true\r\n    }\r\n  }\r\n}"},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 15 May 2020 15:45:14 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"nginx/1.17.8"},{"key":"Vary","value":"Accept-Encoding"},{"key":"Content-Encoding","value":"gzip"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Successful\",\n    \"message\": \"Transaction processed successfully\",\n    \"data\": {\n        \"provider_response_code\": \"00\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"closing_balance\": 1056109,\n            \"opening_balance\": 186279,\n            \"statement_list\": [\n                {\n                    \"transaction_reference\": \"788FTIB20045GJU\",\n                    \"transaction_amount\": 3000563,\n                    \"balance\": 1056109,\n                    \"transaction_type\": \"D\",\n                    \"transaction_date\": \"2020-02-14T00:00:00\",\n                    \"description\": \"MOB.BNKG:011/MUSA TOLULOPE/TRANSFER 30000 FROM 1780***243 TO 1077***364:000008200214190749669842598346\"\n                },\n                {\n                    \"transaction_reference\": \"382FTTP20045000J\",\n                    \"transaction_amount\": 3000,\n                    \"balance\": 4056672,\n                    \"transaction_type\": \"C\",\n                    \"transaction_date\": \"2020-02-14T00:00:00\",\n                    \"description\": \"MB: trans: Trf from CHIJIOKE JULIET JOHN to JOHN DOE JANE\"\n                },\n                {\n                    \"transaction_reference\": \"136n15a200450084\",\n                    \"transaction_amount\": 400,\n                    \"balance\": 3756672,\n                    \"transaction_type\": \"D\",\n                    \"transaction_date\": \"2020-02-14T00:00:00\",\n                    \"description\": \"SMS SERVICE UNCHARGED APPLIED JAN 2020-1780161243\"\n                }\n            ],\n            \"reference\": \"0000318222333334432\",\n            \"meta\": {\n                \"field_key\": \"field_value\"\n            }\n        },\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"},{"id":"037afdbd-ec60-4fe7-98c5-2e3a1ea71bc9","name":"Get Statement - WaitingForOTP","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"get_statement\",\r\n  \"auth\": {\r\n    \"type\": \"bank.account\", \r\n    \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n        \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n        \"start_date\": \"2019-06-01\",\r\n        \"end_date\": \"2019-06-01\"\r\n    }\r\n  }\r\n}"},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 15 May 2020 15:43:09 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"nginx/1.17.8"},{"key":"Vary","value":"Accept-Encoding"},{"key":"Content-Encoding","value":"gzip"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"WaitingForOTP\",\n    \"message\": \"Please enter the OTP sent to 2348022****08\",\n    \"data\": {\n        \"provider_response_code\": \"900T0\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": null,\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"},{"id":"fb52ec2c-798d-4717-a250-4a39db57dfe1","name":"Get Statement - Failed","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"get_statement\",\r\n  \"auth\": {\r\n    \"type\": \"bank.account\", \r\n    \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n        \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n        \"start_date\": \"2019-06-01\",\r\n        \"end_date\": \"2019-06-01\"\r\n    }\r\n  }\r\n}"},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 01 Jul 2020 23:12:54 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"581"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Failed\",\n    \"message\": \"Invalid request mode\",\n    \"data\": {\n        \"options\": null,\n        \"provider_response_code\": null,\n        \"provider\": null,\n        \"errors\": [\n            {\n                \"code\": \"01\",\n                \"message\": \"You are not yet enabled for go-live\"\n            }\n        ],\n        \"error\": {\n            \"code\": \"01\",\n            \"message\": \"You are not yet enabled for go-live\"\n        },\n        \"provider_response\": null,\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"}],"_postman_id":"3cf8be56-c24e-4827-bb88-f1759a4a18c5"},{"name":"Get A Loan - options","id":"3250f9c0-a52c-49df-b62a-9aa4d2b69f65","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"get_a_loan\",\r\n  \"auth\": {\r\n    \"type\": null, \r\n    \"secure\": null,\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n  \t\t\"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": { }\r\n  }\r\n}"},"url":"https://api.onepipe.io/v2/transact/options","description":"<p>With this service, the calling apps can get available loan offers for a customer. Apps will forward details to OnePipe. Apps will supply the mobile number of the customer it's trying to get the offers for. If authorization details are required by a provider, apps will have to provide this. OnePipe will in turn forward to the provider’s dedicated implementation.</p>\n","urlObject":{"path":["v2","transact","options"],"host":["https://api.onepipe.io"],"query":[],"variable":[]}},"response":[{"id":"7e516520-a17b-44f3-9b3e-41056a54c385","name":"Get A Loan - options - WaitingForOTP","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"get_a_loan\",\r\n  \"auth\": {\r\n    \"type\": null, \r\n    \"secure\": null,\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n  \t\t\"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": { }\r\n  }\r\n}"},"url":"https://api.onepipe.io/v2/transact/options"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sun, 05 Jul 2020 22:42:31 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"533"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"WaitingForOTP\",\n    \"message\": \"Please enter the OTP sent to 2348022****08, use 12345678 as your OTP\",\n    \"data\": {\n        \"options\": null,\n        \"provider_response_code\": \"900T0\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": null,\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"},{"id":"dc299823-1900-4a96-92e1-37276e1261e1","name":"Get A Loan - options - OptionsDelivered","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"get_a_loan\",\r\n  \"auth\": {\r\n    \"type\": null, \r\n    \"secure\": null,\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n  \t\t\"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": { }\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact/options"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sun, 05 Jul 2020 22:44:11 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"OptionsDelivered\",\n    \"message\": \"Transaction processed successfully\",\n    \"data\": {\n        \"options\": null,\n        \"provider_response_code\": \"00\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"offers\": [\n                {\n                    \"offer_id\": \"offer-019\",\n                    \"offer_expiry_date\": \"2020-12-09-11-30-12\",\n                    \"loan_amount\": 1000000,\n                    \"loan_fees\": 0,\n                    \"loan_interest_percent\": 15,\n                    \"loan_interest_amount\": 1500,\n                    \"loan_due_amount\": 1000000,\n                    \"loan_due_date\": \"2020-12-09-11-30-12\",\n                    \"lender_code\": \"Migo\",\n                    \"lender_product_code\": \"PRODUCT01\",\n                    \"lender_name\": \"Migo\",\n                    \"lender_terms\": \"Some content will go here\",\n                    \"lender_terms_url\": \"https://terms.html\",\n                    \"extended_data\": {\n                        \"a_key\": \"a_value\"\n                    }\n                },\n                {\n                    \"offer_id\": \"offer-019\",\n                    \"offer_expiry_date\": \"2020-12-09-11-30-12\",\n                    \"loan_amount\": 1000000,\n                    \"loan_fees\": 0,\n                    \"loan_interest_percent\": 15,\n                    \"loan_interest_amount\": 1500,\n                    \"loan_due_amount\": 1000000,\n                    \"loan_due_date\": \"2020-12-09-11-30-12\",\n                    \"lender_code\": \"InstantCash\",\n                    \"lender_product_code\": \"PRODUCT01\",\n                    \"lender_name\": \"InstantCash\",\n                    \"lender_terms\": \"Some content will go here\",\n                    \"lender_terms_url\": \"https://terms.html\",\n                    \"extended_data\": {\n                        \"a_key\": \"a_value\"\n                    }\n                },\n                {\n                    \"offer_id\": \"offer-011\",\n                    \"offer_expiry_date\": \"2020-12-09-11-30-12\",\n                    \"loan_amount\": 5000000,\n                    \"loan_fees\": 0,\n                    \"loan_interest_percent\": 15,\n                    \"loan_interest_amount\": 1500,\n                    \"loan_due_amount\": 5000000,\n                    \"loan_due_date\": \"2020-12-09-11-30-12\",\n                    \"lender_code\": \"Ferratum\",\n                    \"lender_product_code\": \"LOAN01\",\n                    \"lender_name\": \"Ferratum\",\n                    \"lender_terms\": \"Some content will go here\",\n                    \"lender_terms_url\": \"https://terms.html\",\n                    \"extended_data\": {\n                        \"a_key\": \"a_value\"\n                    }\n                },\n                {\n                    \"offer_id\": \"offer-022\",\n                    \"offer_expiry_date\": \"2020-12-09-11-30-12\",\n                    \"loan_amount\": 1000000,\n                    \"loan_fees\": 0,\n                    \"loan_interest_percent\": 15,\n                    \"loan_interest_amount\": 1500,\n                    \"loan_due_amount\": 1000000,\n                    \"loan_due_date\": \"2020-12-09-11-30-12\",\n                    \"lender_code\": \"Lendaba\",\n                    \"lender_product_code\": \"LOAN30\",\n                    \"lender_name\": \"Lendaba\",\n                    \"lender_terms\": \"Some content will go here\",\n                    \"lender_terms_url\": \"https://terms.html\",\n                    \"extended_data\": {\n                        \"a_key\": \"a_value\"\n                    }\n                },\n                {\n                    \"offer_id\": \"offer-022\",\n                    \"offer_expiry_date\": \"2020-12-09-11-30-12\",\n                    \"loan_amount\": 1000000,\n                    \"loan_fees\": 0,\n                    \"loan_interest_percent\": 15,\n                    \"loan_interest_amount\": 1500,\n                    \"loan_due_amount\": 1000000,\n                    \"loan_due_date\": \"2020-12-09-11-30-12\",\n                    \"lender_code\": \"XtraCash\",\n                    \"lender_product_code\": \"LOAN30\",\n                    \"lender_name\": \"XtraCash\",\n                    \"lender_terms\": \"Some content will go here\",\n                    \"lender_terms_url\": \"https://terms.html\",\n                    \"extended_data\": {\n                        \"a_key\": \"a_value\"\n                    }\n                },\n                {\n                    \"offer_id\": \"offer-022\",\n                    \"offer_expiry_date\": \"2020-12-09-11-30-12\",\n                    \"loan_amount\": 1000000,\n                    \"loan_fees\": 0,\n                    \"loan_interest_percent\": 15,\n                    \"loan_interest_amount\": 1500,\n                    \"loan_due_amount\": 1000000,\n                    \"loan_due_date\": \"2020-12-09-11-30-12\",\n                    \"lender_code\": \"ILSGeneric\",\n                    \"lender_product_code\": \"LOAN30\",\n                    \"lender_name\": \"Quick Teller\",\n                    \"lender_terms\": \"Some content will go here\",\n                    \"lender_terms_url\": \"https://terms.html\",\n                    \"extended_data\": {\n                        \"a_key\": \"a_value\"\n                    }\n                }\n            ],\n            \"consent_token\": \"65ggggs$eew\",\n            \"consent_token_expiry\": \"2020-12-09-11-30-12\",\n            \"reference\": \"8543832380969\",\n            \"meta\": {\n                \"field_key\": \"field_value\"\n            }\n        },\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"}],"_postman_id":"3250f9c0-a52c-49df-b62a-9aa4d2b69f65"},{"name":"Get A Loan - transact","id":"9f4b0af1-7953-42d7-9d66-23a11d6c44d3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"get_a_loan\",\r\n  \"auth\": {\r\n    \"type\": \"bank.account\", \r\n    \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n  \t\t\"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n        \"lender_code\": \"129930093\",\r\n        \"lender_product_code\": \"3290039\",\r\n        \"lender_offer_id\": \"offer-007\",\r\n        \"consent_token\": \"W4236777yxref$12\",\r\n        \"destination_account\": \"00001111222\",\r\n        \"destination_bank_code\": \"011\"\r\n    }\r\n  }\r\n}"},"url":"https://api.onepipe.io/v2/transact","urlObject":{"path":["v2","transact"],"host":["https://api.onepipe.io"],"query":[],"variable":[]}},"response":[{"id":"682c56ad-7786-49ba-921b-d82d495365bb","name":"Get A Loan - transact - Successful","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"get_a_loan\",\r\n  \"auth\": {\r\n    \"type\": \"bank.account\", \r\n    \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n  \t\t\"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n        \"lender_code\": \"129930093\",\r\n        \"lender_product_code\": \"3290039\",\r\n        \"lender_offer_id\": \"offer-007\",\r\n        \"consent_token\": \"W4236777yxref$12\",\r\n        \"destination_account\": \"00001111222\",\r\n        \"destination_bank_code\": \"011\"\r\n    }\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sun, 05 Jul 2020 22:47:15 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"571"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Successful\",\n    \"message\": \"Transaction processed successfully\",\n    \"data\": {\n        \"provider_response_code\": \"00\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"transaction_final_amount\": 20000,\n            \"reference\": \"5997772321936\",\n            \"meta\": {\n                \"field_key\": \"field_value\"\n            }\n        },\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"}],"_postman_id":"9f4b0af1-7953-42d7-9d66-23a11d6c44d3"},{"name":"Get Credit Score","id":"92d35a80-b12b-49f2-a206-ad2649cb51c4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"get_credit_score\",\r\n  \"auth\": {\r\n    \"type\": \"bank.account\", \r\n    \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n    \t\"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": null\r\n  }\r\n}"},"url":"https://api.onepipe.io/v2/transact","urlObject":{"path":["v2","transact"],"host":["https://api.onepipe.io"],"query":[],"variable":[]}},"response":[{"id":"4315e117-c901-4a3a-ba4a-16e0e933b60c","name":"Get Credit Score - WaitingForOTP","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"get_credit_score\",\r\n  \"auth\": {\r\n    \"type\": \"bank.account\", \r\n    \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n    \t\"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": null\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sun, 05 Jul 2020 22:49:24 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"518"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"WaitingForOTP\",\n    \"message\": \"Please enter the OTP sent to 2348022****08, use 12345678 as your OTP\",\n    \"data\": {\n        \"provider_response_code\": \"900T0\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": null,\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"},{"id":"48be2c13-2efe-443b-883f-6bfb08c32f03","name":"Get Credit Score - Successful","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"get_credit_score\",\r\n  \"auth\": {\r\n    \"type\": \"bank.account\", \r\n    \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n    \t\"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": null\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sun, 05 Jul 2020 22:50:49 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"621"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Successful\",\n    \"message\": \"Transaction processed successfully\",\n    \"data\": {\n        \"provider_response_code\": \"00\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"loans_score\": 9,\n            \"scale_min\": 0,\n            \"scale_max\": 10,\n            \"offer_amount\": 200000,\n            \"confidence\": 90,\n            \"reference\": \"4505429583360\",\n            \"meta\": {\n                \"field_key\": \"field_value\"\n            }\n        },\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"}],"_postman_id":"92d35a80-b12b-49f2-a206-ad2649cb51c4"},{"name":"Get Loan Status","id":"85047295-7e55-4b92-a6e9-4b71b51b3180","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"get_loan_status\",\r\n  \"auth\": {\r\n    \"type\": null, \r\n    \"secure\": null,\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n  \t\t\"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": null\r\n  }\r\n}"},"url":"https://api.onepipe.io/v2/transact","urlObject":{"path":["v2","transact"],"host":["https://api.onepipe.io"],"query":[],"variable":[]}},"response":[{"id":"e3fff21d-2005-443e-8805-5dee488c5420","name":"Get Loan Status - Successful","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"get_loan_status\",\r\n  \"auth\": {\r\n    \"type\": null, \r\n    \"secure\": null,\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n  \t\t\"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": null\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sun, 05 Jul 2020 22:57:56 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Successful\",\n    \"message\": \"Transaction processed successfully\",\n    \"data\": {\n        \"provider_response_code\": \"00\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"loans\": [\n                {\n                    \"account_number\": \"00999999000\",\n                    \"account_name\": \"Ola Waheed\",\n                    \"bank_name\": \"FBN\",\n                    \"bank_code\": \"011\",\n                    \"loan_date\": \"2020-12-09-11-30-12\",\n                    \"loan_amount\": 1000000,\n                    \"loan_fees\": 0,\n                    \"loan_interest_percent\": 15,\n                    \"loan_interest_amount\": 15,\n                    \"loan_due_amount\": 1000000,\n                    \"loan_due_date\": \"2020-12-09-11-30-12\",\n                    \"lender_code\": \"Migo\",\n                    \"lender_name\": \"Migo\",\n                    \"lender_terms\": \"Some content will go here\",\n                    \"lender_terms_url\": \"https://terms.html\",\n                    \"extended_data\": {\n                        \"a_key\": \"a_value\"\n                    }\n                },\n                {\n                    \"account_number\": \"00999999000\",\n                    \"account_name\": \"Ola Waheed\",\n                    \"bank_name\": \"FBN\",\n                    \"bank_code\": \"011\",\n                    \"loan_date\": \"2020-12-09-11-30-12\",\n                    \"loan_amount\": 1000000,\n                    \"loan_fees\": 0,\n                    \"loan_interest_percent\": 15,\n                    \"loan_interest_amount\": 15,\n                    \"loan_due_amount\": 1000000,\n                    \"loan_due_date\": \"2020-12-09-11-30-12\",\n                    \"lender_code\": \"ILSGeneric\",\n                    \"lender_name\": \"Quick Teller\",\n                    \"lender_terms\": \"Some content will go here\",\n                    \"lender_terms_url\": \"https://terms.html\",\n                    \"extended_data\": {\n                        \"a_key\": \"a_value\"\n                    }\n                },\n                {\n                    \"account_number\": \"00999999000\",\n                    \"account_name\": \"Ola Waheed\",\n                    \"bank_name\": \"FBN\",\n                    \"bank_code\": \"011\",\n                    \"loan_date\": \"2020-12-09-11-30-12\",\n                    \"loan_amount\": 1000000,\n                    \"loan_fees\": 0,\n                    \"loan_interest_percent\": 15,\n                    \"loan_interest_amount\": 15,\n                    \"loan_due_amount\": 1000000,\n                    \"loan_due_date\": \"2020-12-09-11-30-12\",\n                    \"lender_code\": \"Ferratum\",\n                    \"lender_name\": \"Ferratum\",\n                    \"lender_terms\": \"Some content will go here\",\n                    \"lender_terms_url\": \"https://terms.html\",\n                    \"extended_data\": {\n                        \"a_key\": \"a_value\"\n                    }\n                },\n                {\n                    \"account_number\": \"00999999000\",\n                    \"account_name\": \"Ola Waheed\",\n                    \"bank_name\": \"FBN\",\n                    \"bank_code\": \"011\",\n                    \"loan_date\": \"2020-12-09-11-30-12\",\n                    \"loan_amount\": 1000000,\n                    \"loan_fees\": 0,\n                    \"loan_interest_percent\": 15,\n                    \"loan_interest_amount\": 15,\n                    \"loan_due_amount\": 1000000,\n                    \"loan_due_date\": \"2020-12-09-11-30-12\",\n                    \"lender_code\": \"InstantCash\",\n                    \"lender_name\": \"InstantCash\",\n                    \"lender_terms\": \"Some content will go here\",\n                    \"lender_terms_url\": \"https://terms.html\",\n                    \"extended_data\": {\n                        \"a_key\": \"a_value\"\n                    }\n                },\n                {\n                    \"account_number\": \"00999999000\",\n                    \"account_name\": \"Ola Waheed\",\n                    \"bank_name\": \"FBN\",\n                    \"bank_code\": \"011\",\n                    \"loan_date\": \"2020-12-09-11-30-12\",\n                    \"loan_amount\": 1000000,\n                    \"loan_fees\": 0,\n                    \"loan_interest_percent\": 15,\n                    \"loan_interest_amount\": 15,\n                    \"loan_due_amount\": 1000000,\n                    \"loan_due_date\": \"2020-12-09-11-30-12\",\n                    \"lender_code\": \"XtraCash\",\n                    \"lender_name\": \"XtraCash\",\n                    \"lender_terms\": \"Some content will go here\",\n                    \"lender_terms_url\": \"https://terms.html\",\n                    \"extended_data\": {\n                        \"a_key\": \"a_value\"\n                    }\n                },\n                {\n                    \"account_number\": \"00999999000\",\n                    \"account_name\": \"Ola Waheed\",\n                    \"bank_name\": \"FBN\",\n                    \"bank_code\": \"011\",\n                    \"loan_date\": \"2020-12-09-11-30-12\",\n                    \"loan_amount\": 1000000,\n                    \"loan_fees\": 0,\n                    \"loan_interest_percent\": 15,\n                    \"loan_interest_amount\": 15,\n                    \"loan_due_amount\": 1000000,\n                    \"loan_due_date\": \"2020-12-09-11-30-12\",\n                    \"lender_code\": \"Lendaba\",\n                    \"lender_name\": \"Lendaba\",\n                    \"lender_terms\": \"Some content will go here\",\n                    \"lender_terms_url\": \"https://terms.html\",\n                    \"extended_data\": {\n                        \"a_key\": \"a_value\"\n                    }\n                }\n            ],\n            \"reference\": \"433236241212\",\n            \"meta\": {\n                \"field_key\": \"field_value\"\n            }\n        },\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"}],"_postman_id":"85047295-7e55-4b92-a6e9-4b71b51b3180"},{"name":"Pay4Me - options","id":"1c4b1a2d-974d-47b4-b587-9c4e253a59af","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n    \"request_ref\": \"111111111\",\r\n    \"request_type\": \"pay4me\",\r\n    \"auth\": {\r\n        \"type\": null,\r\n        \"secure\": null,\r\n        \"auth_provider\": \"Demoprovider\",\r\n        \"route_mode\": null\r\n    },\r\n    \"transaction\": {\r\n        \"mock_mode\": \"live\",\r\n        \"transaction_ref\": \"{{transaction-ref}}\",\r\n        \"transaction_desc\": \"A random transaction\",\r\n        \"transaction_ref_parent\": null,\r\n        \"amount\": 0,\r\n        \"customer\": {\r\n            \"customer_ref\": \"DemoApp_Customer007\",\r\n            \"firstname\": \"Uju\",\r\n            \"surname\": \"Usmanu\",\r\n            \"email\": \"ujuusmanu@gmail.com\",\r\n            \"mobile_no\": \"234802343132\"\r\n        },\r\n        \"meta\": {\r\n            \"order_items\": [\r\n                {\r\n                    \"item_id\": \"101638163628490752\",\r\n                    \"item_description\": \"A box of noodles\",\r\n                    \"item_code\": \"RAC01\",\r\n                    \"item_category\": \"Food\",\r\n                    \"distributor_name\": \"Olaniyi & Sons\",\r\n                    \"item_amount\": \"500000\",\r\n                    \"currency\": \"NGN\",\r\n                    \"item_meta\": {\r\n                        \"a_meta_element\": \"***********\"\r\n                    }\r\n                },\r\n                {\r\n                    \"item_id\": \"101638163628490752\",\r\n                    \"item_description\": \"A box of noodles\",\r\n                    \"item_code\": \"RAC01\",\r\n                    \"item_category\": \"Food\",\r\n                    \"distributor_name\": \"Olaniyi & Sons\",\r\n                    \"item_amount\": \"500000\",\r\n                    \"currency\": \"NGN\",\r\n                    \"item_meta\": {\r\n                        \"a_meta_element\": \"***********\"\r\n                    }\r\n                }\r\n            ],\r\n            \"order_history\": [\r\n                {\r\n                    \"order_id\": \"101638163628490752\",\r\n                    \"order_status\": \"PAID-CASH | PAID-TRANSFER | UNPAID | CASH-DEPOSITED | PAID-PAY4ME\",\r\n                    \"order_description\": \"A box of noodles\",\r\n                    \"retailer_id\": \"9090905\",\r\n                    \"distributor_id\": \"RAC01\",\r\n                    \"distributor_name\": \"Olaniyi & Sons\",\r\n                    \"distributor_account_number\": \"0987654321\",\r\n                    \"distributor_bank_code\": \"038\",\r\n                    \"amount_due\": \"500000\",\r\n                    \"fee\": 5000,\r\n                    \"currency\": \"NGN\",\r\n                    \"order_rank\": 1,\r\n                    \"order_meta\": {\r\n                        \"narration_prefix\": \"000123\",\r\n                        \"order_timestamp\": \"yyyy-MM-dd-hh-mm-ss\"\r\n                    }\r\n                },\r\n                {\r\n                    \"order_id\": \"101638163628490752\",\r\n                    \"order_status\": \"PAID-CASH | PAID-TRANSFER | UNPAID | CASH-DEPOSITED | PAID-PAY4ME\",\r\n                    \"order_description\": \"A box of noodles\",\r\n                    \"retailer_id\": \"101638163628490752\",\r\n                    \"distributor_id\": \"RAC01\",\r\n                    \"distributor_name\": \"Olaniyi & Sons\",\r\n                    \"distributor_account_number\": \"0987654321\",\r\n                    \"distributor_bank_code\": \"038\",\r\n                    \"amount_due\": \"500000\",\r\n                    \"fee\": 5000,\r\n                    \"currency\": \"NGN\",\r\n                    \"order_rank\": 1,\r\n                    \"order_meta\": {\r\n                        \"narration_prefix\": \"000124\",\r\n                        \"order_timestamp\": \"yyyy-MM-dd-hh-mm-ss\"\r\n                    }\r\n                }\r\n            ],\r\n            \"a_key\": \"a_meta_value_1\",\r\n            \"another_key\": \"a_meta_value_2\"\r\n        },\r\n        \"details\": {\r\n            \"order_id\": \"0987654321\",\r\n            \"customer_location_state\": \"Lagos\",\r\n            \"customer_location_lga\": \"Eti Osa\",\r\n            \"customer_location_gps\": \"\",\r\n            \"customer_guarantor_id\": \"+448099876543\",\r\n            \"app_industry\": \"retail\"\r\n        }\r\n    }\r\n}"},"url":"https://api.onepipe.io/v2/transact/options","description":"<h1 id=\"service-description\">Service description</h1>\n<p>This service can be used to to book a buy now pay later (BNPL) payment for a given customer. A customer is evaluated for eligibility for a particular payment by a provider and and if customer agrees to the terms, the provider will make the payment to the API caller and book the loan (usually with a grace period) against the customer.</p>\n<p>Every loan booked in this category will have terms like grace period, service charge, interest, payable amount, tenure, etc.</p>\n<h4 id=\"sequence-of-calls\">Sequence of calls</h4>\n<p>First, please be sure to have gone through...</p>\n<ul>\n<li><a href=\"#the-headers\">The headers</a></li>\n<li><a href=\"#the-main-operations-you-can-perform\">Main API operations</a></li>\n<li><a href=\"#what-requests-would-look-like\">Typical OnePipe requests</a></li>\n<li><a href=\"#what-responses-would-look-like\">Typical OnePipe responses</a></li>\n<li><a href=\"#encryption-of-secure-element\">Encryption of the <code>secure</code> element</a></li>\n</ul>\n<p>Now, here's the call sequence specific to this service...</p>\n<ol>\n<li>Call <code>/transact/options</code> with the right auth details and details of the payment the customer is about to make. Along with their transaction history with you.</li>\n<li>Provider responds with <code>WaitingForOTP</code> or <code>PendingValidation</code> if they require OTP verification</li>\n<li>Call <code>/transact/validate</code> to supply OTP if needed</li>\n<li>Provider responds with <code>OptionsDelivered</code> if everything went well. Or responds with <code>Failed</code> otherwise.</li>\n<li>To query the status of a transaction, call <code>/transact/query</code></li>\n<li>If successful, you will receive an array of offers the customer can accept and a <code>consent_token</code></li>\n<li>And then, you will follow with a <code>/transact</code> (See <a href=\"https://v2.docs.onepipe.io/#8625e9b5-3d60-4044-8125-1e0568f51488\">here</a>) call to accept the offer along with the <code>consent_token</code></li>\n</ol>\n<h4 id=\"interpreting-the-response\">Interpreting the response</h4>\n<ul>\n<li>Read the reponse</li>\n<li>Read the <code>provider_response</code> Object</li>\n</ul>\n<h4 id=\"possible-status-values\">Possible status values</h4>\n<ul>\n<li><strong>OptionsDelivered</strong>: You will get this on the <code>/transact/options</code> call</li>\n<li><strong>Successful:</strong> You will get this on the <code>/transact</code> call if loan request is approved</li>\n<li><strong>WaitingForOTP</strong>: Display the <code>status.message</code> and collect the input from the user, then follow with a <code>/transact/validate</code></li>\n<li><strong>PendingValidation</strong>: Display the <code>status.message</code> and collect the input from the user, then follow with a <code>/transact/validate</code></li>\n<li><strong>Processing</strong>: The request was received but the approval process cannot be completed in real-time. Probably because of a manual risk assessment review. Typically, if accepted, you will receive a <code>transaction notification</code> (see various notification types <a href=\"https://v2.docs.onepipe.io/#60695d18-6d30-468f-ae5f-edee46d8c017\">here</a>) for a completed payment, but you can still query the transaction any time</li>\n<li><strong>[Anything else]</strong>: Error. Read the errors object(s)</li>\n</ul>\n<h4 id=\"request-body-elements\">Request body elements</h4>\n<p><code>[see sample payload]</code></p>\n<h4 id=\"response-body-elements\">Response body elements</h4>\n<p><code>[see sample payload]</code></p>\n","urlObject":{"path":["v2","transact","options"],"host":["https://api.onepipe.io"],"query":[],"variable":[]}},"response":[{"id":"95b67f2a-702c-41d5-a7f8-2d785de66ec3","name":"Pay4Me - options - WaitingForOTP","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"request_ref\": \"111111111\",\r\n    \"request_type\": \"pay4me\",\r\n    \"auth\": {\r\n        \"type\": null,\r\n        \"secure\": null,\r\n        \"auth_provider\": \"Demoprovider\",\r\n        \"route_mode\": null\r\n    },\r\n    \"transaction\": {\r\n        \"mock_mode\": \"live\",\r\n        \"transaction_ref\": \"{{transaction-ref}}\",\r\n        \"transaction_desc\": \"A random transaction\",\r\n        \"transaction_ref_parent\": null,\r\n        \"amount\": 0,\r\n        \"customer\": {\r\n            \"customer_ref\": \"DemoApp_Customer007\",\r\n            \"firstname\": \"Uju\",\r\n            \"surname\": \"Usmanu\",\r\n            \"email\": \"ujuusmanu@gmail.com\",\r\n            \"mobile_no\": \"234802343132\"\r\n        },\r\n        \"meta\": {\r\n            \"order_items\": [\r\n                {\r\n                    \"item_id\": \"101638163628490752\",\r\n                    \"item_description\": \"A box of noodles\",\r\n                    \"item_code\": \"RAC01\",\r\n                    \"item_category\": \"Food\",\r\n                    \"distributor_name\": \"Olaniyi & Sons\",\r\n                    \"item_amount\": \"500000\",\r\n                    \"currency\": \"NGN\",\r\n                    \"item_meta\": {\r\n                        \"a_meta_element\": \"***********\"\r\n                    }\r\n                },\r\n                {\r\n                    \"item_id\": \"101638163628490752\",\r\n                    \"item_description\": \"A box of noodles\",\r\n                    \"item_code\": \"RAC01\",\r\n                    \"item_category\": \"Food\",\r\n                    \"distributor_name\": \"Olaniyi & Sons\",\r\n                    \"item_amount\": \"500000\",\r\n                    \"currency\": \"NGN\",\r\n                    \"item_meta\": {\r\n                        \"a_meta_element\": \"***********\"\r\n                    }\r\n                }\r\n            ],\r\n            \"order_history\": [\r\n                {\r\n                    \"order_id\": \"101638163628490752\",\r\n                    \"order_status\": \"PAID-CASH | PAID-TRANSFER | UNPAID | CASH-DEPOSITED | PAID-PAY4ME\",\r\n                    \"order_description\": \"A box of noodles\",\r\n                    \"retailer_id\": \"9090905\",\r\n                    \"distributor_id\": \"RAC01\",\r\n                    \"distributor_name\": \"Olaniyi & Sons\",\r\n                    \"distributor_account_number\": \"0987654321\",\r\n                    \"distributor_bank_code\": \"038\",\r\n                    \"amount_due\": \"500000\",\r\n                    \"fee\": 5000,\r\n                    \"currency\": \"NGN\",\r\n                    \"order_rank\": 1,\r\n                    \"order_meta\": {\r\n                        \"narration_prefix\": \"000123\",\r\n                        \"order_timestamp\": \"yyyy-MM-dd-hh-mm-ss\"\r\n                    }\r\n                },\r\n                {\r\n                    \"order_id\": \"101638163628490752\",\r\n                    \"order_status\": \"PAID-CASH | PAID-TRANSFER | UNPAID | CASH-DEPOSITED | PAID-PAY4ME\",\r\n                    \"order_description\": \"A box of noodles\",\r\n                    \"retailer_id\": \"101638163628490752\",\r\n                    \"distributor_id\": \"RAC01\",\r\n                    \"distributor_name\": \"Olaniyi & Sons\",\r\n                    \"distributor_account_number\": \"0987654321\",\r\n                    \"distributor_bank_code\": \"038\",\r\n                    \"amount_due\": \"500000\",\r\n                    \"fee\": 5000,\r\n                    \"currency\": \"NGN\",\r\n                    \"order_rank\": 1,\r\n                    \"order_meta\": {\r\n                        \"narration_prefix\": \"000124\",\r\n                        \"order_timestamp\": \"yyyy-MM-dd-hh-mm-ss\"\r\n                    }\r\n                }\r\n            ],\r\n            \"a_key\": \"a_meta_value_1\",\r\n            \"another_key\": \"a_meta_value_2\"\r\n        },\r\n        \"details\": {\r\n            \"order_id\": \"0987654321\",\r\n            \"customer_location_state\": \"Lagos\",\r\n            \"customer_location_lga\": \"Eti Osa\",\r\n            \"customer_location_gps\": \"\",\r\n            \"customer_guarantor_id\": \"+448099876543\",\r\n            \"app_industry\": \"retail\"\r\n        }\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact/options"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sun, 05 Jul 2020 22:42:31 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"533"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"WaitingForOTP\",\n    \"message\": \"Please enter the OTP sent to 2348022****08, use 12345678 as your OTP\",\n    \"data\": {\n        \"options\": null,\n        \"provider_response_code\": \"900T0\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": null,\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"},{"id":"ba694e03-de16-4bc9-a3ec-1d56d5a77af5","name":"Pay4Me - options - OptionsDelivered","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"request_ref\": \"111111111\",\r\n    \"request_type\": \"pay4me\",\r\n    \"auth\": {\r\n        \"type\": null,\r\n        \"secure\": null,\r\n        \"auth_provider\": \"Demoprovider\",\r\n        \"route_mode\": null\r\n    },\r\n    \"transaction\": {\r\n        \"mock_mode\": \"live\",\r\n        \"transaction_ref\": \"{{transaction-ref}}\",\r\n        \"transaction_desc\": \"A random transaction\",\r\n        \"transaction_ref_parent\": null,\r\n        \"amount\": 0,\r\n        \"customer\": {\r\n            \"customer_ref\": \"DemoApp_Customer007\",\r\n            \"firstname\": \"Uju\",\r\n            \"surname\": \"Usmanu\",\r\n            \"email\": \"ujuusmanu@gmail.com\",\r\n            \"mobile_no\": \"234802343132\"\r\n        },\r\n        \"meta\": {\r\n            \"order_items\": [\r\n                {\r\n                    \"item_id\": \"101638163628490752\",\r\n                    \"item_description\": \"A box of noodles\",\r\n                    \"item_code\": \"RAC01\",\r\n                    \"item_category\": \"Food\",\r\n                    \"distributor_name\": \"Olaniyi & Sons\",\r\n                    \"item_amount\": \"500000\",\r\n                    \"currency\": \"NGN\",\r\n                    \"item_meta\": {\r\n                        \"a_meta_element\": \"***********\"\r\n                    }\r\n                },\r\n                {\r\n                    \"item_id\": \"101638163628490752\",\r\n                    \"item_description\": \"A box of noodles\",\r\n                    \"item_code\": \"RAC01\",\r\n                    \"item_category\": \"Food\",\r\n                    \"distributor_name\": \"Olaniyi & Sons\",\r\n                    \"item_amount\": \"500000\",\r\n                    \"currency\": \"NGN\",\r\n                    \"item_meta\": {\r\n                        \"a_meta_element\": \"***********\"\r\n                    }\r\n                }\r\n            ],\r\n            \"order_history\": [\r\n                {\r\n                    \"order_id\": \"101638163628490752\",\r\n                    \"order_status\": \"PAID-CASH | PAID-TRANSFER | UNPAID | CASH-DEPOSITED | PAID-PAY4ME\",\r\n                    \"order_description\": \"A box of noodles\",\r\n                    \"retailer_id\": \"9090905\",\r\n                    \"distributor_id\": \"RAC01\",\r\n                    \"distributor_name\": \"Olaniyi & Sons\",\r\n                    \"distributor_account_number\": \"0987654321\",\r\n                    \"distributor_bank_code\": \"038\",\r\n                    \"amount_due\": \"500000\",\r\n                    \"fee\": 5000,\r\n                    \"currency\": \"NGN\",\r\n                    \"order_rank\": 1,\r\n                    \"order_meta\": {\r\n                        \"narration_prefix\": \"000123\",\r\n                        \"order_timestamp\": \"yyyy-MM-dd-hh-mm-ss\"\r\n                    }\r\n                },\r\n                {\r\n                    \"order_id\": \"101638163628490752\",\r\n                    \"order_status\": \"PAID-CASH | PAID-TRANSFER | UNPAID | CASH-DEPOSITED | PAID-PAY4ME\",\r\n                    \"order_description\": \"A box of noodles\",\r\n                    \"retailer_id\": \"101638163628490752\",\r\n                    \"distributor_id\": \"RAC01\",\r\n                    \"distributor_name\": \"Olaniyi & Sons\",\r\n                    \"distributor_account_number\": \"0987654321\",\r\n                    \"distributor_bank_code\": \"038\",\r\n                    \"amount_due\": \"500000\",\r\n                    \"fee\": 5000,\r\n                    \"currency\": \"NGN\",\r\n                    \"order_rank\": 1,\r\n                    \"order_meta\": {\r\n                        \"narration_prefix\": \"000124\",\r\n                        \"order_timestamp\": \"yyyy-MM-dd-hh-mm-ss\"\r\n                    }\r\n                }\r\n            ],\r\n            \"a_key\": \"a_meta_value_1\",\r\n            \"another_key\": \"a_meta_value_2\"\r\n        },\r\n        \"details\": {\r\n            \"order_id\": \"0987654321\",\r\n            \"customer_location_state\": \"Lagos\",\r\n            \"customer_location_lga\": \"Eti Osa\",\r\n            \"customer_location_gps\": \"\",\r\n            \"customer_guarantor_id\": \"+448099876543\",\r\n            \"app_industry\": \"retail\"\r\n        }\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact/options"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sun, 05 Jul 2020 22:44:11 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"OptionsDelivered\",\n    \"message\": \"Transaction processed successfully\",\n    \"data\": {\n        \"options\": null,\n        \"provider_response_code\": \"00\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"offers\": [\n                {\n                   \"offer_id\": \"offer-019\",\n                    \"offer_expiry_date\": \"yyyy-MM-dd-hh-mm-ss\",\n                    \"offer_grace_expiry\": \"yyyy-MM-dd-hh-mm-ss\",\n                    \"offer_amount\": 1000000,\n                    \"offer_fees\": 0,\n                    \"offer_interest_percent\": 15,\n                    \"offer_interest_amount\": 1500,\n                    \"offer_interest_due_amount\": 1000000, \n                    \"offer_due_date\": \"yyyy-MM-dd-hh-mm-ss\", \n                    \"lender_code\": \"MNI\",\n                    \"lender_product_code\": \"PRODUCT01\",\n                    \"lender_name\": \"Migo\",\n                    \"lender_terms\": \"Some content will go here\",\n                    \"lender_terms_url\": \"https://terms.html\",\n                    \"extended_data\": {\n                        \"a_key\": \"a_value\"\n                    }\n                },\n                {\n                    \"offer_id\": \"offer-010\",\n                    \"offer_expiry_date\": \"yyyy-MM-dd-hh-mm-ss\",\n                    \"offer_grace_expiry\": \"yyyy-MM-dd-hh-mm-ss\",\n                    \"offer_amount\": 1000000,\n                    \"offer_fees\": 0,\n                    \"offer_interest_percent\": 15,\n                    \"offer_interest_amount\": 1500,\n                    \"offer_interest_due_amount\": 1000000, \n                    \"offer_due_date\": \"yyyy-MM-dd-hh-mm-ss\", \n                    \"lender_code\": \"MNI\",\n                    \"lender_product_code\": \"PRODUCT01\",\n                    \"lender_name\": \"Migo\",\n                    \"lender_terms\": \"Some content will go here\",\n                    \"lender_terms_url\": \"https://terms.html\",\n                    \"extended_data\": {\n                        \"a_key\": \"a_value\"\n                    }\n                },\n                {\n                    \"offer_id\": \"offer-011\",\n                    \"offer_expiry_date\": \"yyyy-MM-dd-hh-mm-ss\",\n                    \"offer_grace_expiry\": \"yyyy-MM-dd-hh-mm-ss\",\n                    \"offer_amount\": 1000000,\n                    \"offer_fees\": 0,\n                    \"offer_interest_percent\": 15,\n                    \"offer_interest_amount\": 1500,\n                    \"offer_interest_due_amount\": 1000000, \n                    \"offer_due_date\": \"yyyy-MM-dd-hh-mm-ss\", \n                    \"lender_code\": \"MNI\",\n                    \"lender_product_code\": \"PRODUCT01\",\n                    \"lender_name\": \"Migo\",\n                    \"lender_terms\": \"Some content will go here\",\n                    \"lender_terms_url\": \"https://terms.html\",\n                    \"extended_data\": {\n                        \"a_key\": \"a_value\"\n                    }\n                },\n                {\n                    \"offer_id\": \"offer-012\",\n                    \"offer_expiry_date\": \"yyyy-MM-dd-hh-mm-ss\",\n                    \"offer_grace_expiry\": \"yyyy-MM-dd-hh-mm-ss\",\n                    \"offer_amount\": 1000000,\n                    \"offer_fees\": 0,\n                    \"offer_interest_percent\": 15,\n                    \"offer_interest_amount\": 1500,\n                    \"offer_interest_due_amount\": 1000000, \n                    \"offer_due_date\": \"yyyy-MM-dd-hh-mm-ss\", \n                    \"lender_code\": \"MNI\",\n                    \"lender_product_code\": \"PRODUCT01\",\n                    \"lender_name\": \"Migo\",\n                    \"lender_terms\": \"Some content will go here\",\n                    \"lender_terms_url\": \"https://terms.html\",\n                    \"extended_data\": {\n                        \"a_key\": \"a_value\"\n                    }\n                }\n            ],\n            \"consent_token\": \"65ggggs$eew\",\n            \"consent_token_expiry\": \"2020-12-09-11-30-12\",\n            \"reference\": \"8543832380969\",\n            \"meta\": {\n                \"field_key\": \"field_value\"\n            }\n        },\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"}],"_postman_id":"1c4b1a2d-974d-47b4-b587-9c4e253a59af"},{"name":"Pay4Me - transact","id":"8625e9b5-3d60-4044-8125-1e0568f51488","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"pay4me\",\r\n  \"auth\": {\r\n    \"type\": \"bank.account\", \r\n    \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n  \t\t\"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n        \"lender_code\": \"129930093\",\r\n        \"lender_product_code\": \"3290039\",\r\n        \"lender_offer_id\": \"offer-007\",\r\n        \"consent_token\": \"W4236777yxref$12\",\r\n        \"mandate_account_number\": \"0987654321712\",//the account to disburse the money to. Typically a pending payment madate will already be on this account\r\n        \"mandate_bank_code\": \"098\"\r\n    }\r\n  }\r\n}"},"url":"https://api.onepipe.io/v2/transact","description":"<h1 id=\"service-description\">Service description</h1>\n<p>This is the call that follows an original <strong>Pay4Me - options</strong> call to signal that a customer is willing to accept the terms.</p>\n<p>See <a href=\"https://v2.docs.onepipe.io/#1c4b1a2d-974d-47b4-b587-9c4e253a59af\">here</a>.</p>\n<p><strong>Special note 1</strong>: The previous call will have given you a <code>consent_token</code> which must be used in this follow up call</p>\n<p><strong>Special note 2</strong>: The lender will disburse the funds into the account specified in <code>mandate_account_number</code> with the base assumption that you already have a waiting mandate on that account or the account belongs to you and credits to it will trigger an appropriate <code>transaction_notification</code></p>\n<h4 id=\"sequence-of-calls\">Sequence of calls</h4>\n<p>First, please be sure to have gone through...</p>\n<ul>\n<li><a href=\"#the-headers\">The headers</a></li>\n<li><a href=\"#the-main-operations-you-can-perform\">Main API operations</a></li>\n<li><a href=\"#what-requests-would-look-like\">Typical OnePipe requests</a></li>\n<li><a href=\"#what-responses-would-look-like\">Typical OnePipe responses</a></li>\n<li><a href=\"#encryption-of-secure-element\">Encryption of the <code>secure</code> element</a></li>\n</ul>\n<p>Now, here's the call sequence specific to this service...</p>\n<ol>\n<li>Call <code>/transact</code> with the right auth details and the <code>consent_token</code> from the previous call.</li>\n<li>Provider responds with <code>Successful</code> or <code>Failed</code> or <code>Processing</code></li>\n<li>To query the status of a transaction, call <code>/transact/query</code></li>\n<li>If successful, you will a <code>transaction notification</code> signalling that the transaction is complete</li>\n</ol>\n<h4 id=\"interpreting-the-response\">Interpreting the response</h4>\n<ul>\n<li>Read the reponse</li>\n<li>Read the <code>provider_response</code> Object</li>\n</ul>\n<h4 id=\"possible-status-values\">Possible status values</h4>\n<ul>\n<li><strong>Successful</strong>: Success</li>\n<li><strong>Processing</strong>: The request was received but the approval process cannot be completed in real-time. Probably because of a manual risk assessment review. Typically, if accepted, you will receive a <code>transaction notification</code> (see various notification types <a href=\"https://v2.docs.onepipe.io/#60695d18-6d30-468f-ae5f-edee46d8c017\">here</a>) for a completed payment, but you can still query the transaction any time</li>\n<li><strong>[Anything else]</strong>: Error. Read the errors object(s)</li>\n</ul>\n<h4 id=\"request-body-elements\">Request body elements</h4>\n<p><code>[see sample payload]</code></p>\n<h4 id=\"response-body-elements\">Response body elements</h4>\n<p><code>[see sample payload]</code></p>\n","urlObject":{"path":["v2","transact"],"host":["https://api.onepipe.io"],"query":[],"variable":[]}},"response":[{"id":"2e012766-6fe0-4045-becb-fef6ad111616","name":"Pay4Me - transact - Successful","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"pay4me\",\r\n  \"auth\": {\r\n    \"type\": \"bank.account\", \r\n    \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n  \t\t\"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n        \"lender_code\": \"129930093\",\r\n        \"lender_product_code\": \"3290039\",\r\n        \"lender_offer_id\": \"offer-007\",\r\n        \"consent_token\": \"W4236777yxref$12\",\r\n        \"mandate_account_number\": \"0987654321712\",//the account to disburse the money to. Typically a pending payment madate will already be on this account\r\n        \"mandate_bank_code\": \"098\"\r\n    }\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sun, 05 Jul 2020 22:47:15 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"571"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Successful\",\n    \"message\": \"Transaction processed successfully\",\n    \"data\": {\n        \"provider_response_code\": \"00\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"transaction_final_amount\": 20000,\n            \"reference\": \"5997772321936\",\n            \"meta\": {\n                \"field_key\": \"field_value\"\n            }\n        },\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"}],"_postman_id":"8625e9b5-3d60-4044-8125-1e0568f51488"}],"id":"97868b39-9fc8-49e2-9942-be57f4ed750b","description":"<p>A set of services with which you can get scores and requests for a loan on behalf of a customer. It covers the Loan Score and the Account Opening Services.</p>\n","_postman_id":"97868b39-9fc8-49e2-9942-be57f4ed750b"},{"name":"Subcriptions","item":[{"name":"Create Subscription","id":"a1e4cec1-c5ba-44e6-a414-e39dbc15c636","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1","type":"text"},{"key":"Signature","value":"3a2b58350e8068507e6b5bff106850a5","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n        \"request_ref\":\"111111111\", \n        \"request_type\":\"subscribe\",\n        \"auth\": {\n            \"type\": \"bank.account\", \n            \"secure\": \"O6aPUXSsgOZV+MlTm1LSbnPNLYQU0Q5SiISKEZ9wjt8=\",\n            \"auth_provider\": \"Scheduler\"\n        },\n        \"transaction\": {\n            \"mock_mode\": \"live\", \n            \"transaction_ref\": \"{{transaction-ref}}\", \n            \"transaction_desc\": \"A random scheduled transaction\", \n            \"transaction_ref_parent\": null, \n            \"amount\": 1000,\n            \"customer\":{\n                \"customer_ref\": \"2349066870818\",\n                \"firstname\": \"Demo\",\n                \"surname\": \"Demo\",\n                \"email\": \"demo@gmail.com\",\n                \"mobile_no\": \"234802343132\"\n            },\n            \"meta\":{\n                \"repeat_frequency\":\"hourly\",\n                \"repeat_start\":\"2022-07-30-11-39-00\",\n                \"repeat_target_provider\":\"OnePipePOS\"\n            },\n            \"details\": {\n               \n            }\n        }\n    }\n","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact/schedule","urlObject":{"path":["v2","transact","schedule"],"host":["https://api.onepipe.io"],"query":[],"variable":[]}},"response":[{"id":"5f894ca1-3391-4934-b83d-cccade91b118","name":"Create Subscription","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1","type":"text"},{"key":"Signature","value":"3a2b58350e8068507e6b5bff106850a5","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n        \"request_ref\":\"111111111\", \n        \"request_type\":\"subscribe\",\n        \"auth\": {\n            \"type\": \"bank.account\", \n            \"secure\": \"nfly3XRLYBO7DjbdrnQq/HxJ0KJYrdeexxfRptqH7bY=\",\n            \"auth_provider\": \"Scheduler\"\n        },\n        \"transaction\": {\n            \"mock_mode\": \"live\", \n            \"transaction_ref\": \"998383938292\", \n            \"transaction_desc\": \"A random scheduled transaction\", \n            \"transaction_ref_parent\": null, \n            \"amount\": 1000,\n            \"customer\":{\n                \"customer_ref\": \"DemoApp_Customer007\",\n                \"firstname\": \"Demo\",\n                \"surname\": \"Demo\",\n                \"email\": \"demo@gmail.com\",\n                \"mobile_no\": \"234802343132\"\n            },\n            \"meta\":{\n                \"repeat_frequency\":\"hourly\",\n                \"repeat_start\":\"2022-07-30-11-25-00\",\n                \"repeat_target_provider\":\"FizidoCollect\"\n            },\n            \"details\": {\n               \n            }\n        }\n    }\n","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact/schedule"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sat, 30 Jul 2022 10:23:04 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"465"},{"key":"Connection","value":"keep-alive"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Frame-Options","value":"DENY"},{"key":"X-Xss-Protection","value":"1; mode=block"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Successful\",\n    \"message\": \"Operation was successful\",\n    \"data\": {\n        \"provider_response_code\": \"00\",\n        \"provider\": \"Scheduler\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": null,\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"}],"_postman_id":"a1e4cec1-c5ba-44e6-a414-e39dbc15c636"},{"name":"Listen for Notification","id":"a2d6c887-f62d-435d-85c3-ca384e7f3d2d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"details\": {\n        \"data\": {\n            \"data\": {\n                \"error\": null,\n                \"errors\": null,\n                \"status\": null,\n                \"provider\": \"OnePipePOS\",\n                \"reference\": null,\n                \"provider_response\": {\n                    \"meta\": {},\n                    \"reference\": \"10070458762635schedule1\",\n                    \"transaction_final_amount\": \"1000\"\n                },\n                \"provider_response_code\": \"00\"\n            },\n            \"status\": \"Successful\",\n            \"message\": \"Request processed successfully\"\n        },\n        \"amount\": \"1000\",\n        \"status\": \"Successful\",\n        \"provider\": \"OnePipePOS\",\n        \"customer_ref\": \"DemoApp_Customer007\",\n        \"customer_email\": \"demo@gmail.com\",\n        \"transaction_ref\": \"10070458762635schedule1\",\n        \"customer_surname\": \"Demo\",\n        \"transaction_desc\": \"A random scheduled transaction\",\n        \"transaction_type\": \"subscribe\",\n        \"customer_firstname\": \"Demo\",\n        \"customer_mobile_no\": \"234802343132\"\n    },\n    \"app_info\": {\n        \"app_code\": \"CHEC461133\"\n    },\n    \"mock_mode\": \"Live\",\n    \"requester\": \"Scheduler\",\n    \"request_ref\": \"751eca3671a54b4aabc086b8cc2e63fd\",\n    \"request_type\": \"transaction_notification\"\n}","options":{"raw":{"language":"json"}}},"url":"","urlObject":{"query":[],"variable":[]}},"response":[{"id":"cf16abd0-97fe-43af-8d98-807dbfde186d","name":"Listen for Notification - Successgul","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"details\": {\n        \"data\": {\n            \"data\": {\n                \"error\": null,\n                \"errors\": null,\n                \"status\": null,\n                \"provider\": \"OnePipePOS\",\n                \"reference\": null,\n                \"provider_response\": {\n                    \"meta\": {},\n                    \"reference\": \"10070458762635schedule1\",\n                    \"transaction_final_amount\": \"1000\"\n                },\n                \"provider_response_code\": \"00\"\n            },\n            \"status\": \"Successful\",\n            \"message\": \"Request processed successfully\"\n        },\n        \"amount\": \"1000\",\n        \"status\": \"Successful\",\n        \"provider\": \"OnePipePOS\",\n        \"customer_ref\": \"DemoApp_Customer007\",\n        \"customer_email\": \"demo@gmail.com\",\n        \"transaction_ref\": \"10070458762635schedule1\",\n        \"customer_surname\": \"Demo\",\n        \"transaction_desc\": \"A random scheduled transaction\",\n        \"transaction_type\": \"subscribe\",\n        \"customer_firstname\": \"Demo\",\n        \"customer_mobile_no\": \"234802343132\"\n    },\n    \"app_info\": {\n        \"app_code\": \"CHEC461133\"\n    },\n    \"mock_mode\": \"Live\",\n    \"requester\": \"Scheduler\",\n    \"request_ref\": \"751eca3671a54b4aabc086b8cc2e63fd\",\n    \"request_type\": \"transaction_notification\"\n}","options":{"raw":{"language":"json"}}},"url":""},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":""},{"id":"de559945-a01b-46b5-8fdb-06f7c5a6017b","name":"Listen for Notification - Failed","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"details\": {\n        \"data\": {\n            \"data\": {\n                \"error\": null,\n                \"errors\": [\n                    {\n                        \"Code\": \"96\",\n                        \"Message\": \"Operation not allowed. KYC requirements incomplete.\"\n                    }\n                ],\n                \"status\": null,\n                \"provider\": \"OnePipePOS\",\n                \"reference\": null,\n                \"provider_response\": null,\n                \"provider_response_code\": null\n            },\n            \"status\": \"Failed\",\n            \"message\": \"Invalid request body\"\n        },\n        \"amount\": \"1000\",\n        \"status\": \"Failed\",\n        \"provider\": \"OnePipePOS\",\n        \"customer_ref\": \"DemoApp_Customer007\",\n        \"customer_email\": \"demo@gmail.com\",\n        \"transaction_ref\": \"998383938292schedule1\",\n        \"customer_surname\": \"Demo\",\n        \"transaction_desc\": \"A random scheduled transaction\",\n        \"transaction_type\": \"subscribe\",\n        \"customer_firstname\": \"Demo\",\n        \"customer_mobile_no\": \"234802343132\"\n    },\n    \"app_info\": {\n        \"app_code\": \"CHEC461133\"\n    },\n    \"mock_mode\": \"Live\",\n    \"requester\": \"Scheduler\",\n    \"request_ref\": \"2dd0cbf84d0c4f09bd888453112cfb3d\",\n    \"request_type\": \"transaction_notification\"\n}","options":{"raw":{"language":"json"}}},"url":""},"_postman_previewlanguage":null,"header":null,"cookie":[],"responseTime":null,"body":null}],"_postman_id":"a2d6c887-f62d-435d-85c3-ca384e7f3d2d"},{"name":"Cancel Subscription","id":"b65d8663-fce1-4026-ad3b-4bc5a8429534","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1","type":"text"},{"key":"Signature","value":"3a2b58350e8068507e6b5bff106850a5","type":"text"},{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"request_ref\": \"111111111\",\n    \"request_type\": \"subscribe\",\n    \"transaction\": {\n        \"transaction_ref\": \"10070458762635\",\n        \"transaction_desc\": \"A sample transaction to be reversed\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact/schedule/reverse","urlObject":{"path":["v2","transact","schedule","reverse"],"host":["https://api.onepipe.io"],"query":[],"variable":[]}},"response":[],"_postman_id":"b65d8663-fce1-4026-ad3b-4bc5a8429534"}],"id":"9775274a-70e7-40fa-a456-27b0b4297e0b","description":"<p>Please read <a href=\"https://v2.docs.onepipe.io/#scheduled-transactions\">this</a> first.</p>\n","_postman_id":"9775274a-70e7-40fa-a456-27b0b4297e0b"},{"name":"Others","item":[{"name":"General Services","item":[{"name":"Lookup NUBAN","id":"62d03f00-d313-459b-8394-92d5042d8ba5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"lookup_nuban\",\r\n  \"auth\": {\r\n    \"type\": null,\r\n    \"secure\": null,\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n        \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n    \t\"account_number\":\"3065570057\"\r\n    }\r\n  }\r\n}"},"url":"https://api.onepipe.io/v2/transact","description":"<p>This service returns the list of banks an account probably domiciled in.</p>\n<h4 id=\"sequence-of-calls\">Sequence of calls</h4>\n<ul>\n<li>Primary call: <code>/v2/transact</code></li>\n<li>Provider responds with any of the completion codes <code>Successful</code> or <code>Failed</code></li>\n</ul>\n<h4 id=\"interpreting-the-response\">Interpreting the response</h4>\n<ul>\n<li>Read the reponse</li>\n<li>Read the <code>provider_response</code> Object</li>\n</ul>\n<h4 id=\"possible-status-values\">Possible status values</h4>\n<ul>\n<li><strong>Successful</strong>: Success</li>\n<li><strong>[Anything else]</strong>: Error. Read the errors object(s)</li>\n</ul>\n<h4 id=\"breakdown-of-the-details-in-the-request-object\">Breakdown of the details in the Request Object</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Element</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>account_number</td>\n<td>Customer account number to look up</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"request-body-elements\">Request body elements</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Element</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>request_ref</td>\n<td>A unique reference for this specific API call. Must be uniquely generated for every single call</td>\n</tr>\n<tr>\n<td>request_type</td>\n<td>Service identifier - <code>lookup_nuban</code></td>\n</tr>\n<tr>\n<td>auth.type</td>\n<td><code>null</code>.</td>\n</tr>\n<tr>\n<td>auth.secure</td>\n<td><code>null</code></td>\n</tr>\n<tr>\n<td>transaction.customer.customer_ref</td>\n<td>Means of customer ID (account_number/phone_number)</td>\n</tr>\n<tr>\n<td>transaction.customer.firstname</td>\n<td>First name of the customer (can be null)</td>\n</tr>\n<tr>\n<td>transaction.customer.surname</td>\n<td>Surname of the customer (can be null)</td>\n</tr>\n<tr>\n<td>transaction.customer.email</td>\n<td>Email address of the customer (can be null)</td>\n</tr>\n<tr>\n<td>transaction.customer.mobile_no</td>\n<td>Mobile number of the customer (can be null)</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response-body-elements\">Response body elements</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Element</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>status</td>\n<td>Standard response. <strong>Successful</strong> or anything else.</td>\n</tr>\n<tr>\n<td>message</td>\n<td>A message or description of the response</td>\n</tr>\n<tr>\n<td>data.provider</td>\n<td>The provider that was used to process the request</td>\n</tr>\n<tr>\n<td>data.provider_response_code</td>\n<td>Response code as determined by the underlying provider</td>\n</tr>\n<tr>\n<td>data.provider_response</td>\n<td>This object contains the actual response for the provider. It contains an array of banks.</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>NOTE</strong>: Please see information on how to compute the <code>Signature</code> header <a href=\"#authentication-headers\">here</a></p>\n","urlObject":{"path":["v2","transact"],"host":["https://api.onepipe.io"],"query":[],"variable":[]}},"response":[{"id":"d73ffbfa-40f8-4ef6-b2a4-efe36f5c536e","name":"Lookup NUBAN - Successful","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"lookup_nuban\",\r\n  \"auth\": {\r\n    \"type\": null,\r\n    \"secure\": null,\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n      \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n    \t\"account_number\":\"3065570057\"\r\n    }\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sun, 05 Jul 2020 23:38:26 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"739"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Successful\",\n    \"message\": \"Transaction processed successfully\",\n    \"data\": {\n        \"provider_response_code\": \"00\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"banks\": [\n                {\n                    \"bank_code\": \"050\",\n                    \"bank_name\": \"Ecobank Bank\"\n                },\n                {\n                    \"bank_code\": \"214\",\n                    \"bank_name\": \"FCMB\"\n                },\n                {\n                    \"bank_code\": \"313\",\n                    \"bank_name\": \"Mkudi\"\n                },\n                {\n                    \"bank_code\": \"401\",\n                    \"bank_name\": \"ASOSavings\"\n                },\n                {\n                    \"bank_code\": \"917\",\n                    \"bank_name\": \"GOWANS MFB\"\n                }\n            ],\n            \"reference\": \"9339900990855\",\n            \"meta\": {}\n        },\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"}],"_postman_id":"62d03f00-d313-459b-8394-92d5042d8ba5"},{"name":"Get Banks","id":"b8cb313b-c683-4e65-8231-0f26c3618b55","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"get_banks\",\r\n  \"auth\": {\r\n    \"type\": null, \r\n    \"secure\": null,\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n      \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": null\r\n  }\r\n}"},"url":"https://api.onepipe.io/v2/transact","description":"<p>With this, you can get Nigerian Banks and their CBN Bank Codes</p>\n<h4 id=\"sequence-of-calls\">Sequence of calls</h4>\n<ul>\n<li>Primary call: <code>/v2/transact</code></li>\n<li>Provider responds with any of the completion codes <code>Successful</code> or <code>Failed</code>.</li>\n</ul>\n<h4 id=\"interpreting-the-response\">Interpreting the response</h4>\n<ul>\n<li>Read the reponse</li>\n<li>Read the <code>provider_response</code> Object</li>\n</ul>\n<h4 id=\"possible-status-values\">Possible status values</h4>\n<ul>\n<li><strong>Successful</strong>: Success</li>\n<li><strong>[Anything else]</strong>: Error. Read the errors object(s)</li>\n</ul>\n<h4 id=\"request-body-elements\">Request body elements</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Element</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>request_ref</td>\n<td>A unique reference for this specific API call. Must be uniquely generated for every single call</td>\n</tr>\n<tr>\n<td>request_type</td>\n<td>Service identifier - <code>get_banks</code></td>\n</tr>\n<tr>\n<td>auth.type</td>\n<td>null</td>\n</tr>\n<tr>\n<td>auth.secure</td>\n<td>null</td>\n</tr>\n<tr>\n<td>transaction.customer.customer_ref</td>\n<td>a unique ID</td>\n</tr>\n<tr>\n<td>transaction.customer.firstname</td>\n<td>First name of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.surname</td>\n<td>Surname of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.email</td>\n<td>Email address of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.mobile_no</td>\n<td>Mobile number of the customer</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response-body-elements\">Response body elements</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Element</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>status</td>\n<td>Standard response. <strong>Successful</strong> or anything else.</td>\n</tr>\n<tr>\n<td>message</td>\n<td>A message or description of the response</td>\n</tr>\n<tr>\n<td>data.provider</td>\n<td>The provider that was used to process the request</td>\n</tr>\n<tr>\n<td>data.provider_response_code</td>\n<td>Response code as determined by the underlying provider</td>\n</tr>\n<tr>\n<td>data.provider_response</td>\n<td>This object contains the actual response for the provider. It contains the <code>BVN</code> details</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>NOTE</strong>: Please see information on how to compute the <code>Signature</code> header <a href=\"#authentication-headers\">here</a></p>\n","urlObject":{"path":["v2","transact"],"host":["https://api.onepipe.io"],"query":[],"variable":[]}},"response":[{"id":"54e03340-d6ca-4bf6-ae68-584078b52c6d","name":"Get Banks - WaitingForOTP","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"get_banks\",\r\n  \"auth\": {\r\n    \"type\": null, \r\n    \"secure\": null,\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n        \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": null\r\n  }\r\n}"},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sat, 16 May 2020 13:11:51 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"nginx/1.17.8"},{"key":"Vary","value":"Accept-Encoding"},{"key":"Content-Encoding","value":"gzip"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"WaitingForOTP\",\n    \"message\": \"Please enter the OTP sent to 2348022****08\",\n    \"data\": {\n        \"provider_response_code\": \"900T0\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": null,\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"},{"id":"9c5960f4-5e8c-46dc-ac2e-37b50dcd00e5","name":"Get Banks - Successful","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"get_banks\",\r\n  \"auth\": {\r\n    \"type\": null, \r\n    \"secure\": null,\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n      \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": null\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sun, 05 Jul 2020 23:41:13 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"764"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Successful\",\n    \"message\": \"Transaction processed successfully\",\n    \"data\": {\n        \"provider_response_code\": \"00\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"banks\": [\n                {\n                    \"bank_code\": \"050\",\n                    \"bank_name\": \"Ecobank Bank\"\n                },\n                {\n                    \"bank_code\": \"214\",\n                    \"bank_name\": \"FCMB\"\n                },\n                {\n                    \"bank_code\": \"313\",\n                    \"bank_name\": \"Mkudi\"\n                },\n                {\n                    \"bank_code\": \"401\",\n                    \"bank_name\": \"ASOSavings\"\n                },\n                {\n                    \"bank_code\": \"917\",\n                    \"bank_name\": \"GOWANS MFB\"\n                }\n            ],\n            \"reference\": \"1179586218009\",\n            \"meta\": {\n                \"field_key\": \"field_value\"\n            }\n        },\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"}],"_postman_id":"b8cb313b-c683-4e65-8231-0f26c3618b55"},{"name":"List Branches","id":"b9cad585-5170-4852-b6d7-d288410f9ccf","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"list_branches\",\r\n  \"auth\": {\r\n    \"type\": null, \r\n    \"secure\": null,\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n      \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": null\r\n  }\r\n}"},"url":"https://api.onepipe.io/v2/transact","description":"<p>With this, you can KYC a customer's bank verification number.This service unlike <code>LOOKUP BVN MIN</code>and <code>LOOKUP BVN MID</code> returns  maximum KYC information.</p>\n<h4 id=\"sequence-of-calls\">Sequence of calls</h4>\n<ul>\n<li>Primary call: <code>/v2/transact</code></li>\n<li>Provider responds with WaitingForOTP or PendingValidation (if required)</li>\n<li>Call <code>v2/transact/validate</code> to supply OTP if needed</li>\n<li>Provider responds with any of the completion codes <code>Successful</code> or <code>Failed</code>.\n*Call <code>/transact/validate</code> to supply OTP if needed</li>\n<li>To query the status of a transaction, a call can be made to  <code>/v2/transact/query</code> endpoint.</li>\n<li>Depending on the provider, the app can call <code>v2/transact/reverse</code> to request a reversal</li>\n</ul>\n<h4 id=\"interpreting-the-response\">Interpreting the response</h4>\n<ul>\n<li>Read the reponse</li>\n<li>Read the <code>provider_response</code> Object</li>\n</ul>\n<h4 id=\"possible-status-values\">Possible status values</h4>\n<ul>\n<li><strong>Successful</strong>: Success</li>\n<li><strong>[Anything else]</strong>: Error. Read the errors object(s)</li>\n</ul>\n<h4 id=\"breakdown-of-the-details-in-the-request-object\">Breakdown of the details in the Request Object</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Element</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>bvn</td>\n<td>Customer bvn to look up</td>\n</tr>\n<tr>\n<td>otp_override</td>\n<td><strong>OPTIONAL</strong> Defaults to <code>false</code>. If set to <code>true</code>, request will not be validated by OTP.</td>\n</tr>\n<tr>\n<td>dob</td>\n<td>The date of birth to match in <code>yyyy-MM-dd</code> format</td>\n</tr>\n<tr>\n<td>include_image</td>\n<td>Defaults to <code>true</code>. Instructs the provider whether to include image of the BVN holder or not.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"request-body-elements\">Request body elements</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Element</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>request_ref</td>\n<td>A unique reference for this specific API call. Must be uniquely generated for every single call</td>\n</tr>\n<tr>\n<td>request_type</td>\n<td>Service identifier - <code>lookup_bvn_mid</code></td>\n</tr>\n<tr>\n<td>auth.type</td>\n<td><code>bvn</code>.</td>\n</tr>\n<tr>\n<td>auth.secure</td>\n<td>encrypted BVN</td>\n</tr>\n<tr>\n<td>transaction.customer.customer_ref</td>\n<td>Mobile number of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.firstname</td>\n<td>First name of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.surname</td>\n<td>Surname of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.email</td>\n<td>Email address of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.mobile_no</td>\n<td>Mobile number of the customer</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response-body-elements\">Response body elements</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Element</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>status</td>\n<td>Standard response. <strong>Successful</strong> or anything else.</td>\n</tr>\n<tr>\n<td>message</td>\n<td>A message or description of the response</td>\n</tr>\n<tr>\n<td>data.provider</td>\n<td>The provider that was used to process the request</td>\n</tr>\n<tr>\n<td>data.provider_response_code</td>\n<td>Response code as determined by the underlying provider</td>\n</tr>\n<tr>\n<td>data.provider_response</td>\n<td>This object contains the actual response for the provider. It contains the <code>BVN</code> details</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>NOTE</strong>: Please see information on how to compute the <code>Signature</code> header <a href=\"#authentication-headers\">here</a> </p>\n","urlObject":{"path":["v2","transact"],"host":["https://api.onepipe.io"],"query":[],"variable":[]}},"response":[{"id":"ddbb4738-fccd-42d3-97d7-f1a6f58a17c6","name":"List Branches - Successful","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"list_branches\",\r\n  \"auth\": {\r\n    \"type\": null, \r\n    \"secure\": null,\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n      \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": null\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sun, 05 Jul 2020 23:45:46 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"851"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Successful\",\n    \"message\": \"Transaction processed successfully\",\n    \"data\": {\n        \"provider_response_code\": \"00\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"branches\": [\n                {\n                    \"branch_code\": \"355\",\n                    \"branch_name\": \"BRD STR BRANCH\",\n                    \"branch_address1\": \"51/55  BROAD STREET, \",\n                    \"branch_address2\": \"LAGOS\",\n                    \"branch_address3\": \" LAGOS \"\n                },\n                {\n                    \"branch_code\": \"364\",\n                    \"branch_name\": \"KIRIKASA BRANCH\",\n                    \"branch_address1\": \"1, KIRIKASSAMA  ROAD \",\n                    \"branch_address2\": \"MAIDUGURI\",\n                    \"branch_address3\": \"BORNO\"\n                }\n            ],\n            \"reference\": \"778655403340\",\n            \"meta\": {\n                \"field_key\": \"field_value\"\n            }\n        },\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"}],"_postman_id":"b9cad585-5170-4852-b6d7-d288410f9ccf"}],"id":"fcbe0445-c010-4ec8-9496-1fa2318ad0a2","_postman_id":"fcbe0445-c010-4ec8-9496-1fa2318ad0a2","description":""},{"name":"Notifications","item":[{"name":"Notification (alerts)","event":[{"listen":"test","script":{"id":"92117056-a26c-416c-aa24-bd65d59b3cee","exec":[""],"type":"text/javascript"}},{"listen":"prerequest","script":{"id":"78332a9d-cbe4-4df3-96e4-da8d47e527c7","exec":[""],"type":"text/javascript"}}],"id":"3cb5bb33-05a1-4f6b-8fd7-82f4777d7a6d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","type":"text","value":"application/json"},{"key":"Signature","type":"text","value":" {{MD5Hash(request_ref;app_secret)}}"}],"body":{"mode":"raw","raw":"{\r\n    \"request_ref\": \"1305433\",\r\n    \"request_type\": \"transaction_notification\",\r\n    \"requester\": \"{{Provider}}\",\r\n    \"mock_mode\": \"Live\",\r\n    \"details\": {\r\n        \"amount\": 5500,\r\n        \"transaction_type\": \"collect\",\r\n        \"transaction_ref\": \"23486644\",\r\n        \"status\": \"Successful\",\r\n        \"provider\": \"{{Provider}}\",\r\n        \"customer_ref\": \"9090905\",\r\n        \"customer_email\": \"email@gmail.com\",\r\n        \"customer_firstname\": \"Uju\",\r\n        \"customer_surname\": \"James\",\r\n        \"customer_mobile_no\": \"2349066666544\",\r\n        \"data\": {{{actual_data_from_provider}}}\r\n    },\r\n    \"app_info\": {\r\n        \"app_code\": \"{{your_app_code}}\"\r\n    }\r\n}"},"url":"","description":"<h2 id=\"use-case\">Use case</h2>\n<p>This is useful for a new wave of payment approaches that businesses are starting to explore:</p>\n<ol>\n<li>Open an account and map it to a customer or specific transaction. <a href=\"#4bd34b48-f824-465d-91fa-3cb16ca859b5\">See Account Opening</a></li>\n<li>Ask customers to transfer to that account</li>\n<li>Get notified once a credit or debit hits that account</li>\n<li>Process the service that the customer was supposed to pay for</li>\n<li>Monies are \"swept\" from that account into yours after a while.</li>\n</ol>\n<p>With this, you'd expose a webhook url, that will receive a <code>POST</code> message from OnePipe upon a credit or debit activity on an account that you have access to. </p>\n<p>First, you have to setup your webhook url on the OnePipe console.</p>\n<p><img src=\"http://www.onepipe.io/docs/webhook.png\" alt=\"Setting up your  webhook\" /></p>\n<p>Upon receiving the message, please respond with a <code>200 - OK</code>.</p>\n<h4 id=\"request-body-elements\">Request body elements</h4>\n<p>Here is the explanation of the fields you would receive.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Element</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>request_ref</td>\n<td>A unique reference for this specific API call. It would have been uniquely generated by OnePipe for every single call</td>\n</tr>\n<tr>\n<td>request_type</td>\n<td>In this case it would be set to '<code>transaction_notification</code>'.</td>\n</tr>\n<tr>\n<td>requester</td>\n<td>This would be set to <code>{{Provider Name}}</code> representing the provider or bank where this service occurred.</td>\n</tr>\n<tr>\n<td>mock_mode</td>\n<td>Here, you will receive <code>Live</code> for live transactions and <code>Inspect</code> for test transactions.</td>\n</tr>\n<tr>\n<td>details.amount</td>\n<td>Amount in kobo</td>\n</tr>\n<tr>\n<td>details.transaction_type</td>\n<td>This will come to you as <code>collect</code> if it's an inflow (credit alert) or <code>disburse</code> if it's an outflow (debit alert)</td>\n</tr>\n<tr>\n<td>details.provider</td>\n<td>This will contain <code>{{Provider Name}}</code></td>\n</tr>\n<tr>\n<td>details.transaction_ref</td>\n<td>A unique reference for this specific transaction.</td>\n</tr>\n<tr>\n<td>details.customer_ref</td>\n<td>A unique reference with which you identify this customer on your systems.</td>\n</tr>\n<tr>\n<td>details.customer_firstname</td>\n<td>First name of the customer</td>\n</tr>\n<tr>\n<td>details.customer_surname</td>\n<td>Surname of the customer</td>\n</tr>\n<tr>\n<td>details.customer_email</td>\n<td>Email address of the customer</td>\n</tr>\n<tr>\n<td>details.customer_mobile_no</td>\n<td>Mobile number of the customer</td>\n</tr>\n<tr>\n<td>data</td>\n<td>A JSON object representing the raw data as received directly from the provider. The content will vary per provider and require you to understand the format of the data from each provider if you need the information.</td>\n</tr>\n<tr>\n<td>app_info.app_code</td>\n<td>Your application identifier on OnePipe</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>NOTE</strong>: You will also recieve <code>Signature</code> header with which you can authenticate that the call came from OnePipe. Please see information on how the <code>Signature</code> header is computed <a href=\"#the-headers\">here</a> </p>\n<hr />\n","urlObject":{"query":[],"variable":[]}},"response":[{"id":"7cf64e06-08a4-46d7-aa86-165528ed9ac1","name":"Transaction Notification - success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Signature","value":" {{MD5Hash(request_ref;app_secret)}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"request_ref\": \"1305433\",\r\n    \"request_type\": \"transaction_notification\",\r\n    \"requester\": \"{{Provider}}\",\r\n    \"mock_mode\": \"Live\",\r\n    \"details\": {\r\n        \"amount\": 5500,\r\n        \"transaction_type\": \"collect\",\r\n        \"transaction_ref\": \"23486644\",\r\n        \"status\": \"Successful\",\r\n        \"provider\": \"{{Provider}}\",\r\n        \"customer_ref\": \"9090905\",\r\n        \"customer_email\": \"email@gmail.com\",\r\n        \"customer_firstname\": \"Uju\",\r\n        \"customer_surname\": \"James\",\r\n        \"customer_mobile_no\": \"2349066666544\",\r\n        \"data\": {{{actual_data_from_provider}}}\r\n    },\r\n    \"app_info\": {\r\n        \"app_code\": \"{{your_app_code}}\"\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":""},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":""},{"id":"c6a1515b-9d7b-4e53-9c07-7b850a4b329e","name":"FidelityVirtual Transaction Notification - success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Signature","value":" {{MD5Hash(request_ref;app_secret)}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"request_ref\": \"1305433\",\r\n    \"request_type\": \"transaction_notification\",\r\n    \"requester\": \"{{Provider}}\",\r\n    \"mock_mode\": \"Live\",\r\n    \"details\": {\r\n        \"amount\": 105000,\r\n        \"transaction_type\": \"collect\",\r\n        \"transaction_ref\": \"23486644\",\r\n        \"status\": \"Successful\",\r\n        \"provider\": \"{{Provider}}\",\r\n        \"customer_ref\": \"9090905\",\r\n        \"customer_email\": \"email@gmail.com\",\r\n        \"customer_firstname\": \"Uju\",\r\n        \"customer_surname\": \"James\",\r\n        \"customer_mobile_no\": \"2349066666544\",\r\n        \"data\": {\r\n            \"tag\": \"FIDELITY\",\r\n            \"amount\": \"1050.00\",\r\n            \"bankcode\": \"000007\",\r\n            \"bankname\": \"Fidelity Bank\",\r\n            \"trandate\": \"2022-04-11T13:53:41.193\",\r\n            \"bank_code\": \"076\",\r\n            \"craccount\": \"1234567890\",\r\n            \"createdOn\": \"0001-01-01T00:00:00\",\r\n            \"narration\": \"Akin Olunloue/ACCOUNT \",\r\n            \"sessionid\": \"090267220998477563848008052946\",\r\n            \"channelcode\": \"2\",\r\n            \"chargeamount\": null,\r\n            \"craccountname\": \"OSL - UJU JAMES\",\r\n            \"originatorbvn\": null,\r\n            \"account_number\": \"1234567890\",\r\n            \"beneficiarybvn\": null,\r\n            \"nameenquiryref\": \"090267220998477563848008052946\",\r\n            \"originatorname\": \"Akin Olunloye\",\r\n            \"paymentreference\": \"090267220998477563848008052946\",\r\n            \"originatorkyclevel\": null,\r\n            \"beneficiarykyclevel\": null,\r\n            \"transactionlocation\": null,\r\n            \"collectionaccountNumber\": \"9110390844\",\r\n            \"originatoraccountnumber\": \"9876504321\",\r\n            \"destinationinstitutionbankcode\": \"000007\"\r\n        }\r\n    },\r\n    \"app_info\": {\r\n        \"app_code\": \"{{your_app_code}}\"\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":""},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":""},{"id":"5170e434-eb8a-479f-bb89-52ab63e0e046","name":"PolarisVirtual Transaction Notification - success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Signature","value":" {{MD5Hash(request_ref;app_secret)}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"request_ref\": \"1305433\",\r\n    \"request_type\": \"transaction_notification\",\r\n    \"requester\": \"{{Provider}}\",\r\n    \"mock_mode\": \"Live\",\r\n    \"details\": {\r\n        \"amount\": 2580000,\r\n        \"transaction_type\": \"collect\",\r\n        \"transaction_ref\": \"23486644\",\r\n        \"status\": \"Successful\",\r\n        \"provider\": \"{{Provider}}\",\r\n        \"customer_ref\": \"9090905\",\r\n        \"customer_email\": \"email@gmail.com\",\r\n        \"customer_firstname\": \"Uju\",\r\n        \"customer_surname\": \"James\",\r\n        \"customer_mobile_no\": \"2349066666544\",\r\n        \"data\": {\r\n            \"Hash\": \"665f2c50fd5394a4e48688d69b438ba8c68a00eaa58c8a8de27f218faf39df9dd7dcfc0e4cf82f83b28e7ea09998615f5830b4f622091fbc41846554079d\",\r\n            \"Narration\": \"NIBSS:1234567890:UJU JAMES:Transfer from to ONEPIPE - Akin Olunloye :100004220094785900101163384968\",\r\n            \"bank_code\": \"076\",\r\n            \"VirtualAccount\": \"1234567890\",\r\n            \"account_number\": \"1234567890\",\r\n            \"TransactionDate\": \"2022-04-11T13:57:30.967\",\r\n            \"TransactionAmount\": 25800,\r\n            \"VirtualAccountName\": \"UJU JAMES\",\r\n            \"TransactionReference\": \"100004220094785900101163384968\"\r\n        }\r\n    },\r\n    \"app_info\": {\r\n        \"app_code\": \"{{your_app_code}}\"\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":""},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":""},{"id":"9c0be325-43a6-477c-8fa8-58a06ac308f2","name":"VBankVirtual Transaction Notification - success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Signature","value":" {{MD5Hash(request_ref;app_secret)}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"request_ref\": \"1305433\",\r\n    \"request_type\": \"transaction_notification\",\r\n    \"requester\": \"{{Provider}}\",\r\n    \"mock_mode\": \"Live\",\r\n    \"details\": {\r\n        \"amount\": 100000,\r\n        \"transaction_type\": \"collect\",\r\n        \"transaction_ref\": \"23486644\",\r\n        \"status\": \"Successful\",\r\n        \"provider\": \"{{Provider}}\",\r\n        \"customer_ref\": \"9090905\",\r\n        \"customer_email\": \"email@gmail.com\",\r\n        \"customer_firstname\": \"Uju\",\r\n        \"customer_surname\": \"James\",\r\n        \"customer_mobile_no\": \"2349066666544\",\r\n        \"data\": {\r\n            \"Amount\": \"1000.0\",\r\n            \"BankCode\": \"566\",\r\n            \"Reference\": \"SupportMFB-20220411073139713\",\r\n            \"SessionId\": null,\r\n            \"Timestamp\": \"2022-04-11T07:31:39.713Z\",\r\n            \"AccountNumber\": \"1009909729\",\r\n            \"OriginatorBank\": \"000013\",\r\n            \"OriginatorNarration\": \"FRM Akin Olunloye|via GTWORLD \",\r\n            \"OriginatorAccountName\": \"Akin Olunloye\",\r\n            \"OriginatorAccountNumber\": \"0120982628\"\r\n        }\r\n    },\r\n    \"app_info\": {\r\n        \"app_code\": \"{{your_app_code}}\"\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":""},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":""},{"id":"9b7b83ca-cf6e-4c69-bc6f-651c60326a44","name":"VBankVirtual Transaction Notification - success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Signature","value":" {{MD5Hash(request_ref;app_secret)}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"request_ref\": \"1305433\",\r\n    \"request_type\": \"transaction_notification\",\r\n    \"requester\": \"{{Provider}}\",\r\n    \"mock_mode\": \"Live\",\r\n    \"details\": {\r\n        \"amount\": 139500,\r\n        \"transaction_type\": \"collect\",\r\n        \"transaction_ref\": \"23486644\",\r\n        \"status\": \"Successful\",\r\n        \"provider\": \"{{Provider}}\",\r\n        \"customer_ref\": \"9090905\",\r\n        \"customer_email\": \"email@gmail.com\",\r\n        \"customer_firstname\": \"Uju\",\r\n        \"customer_surname\": \"James\",\r\n        \"customer_mobile_no\": \"2349066666544\",\r\n        \"data\": {\r\n            \"id\": 0,\r\n            \"Amount\": 1395,\r\n            \"Status\": \"COMPLETED\",\r\n            \"CreatedOn\": \"2022-04-11T14:05:38.267\",\r\n            \"Narration\": \"8886123601 Transfer from Akin Olunloye to OSL - Chedda - Akin Olunloye\",\r\n            \"SessionId\": \"10002222098453420099920010502333\",\r\n            \"UpdatedOn\": \"2022-04-11T14:05:38.267\",\r\n            \"MerchantId\": \"3\",\r\n            \"ChannelCode\": \"2\",\r\n            \"OriginatorBVN\": \"200009577914\",\r\n            \"NameEnquiryRef\": \"10002222098453420099920010502333\",\r\n            \"PaymentReference\": \"nip_cb7823a6-296f-422f-a75e-4a003f91c\",\r\n            \"OriginatorKYCLevel\": \"1\",\r\n            \"BeneficiaryKYCLevel\": \"3\",\r\n            \"DestInstitutionCode\": \"000022\",\r\n            \"TransactionLocation\": \"\",\r\n            \"OriginatorAccountName\": \"Akin Olunloye\",\r\n            \"BeneficiaryAccountName\": \"OSL - Chedda - Uju James\",\r\n            \"OriginatorAccountNumber\": \"23409090938714\",\r\n            \"BeneficiaryAccountNumber\": \"8880093701\",\r\n            \"MerchantCollectionAccount\": \"0009094394\",\r\n            \"BeneficiaryBankVerificationNumber\": \"0009003844\"\r\n        }\r\n    },\r\n    \"app_info\": {\r\n        \"app_code\": \"{{your_app_code}}\"\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":""},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":""}],"_postman_id":"3cb5bb33-05a1-4f6b-8fd7-82f4777d7a6d"},{"name":"Notification (payment completion)","event":[{"listen":"test","script":{"id":"6d4f47fc-66a4-40c4-bf2c-7e5232f3d8bc","exec":[""],"type":"text/javascript"}},{"listen":"prerequest","script":{"id":"e40644cd-0eff-4449-a112-286798818061","exec":[""],"type":"text/javascript"}}],"id":"bc7031bd-d133-447e-b9ce-7547ed405d6a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","type":"text","value":"application/json"},{"key":"Signature","type":"text","value":" {{MD5Hash(request_ref;app_secret)}}"}],"body":{"mode":"raw","raw":"{\r\n    \"request_ref\": \"{{request_ref}}\",\r\n    \"request_type\": \"transaction_notification\",\r\n    \"requester\": \"{{'Simple Payments' | 'GRB' | 'Scheduler'}}\",\r\n    \"mock_mode\": \"live\",\r\n    \"details\": {\r\n        \"amount\": 100000,\r\n        \"status\": \"Successful|Failed\",\r\n        \"provider\": \"{{provider}}\",\r\n        \"customer_ref\": \"2349870818\",\r\n        \"customer_email\": \"roqak0@gmail.com\",\r\n        \"transaction_ref\": \"998383938292\",\r\n        \"customer_surname\": \"Adigun\",\r\n        \"transaction_desc\": \"{{transaction_description}}\",\r\n        \"transaction_type\": \"collect\",\r\n        \"customer_firstname\": \"Jonah\",\r\n        \"customer_mobile_no\": \"2349000870818\",\r\n        \"data\": {{{object containing raw data from the payment source}}}\r\n    },\r\n    \"app_info\": {\r\n        \"app_code\": \"{{your_app_code}}\"\r\n    }\r\n}"},"url":"","description":"<h2 id=\"a-use-case\">A use case</h2>\n<p>Notifications are useful for a new wave of payment approaches that businesses are starting to explore:</p>\n<ol>\n<li>Open an account and map it to a customer or specific transaction. <a href=\"#4bd34b48-f824-465d-91fa-3cb16ca859b5\">See Account Opening</a></li>\n<li>Ask customers to transfer to that account</li>\n<li>Get notified once a credit or debit hits that account</li>\n<li>Process the service that the customer was supposed to pay for</li>\n<li>Monies are \"swept\" from that account into yours after a while.</li>\n</ol>\n<p>With this, you'd expose a webhook url, that will receive a <code>POST</code> message from OnePipe upon a credit or debit activity on an account that you have access to. </p>\n<h2 id=\"another-use-case\">Another use case</h2>\n<p>On OnePipe, we have created several solutions like our <strong>SImple Payments</strong> platform and our <strong>Grassroots Banking</strong> platform. On these solutions, customers can make payment to you. This notification is used to inform your system that such payments have just been completed so you can take necessary action. You can see this scenario at play <a href=\"https://youtu.be/qlDmdCDd5go?t=242\">here</a>.</p>\n<p>For this, you'd expose a webhook url, that will receive a <code>POST</code> message from OnePipe upon a credit or debit activity on an account that you have access to. </p>\n<p>First, you have to setup your webhook url on the OnePipe console.</p>\n<p><img src=\"http://www.onepipe.io/docs/webhook.png\" alt=\"Setting up your  webhook\" /></p>\n<p>Upon receiving the message, please respond with a <code>200 - OK</code>.</p>\n<h4 id=\"request-body-elements\">Request body elements</h4>\n<p>Here is the explanation of the fields you would receive.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Element</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>request_ref</td>\n<td>A unique reference for this specific API call. It would have been uniquely generated by OnePipe for every single call</td>\n</tr>\n<tr>\n<td>request_type</td>\n<td>In this case it would be set to '<code>transaction_notification</code>'.</td>\n</tr>\n<tr>\n<td>requester</td>\n<td>This would be set to <code>{{Simple Payments}}</code> if coming from the Simple Payments product. And set to <code>{{GRB}}</code> if coming from the Grassroots Banking product.</td>\n</tr>\n<tr>\n<td>mock_mode</td>\n<td>Here, you will receive <code>Live</code> for live transactions and <code>Inspect</code> for test transactions.</td>\n</tr>\n<tr>\n<td>details.amount</td>\n<td>Amount in kobo</td>\n</tr>\n<tr>\n<td>details.transaction_type</td>\n<td>This will come to you as <code>collect</code> since you are receiving an inflow.</td>\n</tr>\n<tr>\n<td>details.provider</td>\n<td>This will contain <code>{{Provider Name}}</code> that was used to process the payment.</td>\n</tr>\n<tr>\n<td>details.transaction_ref</td>\n<td>A unique reference for this specific transaction.</td>\n</tr>\n<tr>\n<td>details.customer_ref</td>\n<td>A unique reference with which you identify this customer on your systems.</td>\n</tr>\n<tr>\n<td>details.customer_firstname</td>\n<td>First name of the customer</td>\n</tr>\n<tr>\n<td>details.customer_surname</td>\n<td>Surname of the customer</td>\n</tr>\n<tr>\n<td>details.customer_email</td>\n<td>Email address of the customer</td>\n</tr>\n<tr>\n<td>details.customer_mobile_no</td>\n<td>Mobile number of the customer</td>\n</tr>\n<tr>\n<td>data</td>\n<td>A JSON object representing some of the details of the payment like invoice number and other miscellanous information.</td>\n</tr>\n<tr>\n<td>app_info.app_code</td>\n<td>Your application identifier on OnePipe</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>NOTE</strong>: You will also recieve <code>Signature</code> header with which you can authenticate that the call came from OnePipe. Please see information on how the <code>Signature</code> header is computed <a href=\"#the-headers\">here</a> </p>\n<hr />\n","urlObject":{"query":[],"variable":[]}},"response":[{"id":"e07f7ae0-d6a2-4e1b-a8b1-d2adce42dd0b","name":"Transaction Notification - success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Signature","value":" {{MD5Hash(request_ref;app_secret)}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"request_ref\": \"{{request_ref}}\",\r\n    \"request_type\": \"transaction_notification\",\r\n    \"requester\": \"{{'Simple Payments' | 'GRB' | 'Scheduler'}}\",\r\n    \"mock_mode\": \"live\",\r\n    \"details\": {\r\n        \"amount\": 100000,\r\n        \"status\": \"Successful|Failed\",\r\n        \"provider\": \"{{provider}}\",\r\n        \"customer_ref\": \"2349870818\",\r\n        \"customer_email\": \"roqak0@gmail.com\",\r\n        \"transaction_ref\": \"998383938292\",\r\n        \"customer_surname\": \"Adigun\",\r\n        \"transaction_desc\": \"{{transaction_description}}\",\r\n        \"transaction_type\": \"collect\",\r\n        \"customer_firstname\": \"Jonah\",\r\n        \"customer_mobile_no\": \"2349000870818\",\r\n        \"data\": {{{object containing raw data from the payment source}}}\r\n    },\r\n    \"app_info\": {\r\n        \"app_code\": \"{{your_app_code}}\"\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":""},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":""}],"_postman_id":"bc7031bd-d133-447e-b9ce-7547ed405d6a"},{"name":"Notification (lookup customer ref)","event":[{"listen":"test","script":{"id":"5cefaf17-b7c0-4292-9fd3-35710eb8362d","exec":[""],"type":"text/javascript"}},{"listen":"prerequest","script":{"id":"869331ff-a2f6-402b-9142-3609c1135848","exec":[""],"type":"text/javascript"}}],"id":"306af3ad-0ba8-405d-b519-f0f48c92611a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","type":"text","value":"application/json"},{"key":"Signature","type":"text","value":" {{MD5Hash(request_ref;client_secret)}}"}],"body":{"mode":"raw","raw":"{\r\n    \"request_ref\": \"{{request_ref}}\",\r\n    \"request_type\": \"transaction_notification\",\r\n    \"requester\": \"{{page_name}}\",\r\n    \"mock_mode\": \"live\",\r\n    \"details\": {\r\n        \"amount\": null,\r\n        \"transaction_type\": \"lookup_customer_reference\",\r\n        \"status\": \"Successful\",\r\n        \"provider\": \"Simple Payments\",\r\n        \"transaction_ref\": \"23486644\",\r\n        \"customer_ref\": \"9090905\",\r\n        \"customer_email\": \"email@gmail.com\",\r\n        \"customer_firstname\": \"Uju\",\r\n        \"customer_surname\": \"James\",\r\n        \"customer_mobile_no\": \"2349066666544\",\r\n        \"data\": {\r\n            \"biller_id\": \"{{code representing the biller}}\", \r\n            \"biller_item_id\": \"{{code representing the biller's specific product}}\",\r\n            \"meta\":{\r\n            \t\"a_key\":\"a_meta_value_1\",\r\n            \t\"another_key\":\"a_meta_value_2\" \r\n            }\r\n        }\r\n    },\r\n    \"app_info\": {\r\n        \"app_code\": \"{{app_code}}\"\r\n    }\r\n}"},"url":"","description":"<h2 id=\"use-case\">Use case</h2>\n<p>On OnePipe, we have created several solutions like our <strong>SImple Payments</strong> platform and our <strong>Grassroots Banking</strong> platform. On this solutions, customers can make payment to you. In some cases, when such a payment sequence starts OnePipe needs to connect to your system to verify the customer that is making payment and obtain any details necessary for that payment like Name, amount due, bill_id, etc.</p>\n<p>You will receive a notification of this type and respond with the necessary information. </p>\n<p>First, you have to setup your webhook url on the OnePipe console.</p>\n<p><img src=\"http://www.onepipe.io/docs/webhook.png\" alt=\"Setting up your  webhook\" /></p>\n<p>Upon receiving the message, please respond with the sample payload below:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code>{\n  \"status\": \"Successful\",\n  \"message\": \"Transaction processed successfully\",\n  \"data\": {\n    \"provider_response_code\": \"00\",\n    \"provider\": \"{{your_app_code}}\", \n    \"errors\": null,\n    \"error\": null,\n    \"provider_response\": {\n      \"products\": [\n        {\n          \"order_reference\": \"101638163628490752\",\n          \"biller_item_id\": \"101638163628490752\",          \n          \"biller_item_code\": \"RAC01\",\n          \"biller_item_name\": \"DSTV Premium\",\n          \"biller_item_description\": \"This is DSTV Premium that is lovely\",\n          \"biller_item_image_url\": \"{{url to an image}}\",\n          \"biller_item_prompt\": \"Please neter your smartcard number\",\n          \"customer_name\": \"Kola Uju Abubakar Premium\",\n          \"biller_item_meta\": {}\n          \"amount\": \"500000\",\n          \"currency\": \"566\",\n          \"terms\": \"{{some HTML content}}\",\n          \"terms_url\": \"{{some url}}\"\n        },\n        {\n          \"order_reference\": \"101638163628490752\",\n          \"biller_item_id\": \"101638163628490752\",\n          \"biller_item_code\": \"RAC01\",\n          \"biller_item_name\": \"DSTV Premium\",\n          \"biller_item_description\": \"This is DSTV Premium that is lovely\",\n          \"biller_item_image_url\": \"{{url to an image}}\",\n          \"biller_item_prompt\": \"Please neter your smartcard number\",\n          \"customer_name\": \"Kola Uju Abubakar Premium\",\n          \"biller_item_meta\": {}\n          \"amount\": \"500000\",\n          \"currency\": \"566\",\n          \"terms\": \"{{some HTML content}}\",\n          \"terms_url\": \"{{some url}}\"\n        }\n      ],\n      \"reference\": \"000022200225154318222333334432\",\n      \"meta\":{\n        \"field_key\":\"field_value\",\n        \"field_key\":\"field_value\"\n      }\n    }\n  }\n}\n</code></pre><p>Please see <a href=\"https://onepipe.atlassian.net/wiki/spaces/PUB/pages/261062673/Lookup+Customer+Reference#Response\">here</a> for a full breakown of this specification and the fields.</p>\n<h4 id=\"request-body-elements\">Request body elements</h4>\n<p>Here is the explanation of the fields you would receive.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Element</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>request_ref</td>\n<td>A unique reference for this specific API call. It would have been uniquely generated by OnePipe for every single call</td>\n</tr>\n<tr>\n<td>request_type</td>\n<td>In this case it would be set to '<code>transaction_notification</code>'.</td>\n</tr>\n<tr>\n<td>requester</td>\n<td>This would be set to <code>{{Simple Payments}}</code> if coming from the Simple Payments product. And set to <code>{{GRB}}</code> if coming from the Grassroots Banking product.</td>\n</tr>\n<tr>\n<td>mock_mode</td>\n<td>Here, you will receive <code>Live</code> for live transactions and <code>Inspect</code> for test transactions.</td>\n</tr>\n<tr>\n<td>details.amount</td>\n<td>Amount in kobo</td>\n</tr>\n<tr>\n<td>details.transaction_type</td>\n<td>This will come to you as <code>collect</code> since you are receiving an inflow.</td>\n</tr>\n<tr>\n<td>details.provider</td>\n<td>This will contain <code>{{Provider Name}}</code> that was used to process the payment.</td>\n</tr>\n<tr>\n<td>details.transaction_ref</td>\n<td>A unique reference for this specific transaction.</td>\n</tr>\n<tr>\n<td>details.customer_ref</td>\n<td>A unique reference with which you identify this customer on your systems.</td>\n</tr>\n<tr>\n<td>details.customer_firstname</td>\n<td>First name of the customer</td>\n</tr>\n<tr>\n<td>details.customer_surname</td>\n<td>Surname of the customer</td>\n</tr>\n<tr>\n<td>details.customer_email</td>\n<td>Email address of the customer</td>\n</tr>\n<tr>\n<td>details.customer_mobile_no</td>\n<td>Mobile number of the customer</td>\n</tr>\n<tr>\n<td>data</td>\n<td>A JSON object representing some of the details of the payment like invoice number and other miscellanous information.</td>\n</tr>\n<tr>\n<td>app_info.app_code</td>\n<td>Your application identifier on OnePipe</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>NOTE</strong>: You will also recieve <code>Signature</code> header with which you can authenticate that the call came from OnePipe. Please see information on how the <code>Signature</code> header is computed <a href=\"#the-headers\">here</a> </p>\n<hr />\n","urlObject":{"query":[],"variable":[]}},"response":[{"id":"2894b130-1878-40da-9be3-cd10d6ab1859","name":"Transaction Notification - success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Signature","value":" {{MD5Hash(request_ref;client_secret)}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"request_ref\": \"{{request_ref}}\",\r\n    \"request_type\": \"transaction_notification\",\r\n    \"requester\": \"{{page_name}}\",\r\n    \"mock_mode\": \"live\",\r\n    \"details\": {\r\n        \"amount\": null,\r\n        \"transaction_type\": \"lookup_customer_reference\",\r\n        \"status\": \"Successful\",\r\n        \"provider\": \"Simple Payments\",\r\n        \"transaction_ref\": \"23486644\",\r\n        \"customer_ref\": \"9090905\",\r\n        \"customer_email\": \"email@gmail.com\",\r\n        \"customer_firstname\": \"Uju\",\r\n        \"customer_surname\": \"James\",\r\n        \"customer_mobile_no\": \"2349066666544\",\r\n        \"data\": {\r\n            \"biller_id\": \"{{code representing the biller}}\", \r\n            \"biller_item_id\": \"{{code representing the biller's specific product}}\",\r\n            \"meta\":{\r\n            \t\"a_key\":\"a_meta_value_1\",\r\n            \t\"another_key\":\"a_meta_value_2\" \r\n            }\r\n        }\r\n    },\r\n    \"app_info\": {\r\n        \"app_code\": \"{{app_code}}\"\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":""},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\r\n  \"status\": \"Successful\",\r\n  \"message\": \"Transaction processed successfully\",\r\n  \"data\": {\r\n    \"provider_response_code\": \"00\",\r\n    \"provider\": \"{{app_code}}\", //Put the app code here\r\n    \"errors\": null,\r\n    \"error\": null,\r\n    \"provider_response\": {\r\n      \"products\": [\r\n        {\r\n          \"order_reference\": \"101638163628490752\",\r\n          \"biller_item_id\": \"101638163628490752\",          \r\n          \"biller_item_code\": \"RAC01\",\r\n          \"biller_item_name\": \"DSTV Premium\",\r\n          \"biller_item_description\": \"This is DSTV Premium that is lovely\",\r\n          \"biller_item_image_url\": \"{{url to an image}}\",\r\n          \"biller_item_prompt\": \"Please neter your smartcard number\",\r\n          \"customer_name\": \"Kola Uju Abubakar Premium\",\r\n          \"biller_item_meta\": {},\r\n          \"amount\": \"500000\",\r\n          \"currency\": \"566\",\r\n          \"terms\": \"{{some HTML content}}\",\r\n          \"terms_url\": \"{{some url}}\"\r\n        },\r\n        {\r\n          \"order_reference\": \"101638163628490752\",\r\n          \"biller_item_id\": \"101638163628490752\",\r\n          \"biller_item_code\": \"RAC01\",\r\n          \"biller_item_name\": \"DSTV Premium\",\r\n          \"biller_item_description\": \"This is DSTV Premium that is lovely\",\r\n          \"biller_item_image_url\": \"{{url to an image}}\",\r\n          \"biller_item_prompt\": \"Please neter your smartcard number\",\r\n          \"customer_name\": \"Kola Uju Abubakar Premium\",\r\n          \"biller_item_meta\": {},\r\n          \"amount\": \"500000\",\r\n          \"currency\": \"566\",\r\n          \"terms\": \"{{some HTML content}}\",\r\n          \"terms_url\": \"{{some url}}\"\r\n        }\r\n      ],\r\n      \"reference\": \"000022200225154318222333334432\",\r\n      \"meta\":{\r\n        \"field_key\":\"field_value\",\r\n        \"field_key\":\"field_value\"\r\n      }\r\n    }\r\n  }\r\n}"}],"_postman_id":"306af3ad-0ba8-405d-b519-f0f48c92611a"},{"name":"Webhook (Get Statement)","event":[{"listen":"prerequest","script":{"exec":["//Generate Signature","var request_ref = pm.variables.replaceIn('w8Bxh0JsHMFyPAo');","var secret_key = pm.variables.get(\"secret_key\");","var signature = CryptoJS.MD5(request_ref + ';' + secret_key).toString();","pm.environment.set(\"request_ref\", request_ref);","pm.environment.set(\"signature\", signature);"],"type":"text/javascript","id":"1e695e55-1cdc-4e71-a9ce-e4a6a70820f1"}}],"id":"94b02d1a-0f26-4c87-90db-5c36b5da5f79","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Signature","value":"3a2b58350e8068507e6b5bff106850a5","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"request_ref\": \"{{request_ref}}\",\n    \"request_type\": \"transaction_notification\",\n    \"requester\": \"GRB\",\n    \"mock_mode\": \"live\",\n    \"details\": {\n        \"amount\": 100000,\n        \"status\": \"Successful\",\n        \"provider\": \"Paystack\",\n        \"customer_ref\": \"2349870818\",\n        \"customer_email\": \"segun@onepipe.io\",\n        \"transaction_ref\": \"998383938292\",\n        \"customer_surname\": \"John\",\n        \"transaction_desc\": \"TransactionDesc\",\n        \"transaction_type\": \"get_statement\",\n        \"customer_firstname\": \"Maxwel\",\n        \"customer_mobile_no\": \"2349000870818\",\n        \"data\": {\n            \"destination\": \"savings\",\n            \"manager\": \"NAICFUND\",\n            \"start_date\": \"2021-01-01\",\n            \"end_date\": \"2021-02-11\"\n        }\n    },\n    \"app_info\": {\n        \"app_code\": \"1234567\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/webhook","urlObject":{"path":["webhook"],"host":["{{base_url}}"],"query":[],"variable":[]}},"response":[{"id":"a71aea53-437c-445f-ac83-e3ab32ae25bc","name":"Webhook (Get Statement)","originalRequest":{"method":"POST","header":[{"key":"Signature","value":"3a2b58350e8068507e6b5bff106850a5","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"request_ref\": \"{{request_ref}}\",\n    \"request_type\": \"transaction_notification\",\n    \"requester\": \"GRB\",\n    \"mock_mode\": \"live\",\n    \"details\": {\n        \"amount\": 100000,\n        \"status\": \"Successful\",\n        \"provider\": \"Paystack\",\n        \"customer_ref\": \"2349870818\",\n        \"customer_email\": \"roqak0@gmail.com\",\n        \"transaction_ref\": \"998383938292\",\n        \"customer_surname\": \"Adigun\",\n        \"transaction_desc\": \"A new Webhook Request\",\n        \"transaction_type\": \"get_statement\",\n        \"customer_firstname\": \"Jonah\",\n        \"customer_mobile_no\": \"2349000870818\",\n        \"data\": {\n            \"destination\": \"investment\",\n            \"manager\": \"NAICFUND\",\n            \"start_date\": \"2021-01-01\",\n            \"end_date\": \"2021-02-03\"\n        }\n    },\n    \"app_info\": {\n        \"app_code\": \"1234567\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/webhook"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Host","value":"localhost:8000"},{"key":"Date","value":"Tue, 02 Feb 2021 10:14:26 GMT"},{"key":"Date","value":"Tue, 02 Feb 2021 10:14:26 GMT"},{"key":"Connection","value":"close"},{"key":"X-Powered-By","value":"PHP/7.3.26"},{"key":"Cache-Control","value":"no-cache, private"},{"key":"Content-Type","value":"application/json"},{"key":"X-RateLimit-Limit","value":"60"},{"key":"X-RateLimit-Remaining","value":"59"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Successful\",\n    \"message\": \"Statement retrieved successfully\",\n    \"data\": {\n        \"provider_response_code\": \"00\",\n        \"provider\": \"\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"closing_balance\": 400000,\n            \"opening_balance\": null,\n            \"statement_list\": [\n                {\n                    \"transaction_reference\": \"IN11284765590\",\n                    \"transacton_amount\": 200000,\n                    \"transaction_type\": \"C\",\n                    \"transaction_date\": \"2021-01-31 16:09:30\",\n                    \"description\": \"GRB/Paystack/A new Webhook Request\",\n                    \"units\": 2\n                },\n                {\n                    \"transaction_reference\": \"IN48363280350\",\n                    \"transacton_amount\": 200000,\n                    \"transaction_type\": \"C\",\n                    \"transaction_date\": \"2021-01-31 16:09:05\",\n                    \"description\": \"GRB/Paystack/A new Webhook Request\",\n                    \"units\": 2\n                }\n            ]\n        }\n    },\n    \"reference\": null,\n    \"meta\": {\n        \"closing_units_balance\": 4,\n        \"manager\": \"NAICFUND\"\n    }\n}"}],"_postman_id":"94b02d1a-0f26-4c87-90db-5c36b5da5f79"},{"name":"Webhook (Withdraw)","event":[{"listen":"prerequest","script":{"exec":["//Generate Signature","var request_ref = pm.variables.replaceIn('zJJYoosCh11i6V5');","var secret_key = pm.variables.get(\"secret_key\");","var signature = CryptoJS.MD5(request_ref + ';' + secret_key).toString();","pm.environment.set(\"request_ref\", request_ref);","pm.environment.set(\"signature\", signature);"],"type":"text/javascript","id":"4fe7175c-a813-461a-8409-7baa34821528"}}],"id":"f699af25-5020-4059-ad09-bd4677d684e1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Signature","value":"3a2b58350e8068507e6b5bff106850a5","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"request_ref\": \"{{request_ref}}\",\n    \"request_type\": \"transaction_notification\",\n    \"requester\": \"GRB\",\n    \"mock_mode\": \"live\",\n    \"details\": {\n        \"amount\": 100000,\n        \"status\": \"Successful\",\n        \"provider\": \"Paystack\",\n        \"customer_ref\": \"2349870818\",\n        \"customer_email\": \"segun@onepipe.io\",\n        \"transaction_ref\": \"998383938292\",\n        \"customer_surname\": \"John\",\n        \"transaction_desc\": \"TransactionDesc\",\n        \"transaction_type\": \"withdraw\",\n        \"customer_firstname\": \"Maxwel\",\n        \"customer_mobile_no\": \"2349000870818\",\n       \"data\": {\n            \"destination\": \"investment\",\n            \"manager\": \"NAICFUND\"\n        }\n    },\n    \"app_info\": {\n        \"app_code\": \"1234567\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/webhook","urlObject":{"path":["webhook"],"host":["{{base_url}}"],"query":[],"variable":[]}},"response":[{"id":"5a92ec8e-2932-4271-af43-6cfc4d6b49da","name":"Webhook (Withdraw)","originalRequest":{"method":"POST","header":[{"key":"Signature","value":"3a2b58350e8068507e6b5bff106850a5","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"request_ref\": \"{{request_ref}}\",\n    \"request_type\": \"transaction_notification\",\n    \"requester\": \"GRB\",\n    \"mock_mode\": \"live\",\n    \"details\": {\n        \"amount\": 100000,\n        \"status\": \"Successful\",\n        \"provider\": \"Paystack\",\n        \"customer_ref\": \"2349870818\",\n        \"customer_email\": \"roqak0@gmail.com\",\n        \"transaction_ref\": \"998383938292\",\n        \"customer_surname\": \"Adigun\",\n        \"transaction_desc\": \"A new Webhook Request\",\n        \"transaction_type\": \"withdrawal\",\n        \"customer_firstname\": \"Jonah\",\n        \"customer_mobile_no\": \"2349000870818\",\n       \"data\": {\n            \"destination\": \"investment\",\n            \"manager\": \"ARM\"\n        }\n    },\n    \"app_info\": {\n        \"app_code\": \"1234567\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/webhook"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Host","value":"localhost:8000"},{"key":"Date","value":"Mon, 01 Feb 2021 21:00:20 GMT"},{"key":"Date","value":"Mon, 01 Feb 2021 21:00:20 GMT"},{"key":"Connection","value":"close"},{"key":"X-Powered-By","value":"PHP/7.3.26"},{"key":"Cache-Control","value":"no-cache, private"},{"key":"Content-Type","value":"application/json"},{"key":"X-RateLimit-Limit","value":"60"},{"key":"X-RateLimit-Remaining","value":"58"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Processing\",\n    \"message\": \"Request processed Successfully\",\n    \"data\": {\n        \"provider_response_code\": \"00\",\n        \"provider\": null,\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": null\n    }\n}"}],"_postman_id":"f699af25-5020-4059-ad09-bd4677d684e1"},{"name":"Webhook (Get Products)","event":[{"listen":"prerequest","script":{"exec":["//Generate Signature","var request_ref = pm.variables.replaceIn('mMUoa5wer22IW3i');","var secret_key = pm.variables.get(\"secret_key\");","var signature = CryptoJS.MD5(request_ref + ';' + secret_key).toString();","pm.environment.set(\"request_ref\", request_ref);","pm.environment.set(\"signature\", signature);"],"type":"text/javascript","id":"d3aee073-35ce-43d2-bc60-98fbb5f5ab4a"}}],"id":"760ea9f6-bf51-4c13-a6ec-b0de2e2208c1","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Signature","value":"3a2b58350e8068507e6b5bff106850a5","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"request_ref\": \"{{request_ref}}\",\n    \"request_type\": \"transaction_notification\",\n    \"requester\": \"GRB\",\n    \"mock_mode\": \"live\",\n    \"details\": {\n        \"amount\": 100000,\n        \"status\": \"Successful\",\n        \"provider\": \"Paystack\",\n        \"customer_ref\": \"2349870818\",\n        \"customer_email\": \"segun@onepipe.io\",\n        \"transaction_ref\": \"998383938292\",\n        \"customer_surname\": \"John\",\n        \"transaction_desc\": \"TransactionDesc\",\n        \"transaction_type\": \"get_products\",\n        \"customer_firstname\": \"Maxwel\",\n        \"customer_mobile_no\": \"2349000870818\",\n       \"data\": {\n           \"destination\": null\n       }\n    },\n    \"app_info\": {\n        \"app_code\": \"1234567\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/webhook","urlObject":{"path":["webhook"],"host":["{{base_url}}"],"query":[],"variable":[]}},"response":[{"id":"cf4d44b6-0aa9-4b31-b6d6-1623d73f6767","name":"Webhook (Get Products)","originalRequest":{"method":"POST","header":[{"key":"Signature","value":"3a2b58350e8068507e6b5bff106850a5","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"request_ref\": \"{{request_ref}}\",\n    \"request_type\": \"transaction_notification\",\n    \"requester\": \"GRB\",\n    \"mock_mode\": \"live\",\n    \"details\": {\n        \"amount\": 100000,\n        \"status\": \"Successful\",\n        \"provider\": \"Paystack\",\n        \"customer_ref\": \"2349870818\",\n        \"customer_email\": \"segun@onepipe.io\",\n        \"transaction_ref\": \"998383938292\",\n        \"customer_surname\": \"John\",\n        \"transaction_desc\": \"TransactionDesc\",\n        \"transaction_type\": \"get_products\",\n        \"customer_firstname\": \"Maxwel\",\n        \"customer_mobile_no\": \"2349000870818\",\n       \"data\": {\n           \"destination\": null\n       }\n    },\n    \"app_info\": {\n        \"app_code\": \"1234567\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"{{base_url}}/webhook"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Host","value":"localhost:8000"},{"key":"Date","value":"Sat, 13 Feb 2021 20:09:49 GMT"},{"key":"Date","value":"Sat, 13 Feb 2021 20:09:49 GMT"},{"key":"Connection","value":"close"},{"key":"X-Powered-By","value":"PHP/7.3.24-(to be removed in future macOS)"},{"key":"Cache-Control","value":"no-cache, private"},{"key":"Content-Type","value":"application/json"},{"key":"X-RateLimit-Limit","value":"60"},{"key":"X-RateLimit-Remaining","value":"57"},{"key":"Access-Control-Allow-Origin","value":"*"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Successful\",\n    \"message\": \"Request processed Successfully\",\n    \"data\": {\n        \"provider_response_code\": \"00\",\n        \"provider\": null,\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": [\n            {\n                \"code\": \"NAICFUND\",\n                \"name\": \"National Investment Fund\",\n                \"logo_url\": \"https://www.naicfund.ng/wp-content/uploads/2020/10/NAIC-LOGO-REDO-2-Transparent.png\",\n                \"avaliable_units\": 999992,\n                \"buy_price\": 100000,\n                \"sell_price\": 95000\n            },\n            {\n                \"code\": \"STANBIC\",\n                \"name\": \"STANBIC\",\n                \"logo_url\": \"https://google.com\",\n                \"avaliable_units\": 1000000,\n                \"buy_price\": 100000,\n                \"sell_price\": 95000\n            }\n        ]\n    }\n}"}],"_postman_id":"760ea9f6-bf51-4c13-a6ec-b0de2e2208c1"}],"id":"60695d18-6d30-468f-ae5f-edee46d8c017","description":"<p>Applications on OnePipe can set a webhook to receive callbacks and notifications from Providers where supported. You'd implement and expose a webhook url, that will receive a <code>POST</code> message from OnePipe whenever an event that you have subscribed to occurs.</p>\n<p>First, you have to setup your webhook url on the OnePipe console.</p>\n<img src=\"http://www.onepipe.io/docs/webhook.png\" alt=\"Setting up your  webhook\" />\n\n<p>Upon receiving the message, please respond with a <code>200 - OK</code>.</p>\n<p><strong>NOTE</strong>: By default, OnePipe creates a webhook for every application that forwards events to the app admin by email. If you do not override this webhook URL, this would be the default implementation.</p>\n","event":[{"listen":"prerequest","script":{"id":"4e39296f-87ba-49ee-aa86-8b387544f532","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"2d42a0f3-3d80-41c8-980d-5d5a3a83b4b1","type":"text/javascript","exec":[""]}}],"_postman_id":"60695d18-6d30-468f-ae5f-edee46d8c017"},{"name":"_Utils","item":[{"name":"Validate OTP","event":[{"listen":"prerequest","script":{"id":"54d575f7-ff3b-465b-8b55-bb4714765988","exec":[""],"type":"text/javascript"}},{"listen":"test","script":{"id":"280552a5-ace4-4cda-a1f3-5d6b57fb6163","exec":[""],"type":"text/javascript"}}],"id":"b294a37e-e131-4fd3-931b-7868bec36e34","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","type":"text","value":"application/json"},{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":" 3a2b58350e8068507e6b5bff106850a5"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"lookup_account_min\",\r\n\t\"auth\": {\r\n        \"secure\": \"X90WY3DRBQQehrv9FzvA4hlExLEj3eTW\",\r\n        \"auth_provider\": \"DemoProvider\" \r\n    },\r\n    \"transaction\": {\r\n        \"transaction_ref\": \"36846438403442\"\r\n    }\r\n}"},"url":"https://api.onepipe.io/v2/transact/validate","description":"<p>With this you can debit a customer's card for a payment and obtain a token for future use if it works.</p>\n<h4 id=\"sequence-of-calls\">Sequence of calls</h4>\n<ul>\n<li>Primary call: <code>/v2/transact</code></li>\n<li>Read the reponse<ul>\n<li>If the response says you need OTP, the response status would be <code>WaitingForOTP</code>. If so, prompt the user for OTP using the message field in the response you got</li>\n<li>Call the <code>Validate OTP</code> Service</li>\n<li>Call <code>/v2/transact/query</code> to check status</li>\n</ul>\n</li>\n</ul>\n<h4 id=\"possible-status-values\">Possible status values</h4>\n<ul>\n<li><strong>Successful</strong>: Success</li>\n<li><strong>WaitingForOTP</strong>: Requires OTP, call <code>Validate OTP</code> Service</li>\n<li><strong>[Anything else]</strong>: Error. Read the errors object(s)</li>\n</ul>\n<h4 id=\"acceptable-values-for-authtype\">Acceptable values for <code>auth.type</code></h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Card</td>\n<td>Takes card details for debit.</td>\n</tr>\n<tr>\n<td>bank.account</td>\n<td>Takes bank account details for debit.</td>\n</tr>\n<tr>\n<td>custom</td>\n<td>Takes a unique transaction ref. This mode is for when OnePipe.js or some other UI processes the payment and passes in a ref for validation of the payment.</td>\n</tr>\n<tr>\n<td>voucher</td>\n<td>Takes a voucher code for debit.</td>\n</tr>\n<tr>\n<td>airtime</td>\n<td>Takes MSISDN and debits the airtime on it.</td>\n</tr>\n<tr>\n<td>wallet</td>\n<td>Takes a wallet ID for debit.</td>\n</tr>\n<tr>\n<td>bank.transfer</td>\n<td>Simply instructs the provider to generate bank transfer instructions.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"full-list-of-supported-status-values\">Full list of supported status values</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Status</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Successful</td>\n<td>Was processed successfully</td>\n</tr>\n<tr>\n<td>Failed</td>\n<td>A definite transaction failure. Read the error(s)</td>\n</tr>\n<tr>\n<td>PendingValidation</td>\n<td>To signify that this provider needs some extra information to be provided. The response.message will contain the prompt.</td>\n</tr>\n<tr>\n<td>WaitingForOTP</td>\n<td>Still waiting for the OTP to be supplied. NOTE: If left too long, it's possible the OTP may have expired.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"request-body-elements\">Request body elements</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Element</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>request_ref</td>\n<td>A unique reference for this specific API call. Must be uniquely generated for every single call</td>\n</tr>\n<tr>\n<td>request_type</td>\n<td>Set this to determine the type of transaction that would be done. In this case '<code>collect</code>'.</td>\n</tr>\n<tr>\n<td>auth.type</td>\n<td>Set this to determine if the encrypted authorization details supplied is a <code>card</code>, a <code>token</code>, an <code>account</code> or something else</td>\n</tr>\n<tr>\n<td>auth.secure</td>\n<td>Encrypted authorization. See <a href=\"#encryption-of-secure-element\">here</a></td>\n</tr>\n<tr>\n<td>auth.auth_provider</td>\n<td>Set the provider you would like to use in processing this transaction. If this element is not provided, whatever you have configured on your console will be used.</td>\n</tr>\n<tr>\n<td>transaction.amount</td>\n<td>Amount in kobo</td>\n</tr>\n<tr>\n<td>transaction.transaction_ref</td>\n<td>A unique reference for this specific transaction. Must be unique for this call. You could simply set this to same value as the request_ref</td>\n</tr>\n<tr>\n<td>transaction.transaction_desc</td>\n<td>A description of the transaction</td>\n</tr>\n<tr>\n<td>transaction.transaction_ref_parent</td>\n<td>If this transaction is a retry of a former one, set this value to the transaction reference of the original</td>\n</tr>\n<tr>\n<td>customer.customer_ref</td>\n<td>A unique reference with which you identify this customer on your systems. Could be an account number or ID of sorts</td>\n</tr>\n<tr>\n<td>customer.firstname</td>\n<td>First name of the customer</td>\n</tr>\n<tr>\n<td>customer.surname</td>\n<td>Surname of the customer</td>\n</tr>\n<tr>\n<td>customer.email</td>\n<td>Email address of the customer</td>\n</tr>\n<tr>\n<td>customer.mobile_no</td>\n<td>Mobile number of the customer</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response-body-elements\">Response body elements</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Element</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>status</td>\n<td>A response code for this request. See possible status values above.</td>\n</tr>\n<tr>\n<td>message</td>\n<td>A description message for the response. May at times be a message to display to the user.</td>\n</tr>\n<tr>\n<td>data.provider_response_code</td>\n<td>The actual response code from the provider's API bubbled up to OnePipe</td>\n</tr>\n<tr>\n<td>data.provider</td>\n<td>The provider that was used to process request</td>\n</tr>\n<tr>\n<td>data.errors</td>\n<td>An array of error objects, in the event of an error</td>\n</tr>\n<tr>\n<td>data.error</td>\n<td>The single most important error object to bother about</td>\n</tr>\n<tr>\n<td>data.error.code</td>\n<td>The code for an error, as defined by the provider</td>\n</tr>\n<tr>\n<td>data.error.message</td>\n<td>The message or description of an error</td>\n</tr>\n<tr>\n<td>data.charge_token</td>\n<td>If the transaction was successful, you'd get a charge-token that can be used to initiate transactions in future without having to request authorization details again</td>\n</tr>\n<tr>\n<td>data.paymentoptions</td>\n<td>An array of possible alternative payment options if the transaction is not yet complete.</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>NOTE</strong>: Please see information on how to compute the <code>Signature</code> header <a href=\"#authentication-headers\">here</a> </p>\n","urlObject":{"path":["v2","transact","validate"],"host":["https://api.onepipe.io"],"query":[],"variable":[]}},"response":[{"id":"646e77f3-84c9-4e80-97f5-8a8676a8381a","name":"Successful","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{api_key}}","type":"text"},{"key":"Signature","value":"3a2b58350e8068507e6b5bff106850a5","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"request_ref\":\"111111111\", \n  \"request_type\":\"{{request_type}}\",\n\t\"auth\": {\n        \"secure\": \"{{encrypted_otp}}\",\n        \"auth_provider\": \"{{provider}}\" \n    },\n    \"transaction\": {\n        \"transaction_ref\": \"998383938292\"\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v1/payments/advanced/charge"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\r\n  \"status\": \"Successful\",\r\n  \"message\": \"Transaction processed successfully\",\r\n  \"data\": {\r\n    \"provider_response_code\": \"00\",\r\n    \"provider\": \"Beeceptor\",\r\n    \"errors\": null,\r\n    \"error\": null,\r\n    \"provider_response\": {\r\n      \"provider_auth_token\": null,\r\n      \"paymentoptions\": [],\r\n      \"transaction_final_amount\": 1000,\r\n      \"reference\": \"897465522772655\",\r\n      \"meta\": {}\r\n    }\r\n  }\r\n}"},{"id":"bddd3057-3b1a-4257-a244-8701cbe99b02","name":"Failed","originalRequest":{"method":"POST","header":[{"key":"Content-Type","type":"text","value":"application/json"},{"key":"Authorization","type":"text","value":"Bearer {{api_key}}"},{"key":"Signature","type":"text","value":" 3a2b58350e8068507e6b5bff106850a5"}],"body":{"mode":"raw","raw":"{\n  \"request_ref\":\"111111111\", \n  \"request_type\":\"charge\", \n  \"auth\": {\n    \"type\": \"card\", \n    \"secure\": \"{{secure.card}}\" ,\n    \"auth_provider\": \"{{preffered.provider}}\"\n  },\n  \"transaction\": {\n    \"amount\": \"105000\", \n    \"transaction_ref\": \"{{transaction-ref}}\", \n    \"transaction_desc\": \"Payment for services\", \n    \"transaction_ref_parent\": \"\", \n    \"customer\":{\n    \t\"customer_ref\": \"{{customer.id}}\",\n    \t\"firstname\": \"{{customer.firstname}}\",\n  \t\t\"surname\": \"{{customer.surname}}\",\n    \t\"email\": \"{{customer.email}}\",\n    \t\"mobile_no\": \"{{customer.mobile-no}}\"\n    }\n  }\n}"},"url":"https://api.onepipe.io/v1/payments/advanced/charge"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Failed\",\n    \"message\": \"There was an error processing your transaction\",\n    \"data\": {\n        \"provider_responde_code\": \"91\",\n        \"provider\": \"RAVEPAY\",\n        \"errors\": [\n\t\t\t{\n\t\t\t\t\"code\": \"70013\",\n\t\t\t\t\"message\": \"70013 - R:Details of this error\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"code\": \"70013\",\n\t\t\t\t\"message\": \"70013 - R:Details of this error\"\n\t\t\t}\n\t\t],\n\t\t\"error\": {\n\t\t\t\"code\": \"70013\",\n\t\t\t\"message\": \"70013 - R:Details of the primary error.\"\n\t\t},\n        \"charge_token\": \"Kz5Dev7BenV9HmLNB\",\n        \"paymentoptions\": []\n    }\n}"},{"id":"e0e72581-85e9-4177-84b5-1249667a776d","name":"WaitingForOTP","originalRequest":{"method":"POST","header":[{"key":"Content-Type","type":"text","value":"application/json"},{"key":"Authorization","type":"text","value":"Bearer {{api_key}}"},{"key":"Signature","type":"text","value":" 3a2b58350e8068507e6b5bff106850a5"}],"body":{"mode":"raw","raw":"{\n  \"request_ref\":\"111111111\", \n  \"request_type\":\"charge\", \n  \"auth\": {\n    \"type\": \"card\", \n    \"secure\": \"{{secure.card}}\" ,\n    \"auth_provider\": \"{{preffered.provider}}\"\n  },\n  \"transaction\": {\n    \"amount\": \"105000\", \n    \"transaction_ref\": \"{{transaction-ref}}\", \n    \"transaction_desc\": \"Payment for services\", \n    \"transaction_ref_parent\": \"\", \n    \"customer\":{\n    \t\"customer_ref\": \"{{customer.id}}\",\n    \t\"firstname\": \"{{customer.firstname}}\",\n  \t\t\"surname\": \"{{customer.surname}}\",\n    \t\"email\": \"{{customer.email}}\",\n    \t\"mobile_no\": \"{{customer.mobile-no}}\"\n    }\n  }\n}"},"url":"https://api.onepipe.io/v1/payments/advanced/charge"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"WaitingForOTP\",\n    \"message\": \"Please enter the OTP that was sent to 234****1234.\",\n    \"data\": {\n    \t\"provider_responde_code\":\"T0\",\n    \t\"provider\": \"RAVEPAY\",\n        \"errors\": null,\n        \"error\": null,\n        \"charge_token\": null,\n        \"paymentoptions\": []\n    }\n}"}],"_postman_id":"b294a37e-e131-4fd3-931b-7868bec36e34"},{"name":"Query","event":[{"listen":"prerequest","script":{"id":"e2f62f3c-e150-40f7-8735-ef1813646329","exec":[""],"type":"text/javascript"}},{"listen":"test","script":{"id":"3e4703e0-686e-4747-9c92-7eaddad26651","exec":[""],"type":"text/javascript"}}],"id":"49989819-2306-45a4-8837-b47248697aa0","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","type":"text","value":"application/json"},{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":" 3a2b58350e8068507e6b5bff106850a5"}],"body":{"mode":"raw","raw":"{\r\n\t\"request_ref\":\"111111111\",\r\n\t\"request_type\":\"lookup_wallet_max\",\r\n\t\"transaction\":{\r\n\t\t\"transaction_ref\": \"33820897296821\"\r\n\t}\r\n}"},"url":"https://api.onepipe.io/v2/transact/query","description":"<p>Use this endpoint for querying transactions. Specify the transaction ref of the transaction to be queried in the <code>transaction.transaction_ref</code> field.</p>\n<p>Specify the service name in the <code>request_type</code> field.</p>\n<h4 id=\"possible-status-values\">Possible status values</h4>\n<ul>\n<li><strong>Successful</strong>: Success</li>\n<li><strong>[Anything else]</strong>: Error. Read the errors object(s)</li>\n</ul>\n","urlObject":{"path":["v2","transact","query"],"host":["https://api.onepipe.io"],"query":[],"variable":[]}},"response":[{"id":"16e78123-e51f-423e-8f4b-bf87b8ea76b4","name":"Query - Successful transaction (no OTP)","originalRequest":{"method":"POST","header":[{"key":"Content-Type","type":"text","value":"application/json"},{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":" 3a2b58350e8068507e6b5bff106850a5"}],"body":{"mode":"raw","raw":"{\r\n\t\"request_ref\":\"111111111\",\r\n\t\"request_type\":\"get_statement\",\r\n\t\"transaction\":{\r\n\t\t\"transaction_ref\": \"37099901794399\"\r\n\t}\r\n}"},"url":"https://api.onepipe.io/v2/transact/query"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 01 Jul 2020 23:43:15 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"513"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Successful\",\n    \"message\": \"Transaction processed successfully\",\n    \"data\": {\n        \"auth_token\": null,\n        \"provider_auth_token\": null,\n        \"provider_response_code\": null,\n        \"provider\": null,\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"provider_auth_token\": null,\n            \"paymentoptions\": [],\n            \"transaction_final_amount\": 1000,\n            \"reference\": \"8996423353999\",\n            \"meta\": {\n                \"currency\": \"NGN\"\n            }\n        },\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"},{"id":"678a6d10-2154-4557-8ab9-94a8667215c6","name":"Query - Failed transaction","originalRequest":{"method":"POST","header":[{"key":"Content-Type","type":"text","value":"application/json"},{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":" 3a2b58350e8068507e6b5bff106850a5"}],"body":{"mode":"raw","raw":"{\r\n\t\"request_ref\":\"111111111\",\r\n\t\"request_type\":\"get_statement\",\r\n\t\"transaction\":{\r\n\t\t\"transaction_ref\": \"35110587702652\"\r\n\t}\r\n}"},"url":"https://api.onepipe.io/v2/transact/query"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 01 Jul 2020 23:40:28 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"505"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Failed\",\n    \"message\": \"Failed Transaction!!\",\n    \"data\": {\n        \"auth_token\": null,\n        \"provider_auth_token\": null,\n        \"provider_response_code\": \"900T0\",\n        \"provider\": \"undefined\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": null,\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"},{"id":"b4c1877c-cbfa-4c8a-a144-3d7821fab7ad","name":"Query - Successful transaction (had OTP)","originalRequest":{"method":"POST","header":[{"key":"Content-Type","type":"text","value":"application/json"},{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":" 3a2b58350e8068507e6b5bff106850a5"}],"body":{"mode":"raw","raw":"{\r\n\t\"request_ref\":\"111111111\",\r\n\t\"request_type\":\"get_statement\",\r\n\t\"transaction\":{\r\n\t\t\"transaction_ref\": \"73967741882357\"\r\n\t}\r\n}"},"url":"https://api.onepipe.io/v2/transact/query"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 01 Jul 2020 23:41:39 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"504"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Successful\",\n    \"message\": \"OTP Validated Sucessfully\",\n    \"data\": {\n        \"auth_token\": null,\n        \"provider_auth_token\": null,\n        \"provider_response_code\": null,\n        \"provider\": null,\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"provider_auth_token\": null,\n            \"paymentoptions\": [],\n            \"transaction_final_amount\": 1000,\n            \"reference\": \"8996423353999\",\n            \"meta\": {\n                \"currency\": \"NGN\"\n            }\n        },\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"}],"_postman_id":"49989819-2306-45a4-8837-b47248697aa0"},{"name":"Reverse","event":[{"listen":"prerequest","script":{"id":"0a9af837-92c5-4495-891c-e1161deb7292","exec":[""],"type":"text/javascript"}},{"listen":"test","script":{"id":"60ab8a17-361b-4448-8355-5d7a1c678c85","exec":[""],"type":"text/javascript"}}],"id":"568fe004-1ee0-4773-8e0b-208b58168c9b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","type":"text","value":"application/json"},{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":" 3a2b58350e8068507e6b5bff106850a5"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\": \"111111111\",\r\n  \"request_type\": \"block_account\",\r\n  \"transaction\": {\r\n    \"amount\": \"1000\",\r\n    \"transaction_ref\": \"85956553781856\",\r\n    \"transaction_desc\": \"Test\",\r\n    \"transaction_ref_parent\": \"{{reference}}\"\r\n  }\r\n}"},"url":"https://api.onepipe.io/v2/transact/reverse","description":"<p>With this you can debit a customer's card for a payment and obtain a token for future use if it works.</p>\n<h4 id=\"sequence-of-calls\">Sequence of calls</h4>\n<ul>\n<li>Primary call: <code>/v2/transact</code></li>\n<li>Read the reponse<ul>\n<li>If the response says you need OTP, the response status would be <code>WaitingForOTP</code>. If so, prompt the user for OTP using the message field in the response you got</li>\n<li>Call the <code>Validate OTP</code> Service</li>\n<li>Call <code>/v2/transact/query</code> to check status</li>\n</ul>\n</li>\n</ul>\n<h4 id=\"possible-status-values\">Possible status values</h4>\n<ul>\n<li><strong>Successful</strong>: Success</li>\n<li><strong>WaitingForOTP</strong>: Requires OTP, call <code>Validate OTP</code> Service</li>\n<li><strong>[Anything else]</strong>: Error. Read the errors object(s)</li>\n</ul>\n<h4 id=\"acceptable-values-for-authtype\">Acceptable values for <code>auth.type</code></h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Type</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Card</td>\n<td>Takes card details for debit.</td>\n</tr>\n<tr>\n<td>bank.account</td>\n<td>Takes bank account details for debit.</td>\n</tr>\n<tr>\n<td>custom</td>\n<td>Takes a unique transaction ref. This mode is for when OnePipe.js or some other UI processes the payment and passes in a ref for validation of the payment.</td>\n</tr>\n<tr>\n<td>voucher</td>\n<td>Takes a voucher code for debit.</td>\n</tr>\n<tr>\n<td>airtime</td>\n<td>Takes MSISDN and debits the airtime on it.</td>\n</tr>\n<tr>\n<td>wallet</td>\n<td>Takes a wallet ID for debit.</td>\n</tr>\n<tr>\n<td>bank.transfer</td>\n<td>Simply instructs the provider to generate bank transfer instructions.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"full-list-of-supported-status-values\">Full list of supported status values</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Status</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Successful</td>\n<td>Was processed successfully</td>\n</tr>\n<tr>\n<td>Failed</td>\n<td>A definite transaction failure. Read the error(s)</td>\n</tr>\n<tr>\n<td>PendingValidation</td>\n<td>To signify that this provider needs some extra information to be provided. The response.message will contain the prompt.</td>\n</tr>\n<tr>\n<td>WaitingForOTP</td>\n<td>Still waiting for the OTP to be supplied. NOTE: If left too long, it's possible the OTP may have expired.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"request-body-elements\">Request body elements</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Element</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>request_ref</td>\n<td>A unique reference for this specific API call. Must be uniquely generated for every single call</td>\n</tr>\n<tr>\n<td>request_type</td>\n<td>Set this to determine the type of transaction that would be done. In this case '<code>collect</code>'.</td>\n</tr>\n<tr>\n<td>auth.type</td>\n<td>Set this to determine if the encrypted authorization details supplied is a <code>card</code>, a <code>token</code>, an <code>account</code> or something else</td>\n</tr>\n<tr>\n<td>auth.secure</td>\n<td>Encrypted authorization. See <a href=\"#encryption-of-secure-element\">here</a></td>\n</tr>\n<tr>\n<td>auth.auth_provider</td>\n<td>Set the provider you would like to use in processing this transaction. If this element is not provided, whatever you have configured on your console will be used.</td>\n</tr>\n<tr>\n<td>transaction.amount</td>\n<td>Amount in kobo</td>\n</tr>\n<tr>\n<td>transaction.transaction_ref</td>\n<td>A unique reference for this specific transaction. Must be unique for this call. You could simply set this to same value as the request_ref</td>\n</tr>\n<tr>\n<td>transaction.transaction_desc</td>\n<td>A description of the transaction</td>\n</tr>\n<tr>\n<td>transaction.transaction_ref_parent</td>\n<td>If this transaction is a retry of a former one, set this value to the transaction reference of the original</td>\n</tr>\n<tr>\n<td>customer.customer_ref</td>\n<td>A unique reference with which you identify this customer on your systems. Could be an account number or ID of sorts</td>\n</tr>\n<tr>\n<td>customer.firstname</td>\n<td>First name of the customer</td>\n</tr>\n<tr>\n<td>customer.surname</td>\n<td>Surname of the customer</td>\n</tr>\n<tr>\n<td>customer.email</td>\n<td>Email address of the customer</td>\n</tr>\n<tr>\n<td>customer.mobile_no</td>\n<td>Mobile number of the customer</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response-body-elements\">Response body elements</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Element</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>status</td>\n<td>A response code for this request. See possible status values above.</td>\n</tr>\n<tr>\n<td>message</td>\n<td>A description message for the response. May at times be a message to display to the user.</td>\n</tr>\n<tr>\n<td>data.provider_response_code</td>\n<td>The actual response code from the provider's API bubbled up to OnePipe</td>\n</tr>\n<tr>\n<td>data.provider</td>\n<td>The provider that was used to process request</td>\n</tr>\n<tr>\n<td>data.errors</td>\n<td>An array of error objects, in the event of an error</td>\n</tr>\n<tr>\n<td>data.error</td>\n<td>The single most important error object to bother about</td>\n</tr>\n<tr>\n<td>data.error.code</td>\n<td>The code for an error, as defined by the provider</td>\n</tr>\n<tr>\n<td>data.error.message</td>\n<td>The message or description of an error</td>\n</tr>\n<tr>\n<td>data.charge_token</td>\n<td>If the transaction was successful, you'd get a charge-token that can be used to initiate transactions in future without having to request authorization details again</td>\n</tr>\n<tr>\n<td>data.paymentoptions</td>\n<td>An array of possible alternative payment options if the transaction is not yet complete.</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>NOTE</strong>: Please see information on how to compute the <code>Signature</code> header <a href=\"#authentication-headers\">here</a> </p>\n","urlObject":{"path":["v2","transact","reverse"],"host":["https://api.onepipe.io"],"query":[],"variable":[]}},"response":[{"id":"1210d471-1cef-4910-b4a3-269eabbabf4f","name":"WaitingForOTP","originalRequest":{"method":"POST","header":[{"key":"Content-Type","type":"text","value":"application/json"},{"key":"Authorization","type":"text","value":"Bearer {{api_key}}"},{"key":"Signature","type":"text","value":" 3a2b58350e8068507e6b5bff106850a5"}],"body":{"mode":"raw","raw":"{\n  \"request_ref\":\"111111111\", \n  \"request_type\":\"charge\", \n  \"auth\": {\n    \"type\": \"card\", \n    \"secure\": \"{{secure.card}}\" ,\n    \"auth_provider\": \"{{preffered.provider}}\"\n  },\n  \"transaction\": {\n    \"amount\": \"105000\", \n    \"transaction_ref\": \"{{transaction-ref}}\", \n    \"transaction_desc\": \"Payment for services\", \n    \"transaction_ref_parent\": \"\", \n    \"customer\":{\n    \t\"customer_ref\": \"{{customer.id}}\",\n    \t\"firstname\": \"{{customer.firstname}}\",\n  \t\t\"surname\": \"{{customer.surname}}\",\n    \t\"email\": \"{{customer.email}}\",\n    \t\"mobile_no\": \"{{customer.mobile-no}}\"\n    }\n  }\n}"},"url":"https://api.onepipe.io/v2/transact/reverse"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"WaitingForOTP\",\n    \"message\": \"Please enter the OTP that was sent to 234****1234.\",\n    \"data\": {\n    \t\"provider_responde_code\":\"T0\",\n    \t\"provider\": \"RAVEPAY\",\n        \"errors\": null,\n        \"error\": null,\n        \"charge_token\": null,\n        \"paymentoptions\": []\n    }\n}"},{"id":"5ca04130-87fb-4ec8-ad0d-128b1f34490c","name":"Successful","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer {{api_key}}","type":"text"},{"key":"Signature","value":"3a2b58350e8068507e6b5bff106850a5","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"request_ref\":\"111111111\", \n  \"request_type\":\"charge\", \n  \"auth\": {,\n    \"auth_provider\": \"{{preffered.provider}}\"\n  },\n  \"transaction\": {\n    \"amount\": \"105000\", \n    \"transaction_ref\": \"{{transaction-ref}}\", \n  }\n}"},"url":"https://api.onepipe.io/v2/transact/reverse"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\r\n  \"status\": \"Successful\",\r\n  \"message\": \"Transaction processed successfully\",\r\n  \"data\": {\r\n    \"provider_response_code\": \"00\",\r\n    \"provider\": \"Beeceptor\",\r\n    \"errors\": null,\r\n    \"error\": null,\r\n    \"provider_response\": {\r\n      \"provider_auth_token\": null,\r\n      \"paymentoptions\": [],\r\n      \"transaction_final_amount\": 1000,\r\n      \"reference\": \"897465522772655\",\r\n      \"meta\": {}\r\n    }\r\n  }\r\n}"},{"id":"6410db9a-daa7-4d5a-ac1e-1e4ee7e54586","name":"Failed","originalRequest":{"method":"POST","header":[{"key":"Content-Type","type":"text","value":"application/json"},{"key":"Authorization","type":"text","value":"Bearer {{api_key}}"},{"key":"Signature","type":"text","value":" 3a2b58350e8068507e6b5bff106850a5"}],"body":{"mode":"raw","raw":"{\n  \"request_ref\":\"111111111\", \n  \"request_type\":\"charge\", \n  \"auth\": {\n    \"type\": \"card\", \n    \"secure\": \"{{secure.card}}\" ,\n    \"auth_provider\": \"{{preffered.provider}}\"\n  },\n  \"transaction\": {\n    \"amount\": \"105000\", \n    \"transaction_ref\": \"{{transaction-ref}}\", \n    \"transaction_desc\": \"Payment for services\", \n    \"transaction_ref_parent\": \"\", \n    \"customer\":{\n    \t\"customer_ref\": \"{{customer.id}}\",\n    \t\"firstname\": \"{{customer.firstname}}\",\n  \t\t\"surname\": \"{{customer.surname}}\",\n    \t\"email\": \"{{customer.email}}\",\n    \t\"mobile_no\": \"{{customer.mobile-no}}\"\n    }\n  }\n}"},"url":"https://api.onepipe.io/v1/payments/advanced/charge"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Failed\",\n    \"message\": \"There was an error processing your transaction\",\n    \"data\": {\n        \"provider_responde_code\": \"91\",\n        \"provider\": \"RAVEPAY\",\n        \"errors\": [\n\t\t\t{\n\t\t\t\t\"code\": \"70013\",\n\t\t\t\t\"message\": \"70013 - R:Details of this error\"\n\t\t\t},\n\t\t\t{\n\t\t\t\t\"code\": \"70013\",\n\t\t\t\t\"message\": \"70013 - R:Details of this error\"\n\t\t\t}\n\t\t],\n\t\t\"error\": {\n\t\t\t\"code\": \"70013\",\n\t\t\t\"message\": \"70013 - R:Details of the primary error.\"\n\t\t},\n        \"charge_token\": \"Kz5Dev7BenV9HmLNB\",\n        \"paymentoptions\": []\n    }\n}"}],"_postman_id":"568fe004-1ee0-4773-8e0b-208b58168c9b"}],"id":"30e025c8-156f-46fb-96ec-2fc729ee8b0b","description":"<p>These are endpoints that serve a \"utility\" purpose and can be re-used across all services.</p>\n","event":[{"listen":"prerequest","script":{"id":"e69326a9-c74b-4e0c-bd60-cc03fe078a34","type":"text/javascript","exec":[""]}},{"listen":"test","script":{"id":"5a20e0a0-0dc3-43b5-add8-f08420779e8b","type":"text/javascript","exec":[""]}}],"_postman_id":"30e025c8-156f-46fb-96ec-2fc729ee8b0b"},{"name":"_UPCOMING","item":[{"name":"Messaging Services","item":[{"name":"Send OTP","id":"eb61a4c2-cc07-45a8-8632-cb72441103ed","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"send_otp\",\r\n  \"auth\": {\r\n    \"type\": \"card\", \r\n    \"secure\": \"zmy+k26tJMpjYuFfRUMCcJTAlWQVSKu8Vr9fhbfP1fo9toqiTLdp+UU1Kj7Y0HYAvS36BNL/zux8jFkPHX0vlYBiaqdXXS2E\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n      \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n        \"type\": \"sms\",\r\n        \"app_name\": \"My App\",\r\n        \"expiry_mins\": 5 \r\n     }\r\n  }\r\n}"},"url":"https://api.onepipe.io/v2/transact","description":"<p>With this, you can KYC a customer's bank verification number.This service unlike <code>LOOKUP BVN MIN</code>and <code>LOOKUP BVN MID</code> returns  maximum KYC information.</p>\n<h4 id=\"sequence-of-calls\">Sequence of calls</h4>\n<ul>\n<li>Primary call: <code>/v2/transact</code></li>\n<li>Provider responds with WaitingForOTP or PendingValidation (if required)</li>\n<li>Call <code>v2/transact/validate</code> to supply OTP if needed</li>\n<li>Provider responds with any of the completion codes <code>Successful</code> or <code>Failed</code>.\n*Call <code>/transact/validate</code> to supply OTP if needed</li>\n<li>To query the status of a transaction, a call can be made to  <code>/v2/transact/query</code> endpoint.</li>\n<li>Depending on the provider, the app can call <code>v2/transact/reverse</code> to request a reversal</li>\n</ul>\n<h4 id=\"interpreting-the-response\">Interpreting the response</h4>\n<ul>\n<li>Read the reponse</li>\n<li>Read the <code>provider_response</code> Object</li>\n</ul>\n<h4 id=\"possible-status-values\">Possible status values</h4>\n<ul>\n<li><strong>Successful</strong>: Success</li>\n<li><strong>[Anything else]</strong>: Error. Read the errors object(s)</li>\n</ul>\n<h4 id=\"breakdown-of-the-details-in-the-request-object\">Breakdown of the details in the Request Object</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Element</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>bvn</td>\n<td>Customer bvn to look up</td>\n</tr>\n<tr>\n<td>otp_override</td>\n<td><strong>OPTIONAL</strong> Defaults to <code>false</code>. If set to <code>true</code>, request will not be validated by OTP.</td>\n</tr>\n<tr>\n<td>dob</td>\n<td>The date of birth to match in <code>yyyy-MM-dd</code> format</td>\n</tr>\n<tr>\n<td>include_image</td>\n<td>Defaults to <code>true</code>. Instructs the provider whether to include image of the BVN holder or not.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"request-body-elements\">Request body elements</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Element</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>request_ref</td>\n<td>A unique reference for this specific API call. Must be uniquely generated for every single call</td>\n</tr>\n<tr>\n<td>request_type</td>\n<td>Service identifier - <code>lookup_bvn_mid</code></td>\n</tr>\n<tr>\n<td>auth.type</td>\n<td><code>bvn</code>.</td>\n</tr>\n<tr>\n<td>auth.secure</td>\n<td>encrypted BVN</td>\n</tr>\n<tr>\n<td>transaction.customer.customer_ref</td>\n<td>Mobile number of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.firstname</td>\n<td>First name of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.surname</td>\n<td>Surname of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.email</td>\n<td>Email address of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.mobile_no</td>\n<td>Mobile number of the customer</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response-body-elements\">Response body elements</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Element</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>status</td>\n<td>Standard response. <strong>Successful</strong> or anything else.</td>\n</tr>\n<tr>\n<td>message</td>\n<td>A message or description of the response</td>\n</tr>\n<tr>\n<td>data.provider</td>\n<td>The provider that was used to process the request</td>\n</tr>\n<tr>\n<td>data.provider_response_code</td>\n<td>Response code as determined by the underlying provider</td>\n</tr>\n<tr>\n<td>data.provider_response</td>\n<td>This object contains the actual response for the provider. It contains the <code>BVN</code> details</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>NOTE</strong>: Please see information on how to compute the <code>Signature</code> header <a href=\"#authentication-headers\">here</a> </p>\n","urlObject":{"path":["v2","transact"],"host":["https://api.onepipe.io"],"query":[],"variable":[]}},"response":[{"id":"631d4537-f6e1-4ec1-a850-1ec37a94407f","name":"Send OTP - sms - Successful","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"send_otp\",\r\n  \"auth\": {\r\n    \"type\": \"card\", \r\n    \"secure\": \"zmy+k26tJMpjYuFfRUMCcJTAlWQVSKu8Vr9fhbfP1fo9toqiTLdp+UU1Kj7Y0HYAvS36BNL/zux8jFkPHX0vlYBiaqdXXS2E\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n      \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n        \"type\": \"sms\",\r\n        \"app_name\": \"My App\",\r\n        \"expiry_mins\": 5 \r\n     }\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sun, 05 Jul 2020 23:48:09 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"750"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"WaitingForOTP\",\n    \"message\": \"Please enter the OTP sent to 2348022****08.\",\n    \"data\": {\n        \"provider_response_code\": \"00\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"delivery_status\": \"delivered | failed | pending | logged\",\n            \"cost\": \"1200\",\n            \"expires_on\": \"2020-12-09-11-30-12\",\n            \"ussd_code\": \"*347*022*2*99312#\",\n            \"prompt_message\": \"Please enter the OTP sent to 234*****4656\",\n            \"reference\": \"1711136151132\",\n            \"meta\": {\n                \"field_key\": \"field_value\"\n            }\n        },\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"},{"id":"d448c431-8dce-4748-b526-ee966a1cf355","name":"Send OTP - ussd - Successful","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"send_otp\",\r\n  \"auth\": {\r\n    \"type\": \"card\", \r\n    \"secure\": \"zmy+k26tJMpjYuFfRUMCcJTAlWQVSKu8Vr9fhbfP1fo9toqiTLdp+UU1Kj7Y0HYAvS36BNL/zux8jFkPHX0vlYBiaqdXXS2E\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n      \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n        \"type\": \"ussd\",\r\n        \"app_name\": \"My App\",\r\n        \"expiry_mins\": 5 \r\n     }\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sun, 05 Jul 2020 23:47:11 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"745"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Successful\",\n    \"message\": \"Please dial *347*022*1*22# on your phone.\",\n    \"data\": {\n        \"provider_response_code\": \"00\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"delivery_status\": \"delivered | failed | pending | logged\",\n            \"cost\": \"1200\",\n            \"expires_on\": \"2020-12-09-11-30-12\",\n            \"ussd_code\": \"*347*022*2*99312#\",\n            \"prompt_message\": \"Please enter the OTP sent to 234*****4656\",\n            \"reference\": \"2614112797236\",\n            \"meta\": {\n                \"field_key\": \"field_value\"\n            }\n        },\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"}],"_postman_id":"eb61a4c2-cc07-45a8-8632-cb72441103ed"},{"name":"Validate OTP","id":"1547c045-7788-481a-9c5c-46a8ba5de961","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"validate_otp\",\r\n  \"auth\": {\r\n    \"type\": null, \r\n    \"secure\": null,\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n      \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n      \"reference\": \"1234567890\",\r\n      \"otp\": \"123456\",\r\n      \"otp_override\": true\r\n    }\r\n  }\r\n}"},"url":"https://api.onepipe.io/v2/transact","urlObject":{"path":["v2","transact"],"host":["https://api.onepipe.io"],"query":[],"variable":[]}},"response":[{"id":"bbc6d2b5-62fe-4dbf-b5cf-27238ab8165a","name":"Validate OTP - Successful","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"validate_otp\",\r\n  \"auth\": {\r\n    \"type\": null, \r\n    \"secure\": null,\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n      \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n      \"reference\": \"1234567890\",\r\n      \"otp\": \"123456\",\r\n      \"otp_override\": true\r\n    }\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sun, 05 Jul 2020 23:50:57 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"539"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Successful\",\n    \"message\": \"OTP validated correctly\",\n    \"data\": {\n        \"provider_response_code\": \"00\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"cost\": \"1200\",\n            \"reference\": \"17816870212\",\n            \"meta\": {\n                \"field_key\": \"field_value\"\n            }\n        },\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"}],"_postman_id":"1547c045-7788-481a-9c5c-46a8ba5de961"},{"name":"Send Email","id":"7e573e0c-fbe9-4aec-bf1d-3f079220f236","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n    \"request_ref\": \"111111111\",\r\n    \"request_type\": \"send_email\",\r\n    \"auth\": {\r\n        \"type\": null,\r\n        \"secure\": null,\r\n        \"auth_provider\": \"Demoprovider\",\r\n        \"route_mode\": null\r\n    },\r\n    \"transaction\": {\r\n        \"mock_mode\": \"live\",\r\n        \"transaction_ref\": \"{{transaction-ref}}\",\r\n        \"transaction_desc\": \"A random transaction\",\r\n        \"transaction_ref_parent\": null,\r\n        \"amount\": 0,\r\n        \"customer\": {\r\n            \"customer_ref\": \"DemoApp_Customer007\",\r\n            \"firstname\": \"Uju\",\r\n            \"surname\": \"Usmanu\",\r\n            \"email\": \"ujuusmanu@gmail.com\",\r\n            \"mobile_no\": \"234802343132\"\r\n        },\r\n        \"meta\": null,\r\n        \"details\": {\r\n            \"message_body\": \"Thanks for using GoTV. Your settlement account has been credited with following details.<hr><b>Good Bye</b>\",\r\n            \"message_subject\": \"Payment Receipt\",\r\n            \"sender_name\": \"John Doe\",\r\n            \"sender_email\": \"no-reply@onepipe.io\"\r\n        }\r\n    }\r\n}"},"url":"https://api.onepipe.io/v2/transact","description":"<p>With this, you can KYC a customer's bank verification number.This service unlike <code>LOOKUP BVN MIN</code>and <code>LOOKUP BVN MID</code> returns  maximum KYC information.</p>\n<h4 id=\"sequence-of-calls\">Sequence of calls</h4>\n<ul>\n<li>Primary call: <code>/v2/transact</code></li>\n<li>Provider responds with WaitingForOTP or PendingValidation (if required)</li>\n<li>Call <code>v2/transact/validate</code> to supply OTP if needed</li>\n<li>Provider responds with any of the completion codes <code>Successful</code> or <code>Failed</code>.\n*Call <code>/transact/validate</code> to supply OTP if needed</li>\n<li>To query the status of a transaction, a call can be made to  <code>/v2/transact/query</code> endpoint.</li>\n<li>Depending on the provider, the app can call <code>v2/transact/reverse</code> to request a reversal</li>\n</ul>\n<h4 id=\"interpreting-the-response\">Interpreting the response</h4>\n<ul>\n<li>Read the reponse</li>\n<li>Read the <code>provider_response</code> Object</li>\n</ul>\n<h4 id=\"possible-status-values\">Possible status values</h4>\n<ul>\n<li><strong>Successful</strong>: Success</li>\n<li><strong>[Anything else]</strong>: Error. Read the errors object(s)</li>\n</ul>\n<h4 id=\"breakdown-of-the-details-in-the-request-object\">Breakdown of the details in the Request Object</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Element</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>bvn</td>\n<td>Customer bvn to look up</td>\n</tr>\n<tr>\n<td>otp_override</td>\n<td><strong>OPTIONAL</strong> Defaults to <code>false</code>. If set to <code>true</code>, request will not be validated by OTP.</td>\n</tr>\n<tr>\n<td>dob</td>\n<td>The date of birth to match in <code>yyyy-MM-dd</code> format</td>\n</tr>\n<tr>\n<td>include_image</td>\n<td>Defaults to <code>true</code>. Instructs the provider whether to include image of the BVN holder or not.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"request-body-elements\">Request body elements</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Element</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>request_ref</td>\n<td>A unique reference for this specific API call. Must be uniquely generated for every single call</td>\n</tr>\n<tr>\n<td>request_type</td>\n<td>Service identifier - <code>lookup_bvn_mid</code></td>\n</tr>\n<tr>\n<td>auth.type</td>\n<td><code>bvn</code>.</td>\n</tr>\n<tr>\n<td>auth.secure</td>\n<td>encrypted BVN</td>\n</tr>\n<tr>\n<td>transaction.customer.customer_ref</td>\n<td>Mobile number of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.firstname</td>\n<td>First name of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.surname</td>\n<td>Surname of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.email</td>\n<td>Email address of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.mobile_no</td>\n<td>Mobile number of the customer</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response-body-elements\">Response body elements</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Element</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>status</td>\n<td>Standard response. <strong>Successful</strong> or anything else.</td>\n</tr>\n<tr>\n<td>message</td>\n<td>A message or description of the response</td>\n</tr>\n<tr>\n<td>data.provider</td>\n<td>The provider that was used to process the request</td>\n</tr>\n<tr>\n<td>data.provider_response_code</td>\n<td>Response code as determined by the underlying provider</td>\n</tr>\n<tr>\n<td>data.provider_response</td>\n<td>This object contains the actual response for the provider. It contains the <code>BVN</code> details</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>NOTE</strong>: Please see information on how to compute the <code>Signature</code> header <a href=\"#authentication-headers\">here</a> </p>\n","urlObject":{"path":["v2","transact"],"host":["https://api.onepipe.io"],"query":[],"variable":[]}},"response":[{"id":"96382076-458a-406f-b191-51fc3fd630c7","name":"Send Email - Successful","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n\t\"request_ref\": \"111111111\",\r\n\t\"request_type\": \"send_email\",\r\n\t\"auth\": {\r\n\t\t\"type\": null,\r\n\t\t\"secure\": null,\r\n\t\t\"auth_provider\": \"Demoprovider\",\r\n\t\t\"route_mode\": null\r\n\t},\r\n\t\"transaction\": {\r\n\t\t\"mock_mode\": \"live\",\r\n\t\t\"transaction_ref\": \"{{transaction-ref}}\",\r\n\t\t\"transaction_desc\": \"A random transaction\",\r\n\t\t\"transaction_ref_parent\": null,\r\n\t\t\"amount\": 0,\r\n\t\t\"customer\": {\r\n\t\t\t\"customer_ref\": \"DemoApp_Customer007\",\r\n\t\t\t\"firstname\": \"Uju\",\r\n\t\t\t\"surname\": \"Usmanu\",\r\n\t\t\t\"email\": \"ujuusmanu@gmail.com\",\r\n\t\t\t\"mobile_no\": \"234802343132\"\r\n\t\t},\r\n\t\t\"meta\": null,\r\n\t\t\"details\": {\r\n\t\t\t  \"message_body\": \"Thanks for using GoTV. Your settlement account has been credited with following details.<hr><b>Good Bye</b>\",\r\n            \"message_subject\": \"Payment Receipt\",\r\n            \"sender_name\": \"John Doe\",\r\n            \"sender_email\": \"no-reply@onepipe.io\"\r\n\t\t}\r\n\t}\r\n\t}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sun, 05 Jul 2020 23:53:13 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"601"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Successful\",\n    \"message\": \"Transaction processed successfully\",\n    \"data\": {\n        \"provider_response_code\": \"00\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"delivery_status\": \"delivered | failed | pending\",\n            \"cost\": \"1200\",\n            \"reference\": \"6162993329456\",\n            \"meta\": {\n                \"field_key\": \"field_value\"\n            }\n        },\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"}],"_postman_id":"7e573e0c-fbe9-4aec-bf1d-3f079220f236"},{"name":"Send SMS","id":"b09f489d-0e70-4613-bb9c-b6483ea8f498","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"send_sms\",\r\n  \"auth\": {\r\n    \"type\": \"bank.account\", \r\n    \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\", \r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n      \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n      \"message_body\": \"Welcome to Lagos\",\r\n      \"message_title\": \"A title\",\r\n      \"sender_id\": \"AnID\"\r\n    }\r\n  }\r\n}"},"url":"https://api.onepipe.io/v2/transact","description":"<p>With this, you can KYC a customer's bank verification number.This service unlike <code>LOOKUP BVN MIN</code>and <code>LOOKUP BVN MID</code> returns  maximum KYC information.</p>\n<h4 id=\"sequence-of-calls\">Sequence of calls</h4>\n<ul>\n<li>Primary call: <code>/v2/transact</code></li>\n<li>Provider responds with WaitingForOTP or PendingValidation (if required)</li>\n<li>Call <code>v2/transact/validate</code> to supply OTP if needed</li>\n<li>Provider responds with any of the completion codes <code>Successful</code> or <code>Failed</code>.\n*Call <code>/transact/validate</code> to supply OTP if needed</li>\n<li>To query the status of a transaction, a call can be made to  <code>/v2/transact/query</code> endpoint.</li>\n<li>Depending on the provider, the app can call <code>v2/transact/reverse</code> to request a reversal</li>\n</ul>\n<h4 id=\"interpreting-the-response\">Interpreting the response</h4>\n<ul>\n<li>Read the reponse</li>\n<li>Read the <code>provider_response</code> Object</li>\n</ul>\n<h4 id=\"possible-status-values\">Possible status values</h4>\n<ul>\n<li><strong>Successful</strong>: Success</li>\n<li><strong>[Anything else]</strong>: Error. Read the errors object(s)</li>\n</ul>\n<h4 id=\"breakdown-of-the-details-in-the-request-object\">Breakdown of the details in the Request Object</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Element</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>bvn</td>\n<td>Customer bvn to look up</td>\n</tr>\n<tr>\n<td>otp_override</td>\n<td><strong>OPTIONAL</strong> Defaults to <code>false</code>. If set to <code>true</code>, request will not be validated by OTP.</td>\n</tr>\n<tr>\n<td>dob</td>\n<td>The date of birth to match in <code>yyyy-MM-dd</code> format</td>\n</tr>\n<tr>\n<td>include_image</td>\n<td>Defaults to <code>true</code>. Instructs the provider whether to include image of the BVN holder or not.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"request-body-elements\">Request body elements</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Element</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>request_ref</td>\n<td>A unique reference for this specific API call. Must be uniquely generated for every single call</td>\n</tr>\n<tr>\n<td>request_type</td>\n<td>Service identifier - <code>lookup_bvn_mid</code></td>\n</tr>\n<tr>\n<td>auth.type</td>\n<td><code>bvn</code>.</td>\n</tr>\n<tr>\n<td>auth.secure</td>\n<td>encrypted BVN</td>\n</tr>\n<tr>\n<td>transaction.customer.customer_ref</td>\n<td>Mobile number of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.firstname</td>\n<td>First name of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.surname</td>\n<td>Surname of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.email</td>\n<td>Email address of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.mobile_no</td>\n<td>Mobile number of the customer</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response-body-elements\">Response body elements</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Element</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>status</td>\n<td>Standard response. <strong>Successful</strong> or anything else.</td>\n</tr>\n<tr>\n<td>message</td>\n<td>A message or description of the response</td>\n</tr>\n<tr>\n<td>data.provider</td>\n<td>The provider that was used to process the request</td>\n</tr>\n<tr>\n<td>data.provider_response_code</td>\n<td>Response code as determined by the underlying provider</td>\n</tr>\n<tr>\n<td>data.provider_response</td>\n<td>This object contains the actual response for the provider. It contains the <code>BVN</code> details</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>NOTE</strong>: Please see information on how to compute the <code>Signature</code> header <a href=\"#authentication-headers\">here</a> </p>\n","urlObject":{"path":["v2","transact"],"host":["https://api.onepipe.io"],"query":[],"variable":[]}},"response":[{"id":"af22694a-5f88-4cb5-b437-f64747eae692","name":"Send SMS - Successful","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"send_sms\",\r\n  \"auth\": {\r\n    \"type\": \"bank.account\", \r\n    \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\", \r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n      \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n      \"message_body\": \"Welcome to Lagos\",\r\n      \"message_title\": \"A title\",\r\n      \"sender_id\": \"AnID\"\r\n    }\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sun, 05 Jul 2020 23:54:45 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"581"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Successful\",\n    \"message\": \"Transaction processed successfully\",\n    \"data\": {\n        \"provider_response_code\": \"00\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"delivery_status\": \"delivered\",\n            \"cost\": \"1200\",\n            \"reference\": \"596351331483\",\n            \"meta\": {\n                \"field_key\": \"field_value\"\n            }\n        },\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"}],"_postman_id":"b09f489d-0e70-4613-bb9c-b6483ea8f498"}],"id":"f2b5e792-ef81-4386-bcda-1b31583cd4d1","_postman_id":"f2b5e792-ef81-4386-bcda-1b31583cd4d1","description":""},{"name":"Card Services","item":[{"name":"Issue Card","id":"6934feb4-1954-4f3e-a1bb-2a2c85c900f3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n    \"request_ref\": \"111111111\",\r\n    \"request_type\": \"issue_card\",\r\n    \"auth\": {\r\n        \"type\": null,\r\n        \"secure\": null,\r\n        \"auth_provider\": \"Demoprovider\",\r\n        \"route_mode\": null\r\n    },\r\n    \"transaction\": {\r\n        \"mock_mode\": \"live\",\r\n        \"transaction_ref\": \"{{transaction-ref}}\",\r\n        \"transaction_desc\": \"A random transaction\",\r\n        \"transaction_ref_parent\": null,\r\n        \"amount\": 0,\r\n        \"customer\": {\r\n            \"customer_ref\": \"DemoApp_Customer007\",\r\n            \"firstname\": \"Uju\",\r\n            \"surname\": \"Usmanu\",\r\n            \"email\": \"ujuusmanu@gmail.com\",\r\n            \"mobile_no\": \"234802343132\"\r\n        },\r\n        \"meta\": {\r\n            \"a_key\": \"a_meta_value_1\",\r\n            \"another_key\": \"a_meta_value_2\"\r\n        },\r\n        \"details\": {\r\n            \"name_on_card\": \"Opeyemi Olaniroko Adamu\",\r\n            \"address_line_1\": \"23 Ebinpejo Lane\",\r\n            \"address_line_2\": \"Idumota\",\r\n            \"address_city\": \"Lagos\",\r\n            \"address_state\": \"Lagos\",\r\n            \"address_postal_code\": \"12301\",\r\n            \"address_country_code\": \"NG\",\r\n            \"card_currency_code\": \"NGN\",\r\n            \"card_default_pin\": \"1234\"\r\n        }\r\n    }\r\n}"},"url":"https://api.onepipe.io/v2/transact","urlObject":{"path":["v2","transact"],"host":["https://api.onepipe.io"],"query":[],"variable":[]}},"response":[{"id":"b503d265-5ba0-4c86-b0c8-c041afb6a905","name":"Issue Card - Successful","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"request_ref\": \"111111111\",\r\n    \"request_type\": \"issue_card\",\r\n    \"auth\": {\r\n        \"type\": null,\r\n        \"secure\": null,\r\n        \"auth_provider\": \"Demoprovider\",\r\n        \"route_mode\": null\r\n    },\r\n    \"transaction\": {\r\n        \"mock_mode\": \"live\",\r\n        \"transaction_ref\": \"{{transaction-ref}}\",\r\n        \"transaction_desc\": \"A random transaction\",\r\n        \"transaction_ref_parent\": null,\r\n        \"amount\": 0,\r\n        \"customer\": {\r\n            \"customer_ref\": \"DemoApp_Customer007\",\r\n            \"firstname\": \"Uju\",\r\n            \"surname\": \"Usmanu\",\r\n            \"email\": \"ujuusmanu@gmail.com\",\r\n            \"mobile_no\": \"234802343132\"\r\n        },\r\n        \"meta\": {\r\n            \"a_key\": \"a_meta_value_1\",\r\n            \"another_key\": \"a_meta_value_2\"\r\n        },\r\n        \"details\": {\r\n            \"name_on_card\": \"Opeyemi Olaniroko Adamu\",\r\n            \"address_line_1\": \"23 Ebinpejo Lane\",\r\n            \"address_line_2\": \"Idumota\",\r\n            \"address_city\": \"Lagos\",\r\n            \"address_state\": \"Lagos\",\r\n            \"address_postal_code\": \"12301\",\r\n            \"address_country_code\": \"NG\",\r\n            \"card_currency_code\": \"NGN\",\r\n            \"card_default_pin\": \"1234\",\r\n            \"otp_override\": true\r\n        }\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 15 May 2020 17:15:41 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"nginx/1.17.8"},{"key":"Vary","value":"Accept-Encoding"},{"key":"Content-Encoding","value":"gzip"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Successful\",\n    \"message\": \"Transaction processed successfully\",\n    \"data\": {\n        \"provider_response_code\": \"00\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"card_no_masked\": \"506100xxxxxx4998\",\n            \"card_sequence_no\": \"001\",\n            \"card_brand\": \"Mastercard\",\n            \"card_scheme_code\": \"001\",\n            \"card_scheme_name\": \"Osun Students Card\",\n            \"name_on_card\": \"Opeyemi O. Adamu\",\n            \"address_line_1\": \"23 Ebinpejo Lane\",\n            \"address_line_2\": \"Idumota\",\n            \"address_city\": \"Lagos\",\n            \"address_state\": \"Lagos\",\n            \"address_postal_code\": \"23401\",\n            \"address_country_code\": \"NGN\",\n            \"card_currency_code\": \"566\",\n            \"issuer_cbn_code\": \"43\",\n            \"otp_setup_response\": \"9000\",\n            \"secure\": \"TripleDES.encrypt(\\\"{card.Pan};{card.Cvv};{card.Expdate};{card.Pin}\\\",secretKey)\",\n            \"reference\": \"000022200225154318222333334432\",\n            \"meta\": {\n                \"field_key\": \"field_value\"\n            }\n        },\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"},{"id":"f5993c9f-2bd9-48be-a4dd-4b2ad835f34f","name":"Issue Card - WaitingForOTP","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n    \"request_ref\": \"111111111\",\r\n    \"request_type\": \"issue_card\",\r\n    \"auth\": {\r\n        \"type\": null,\r\n        \"secure\": null,\r\n        \"auth_provider\": \"Demoprovider\",\r\n        \"route_mode\": null\r\n    },\r\n    \"transaction\": {\r\n        \"mock_mode\": \"live\",\r\n        \"transaction_ref\": \"{{transaction-ref}}\",\r\n        \"transaction_desc\": \"A random transaction\",\r\n        \"transaction_ref_parent\": null,\r\n        \"amount\": 0,\r\n        \"customer\": {\r\n            \"customer_ref\": \"DemoApp_Customer007\",\r\n            \"firstname\": \"Uju\",\r\n            \"surname\": \"Usmanu\",\r\n            \"email\": \"ujuusmanu@gmail.com\",\r\n            \"mobile_no\": \"234802343132\"\r\n        },\r\n        \"meta\": {\r\n            \"a_key\": \"a_meta_value_1\",\r\n            \"another_key\": \"a_meta_value_2\"\r\n        },\r\n        \"details\": {\r\n            \"name_on_card\": \"Opeyemi Olaniroko Adamu\",\r\n            \"address_line_1\": \"23 Ebinpejo Lane\",\r\n            \"address_line_2\": \"Idumota\",\r\n            \"address_city\": \"Lagos\",\r\n            \"address_state\": \"Lagos\",\r\n            \"address_postal_code\": \"12301\",\r\n            \"address_country_code\": \"NG\",\r\n            \"card_currency_code\": \"NGN\",\r\n            \"card_default_pin\": \"1234\"\r\n        }\r\n    }\r\n}"},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 15 May 2020 17:14:27 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"nginx/1.17.8"},{"key":"Vary","value":"Accept-Encoding"},{"key":"Content-Encoding","value":"gzip"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"WaitingForOTP\",\n    \"message\": \"Please enter the OTP sent to 2348022****08\",\n    \"data\": {\n        \"provider_response_code\": \"900T0\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": null,\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"}],"_postman_id":"6934feb4-1954-4f3e-a1bb-2a2c85c900f3"},{"name":"Change PIN","id":"84e82b61-e9e2-4742-a857-3fe3aef45984","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"request_ref\": \"111111111\",\n    \"request_type\": \"change_pin\",\n    \"auth\": {\n        \"type\": \"card\",\n        \"secure\": \"zmy+k26tJMpjYuFfRUMCcJTAlWQVSKu8Vr9fhbfP1fo9toqiTLdp+UU1Kj7Y0HYAvS36BNL/zux8jFkPHX0vlYBiaqdXXS2E\",\n        \"auth_provider\": \"Demoprovider\",\n        \"route_mode\": null\n    },\n    \"transaction\": {\n        \"mock_mode\": \"live\",\n        \"transaction_ref\": \"{{transaction-ref}}\",\n        \"transaction_desc\": \"A random transaction\",\n        \"transaction_ref_parent\": null,\n        \"amount\": 0,\n        \"customer\": {\n            \"customer_ref\": \"DemoApp_Customer007\",\n            \"firstname\": \"Uju\",\n            \"surname\": \"Usmanu\",\n            \"email\": \"ujuusmanu@gmail.com\",\n            \"mobile_no\": \"234802343132\"\n        },\n        \"meta\": {},\n        \"details\": {\n            \"new_pin\": \"1234\"\n        }\n    }\n}"},"url":"https://api.onepipe.io/v2/transact","urlObject":{"path":["v2","transact"],"host":["https://api.onepipe.io"],"query":[],"variable":[]}},"response":[{"id":"6b7704a5-fa1a-4c12-aa7d-52a195c5b54c","name":"Change PIN - WaitingForOTP","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"request_ref\": \"111111111\",\n    \"request_type\": \"change_pin\",\n    \"auth\": {\n        \"type\": \"card\",\n        \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\n        \"auth_provider\": \"Demoprovider\",\n        \"route_mode\": null\n    },\n    \"transaction\": {\n        \"mock_mode\": \"live\",\n        \"transaction_ref\": \"{{transaction-ref}}\",\n        \"transaction_desc\": \"A random transaction\",\n        \"transaction_ref_parent\": null,\n        \"amount\": 0,\n        \"customer\": {\n            \"customer_ref\": \"DemoApp_Customer007\",\n            \"firstname\": \"Uju\",\n            \"surname\": \"Usmanu\",\n            \"email\": \"ujuusmanu@gmail.com\",\n            \"mobile_no\": \"234802343132\"\n        },\n        \"meta\": {},\n        \"details\": {\n            \"new_pin\": \"1234\"\n        }\n    }\n}"},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 15 May 2020 17:03:29 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"nginx/1.17.8"},{"key":"Vary","value":"Accept-Encoding"},{"key":"Content-Encoding","value":"gzip"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"WaitingForOTP\",\n    \"message\": \"Please enter the OTP sent to 2348022****08\",\n    \"data\": {\n        \"provider_response_code\": \"900T0\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": null,\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"},{"id":"7b8b081a-54ff-4fc6-bd39-fce800804e05","name":"Change PIN - Successful","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"request_ref\": \"111111111\",\n    \"request_type\": \"change_pin\",\n    \"auth\": {\n        \"type\": \"card\",\n        \"secure\": \"zmy+k26tJMpjYuFfRUMCcJTAlWQVSKu8Vr9fhbfP1fo9toqiTLdp+UU1Kj7Y0HYAvS36BNL/zux8jFkPHX0vlYBiaqdXXS2E\",\n        \"auth_provider\": \"Demoprovider\",\n        \"route_mode\": null\n    },\n    \"transaction\": {\n        \"mock_mode\": \"live\",\n        \"transaction_ref\": \"{{transaction-ref}}\",\n        \"transaction_desc\": \"A random transaction\",\n        \"transaction_ref_parent\": null,\n        \"amount\": 0,\n        \"customer\": {\n            \"customer_ref\": \"DemoApp_Customer007\",\n            \"firstname\": \"Uju\",\n            \"surname\": \"Usmanu\",\n            \"email\": \"ujuusmanu@gmail.com\",\n            \"mobile_no\": \"234802343132\"\n        },\n        \"meta\": {},\n        \"details\": {\n            \"new_pin\": \"1234\"\n        }\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sun, 05 Jul 2020 22:34:43 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"538"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Successful\",\n    \"message\": \"Transaction processed successfully\",\n    \"data\": {\n        \"provider_response_code\": \"00\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"reference\": \"6549440411222\",\n            \"meta\": {\n                \"field_key\": \"field_value\"\n            }\n        },\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"}],"_postman_id":"84e82b61-e9e2-4742-a857-3fe3aef45984"},{"name":"Reissue PIN","id":"31e99c5b-4422-4e7a-9b6d-5a1bb6de6a92","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n    \"request_ref\": \"111111111\",\r\n    \"request_type\": \"reissue_pin\",\r\n    \"auth\": {\r\n        \"type\": \"card\",\r\n        \"secure\": \"zmy+k26tJMpjYuFfRUMCcJTAlWQVSKu8Vr9fhbfP1fo9toqiTLdp+UU1Kj7Y0HYAvS36BNL/zux8jFkPHX0vlYBiaqdXXS2E\",\r\n        \"auth_provider\": \"Demoprovider\",\r\n        \"route_mode\": null\r\n    },\r\n    \"transaction\": {\r\n        \"mock_mode\": \"live\",\r\n        \"transaction_ref\": \"{{transaction-ref}}\",\r\n        \"transaction_desc\": \"A random transaction\",\r\n        \"transaction_ref_parent\": null,\r\n        \"amount\": 0,\r\n        \"customer\": {\r\n            \"customer_ref\": \"DemoApp_Customer007\",\r\n            \"firstname\": \"Uju\",\r\n            \"surname\": \"Usmanu\",\r\n            \"email\": \"ujuusmanu@gmail.com\",\r\n            \"mobile_no\": \"234802343132\"\r\n        },\r\n        \"meta\": {\r\n            \"a_key\": \"a_meta_value_1\",\r\n            \"another_key\": \"a_meta_value_2\"\r\n        },\r\n        \"details\": null\r\n    }\r\n}"},"url":"https://api.onepipe.io/v2/transact","urlObject":{"path":["v2","transact"],"host":["https://api.onepipe.io"],"query":[],"variable":[]}},"response":[{"id":"694f25f9-a10a-4df8-9698-d797b724d408","name":"Reissue PIN - Successful","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"request_ref\": \"111111111\",\r\n    \"request_type\": \"reissue_pin\",\r\n    \"auth\": {\r\n        \"type\": \"card\",\r\n        \"secure\": \"zmy+k26tJMpjYuFfRUMCcJTAlWQVSKu8Vr9fhbfP1fo9toqiTLdp+UU1Kj7Y0HYAvS36BNL/zux8jFkPHX0vlYBiaqdXXS2E\",\r\n        \"auth_provider\": \"Demoprovider\",\r\n        \"route_mode\": null\r\n    },\r\n    \"transaction\": {\r\n        \"mock_mode\": \"live\",\r\n        \"transaction_ref\": \"{{transaction-ref}}\",\r\n        \"transaction_desc\": \"A random transaction\",\r\n        \"transaction_ref_parent\": null,\r\n        \"amount\": 0,\r\n        \"customer\": {\r\n            \"customer_ref\": \"DemoApp_Customer007\",\r\n            \"firstname\": \"Uju\",\r\n            \"surname\": \"Usmanu\",\r\n            \"email\": \"ujuusmanu@gmail.com\",\r\n            \"mobile_no\": \"234802343132\"\r\n        },\r\n        \"meta\": {\r\n            \"a_key\": \"a_meta_value_1\",\r\n            \"another_key\": \"a_meta_value_2\"\r\n        },\r\n        \"details\": null\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sun, 05 Jul 2020 22:40:34 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"575"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Successful\",\n    \"message\": \"Transaction processed successfully\",\n    \"data\": {\n        \"provider_response_code\": \"00\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"new_pin\": \"1234\",\n            \"pin_offset\": \"1245\",\n            \"reference\": \"9942171965833\",\n            \"meta\": {\n                \"field_key\": \"field_value\"\n            }\n        },\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"},{"id":"cdfe7aba-4ca5-4c93-8e9b-3e86325bbecc","name":"Reissue PIN - WaitingForOTP","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"request_ref\": \"111111111\",\r\n    \"request_type\": \"reissue_pin\",\r\n    \"auth\": {\r\n        \"type\": \"card\",\r\n        \"secure\": \"zmy+k26tJMpjYuFfRUMCcJTAlWQVSKu8Vr9fhbfP1fo9toqiTLdp+UU1Kj7Y0HYAvS36BNL/zux8jFkPHX0vlYBiaqdXXS2E\",\r\n        \"auth_provider\": \"Demoprovider\",\r\n        \"route_mode\": null\r\n    },\r\n    \"transaction\": {\r\n        \"mock_mode\": \"live\",\r\n        \"transaction_ref\": \"{{transaction-ref}}\",\r\n        \"transaction_desc\": \"A random transaction\",\r\n        \"transaction_ref_parent\": null,\r\n        \"amount\": 0,\r\n        \"customer\": {\r\n            \"customer_ref\": \"DemoApp_Customer007\",\r\n            \"firstname\": \"Uju\",\r\n            \"surname\": \"Usmanu\",\r\n            \"email\": \"ujuusmanu@gmail.com\",\r\n            \"mobile_no\": \"234802343132\"\r\n        },\r\n        \"meta\": {\r\n            \"a_key\": \"a_meta_value_1\",\r\n            \"another_key\": \"a_meta_value_2\"\r\n        },\r\n        \"details\": null\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sun, 05 Jul 2020 22:38:16 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"518"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"WaitingForOTP\",\n    \"message\": \"Please enter the OTP sent to 2348022****08, use 12345678 as your OTP\",\n    \"data\": {\n        \"provider_response_code\": \"900T0\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": null,\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"}],"_postman_id":"31e99c5b-4422-4e7a-9b6d-5a1bb6de6a92"}],"id":"18c53285-7697-45c3-9736-2a7c06822d96","_postman_id":"18c53285-7697-45c3-9736-2a7c06822d96","description":""},{"name":"KYC Services","item":[{"name":"Lookup ID Min","id":"41daeffd-a48a-4e99-abea-75a266bd9565","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"lookup_id_min\",\r\n  \"auth\": {\r\n    \"type\": \"bvn\", \r\n    \"secure\": \"X90WY3DRBQQehrv9FzvA4hlExLEj3eTW\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n    \t\"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"b_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n    \t\"otp_override\":true\r\n    }\r\n  }\r\n}"},"url":"https://api.onepipe.io/v2/transact","urlObject":{"path":["v2","transact"],"host":["https://api.onepipe.io"],"query":[],"variable":[]}},"response":[{"id":"078ce254-3638-46ef-b58a-cd1311c16f2f","name":"Lookup ID Min - Successful","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"lookup_id_min\",\r\n  \"auth\": {\r\n    \"type\": \"bvn\", \r\n    \"secure\": \"X90WY3DRBQQehrv9FzvA4hlExLEj3eTW\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n    \t\"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"b_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n    \t\"otp_override\":true\r\n    }\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sun, 05 Jul 2020 23:19:59 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"573"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Successful\",\n    \"message\": \"Transaction processed successfully\",\n    \"data\": {\n        \"provider_response_code\": \"00\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"first_name\": true,\n            \"last_name\": true,\n            \"reference\": \"2973155593191\",\n            \"meta\": {\n                \"field_key\": \"field_value\"\n            }\n        },\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"},{"id":"5b2da95b-e915-4d57-a973-ddd1cba81974","name":"Lookup ID Min- WaitingForOTP","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"lookup_id_min\",\r\n  \"auth\": {\r\n    \"type\": \"{{id_type}}\", \r\n    \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n    \t\"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"b_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": null\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 15 May 2020 18:27:41 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"nginx/1.17.8"},{"key":"Vary","value":"Accept-Encoding"},{"key":"Content-Encoding","value":"gzip"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"WaitingForOTP\",\n    \"message\": \"Please enter the OTP sent to 2348022****08\",\n    \"data\": {\n        \"provider_response_code\": \"900T0\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": null,\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"}],"_postman_id":"41daeffd-a48a-4e99-abea-75a266bd9565"},{"name":"Lookup ID Max","id":"d154ae36-aa2a-447c-a98c-22cbd945790e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"lookup_id_max\",\r\n  \"auth\": {\r\n    \"type\": \"bvn\", \r\n    \"secure\": \"X90WY3DRBQQehrv9FzvA4hlExLEj3eTW\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n    \t\"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n    \t\"otp_override\":true\r\n    }\r\n  }\r\n}"},"url":"https://api.onepipe.io/v2/transact","urlObject":{"path":["v2","transact"],"host":["https://api.onepipe.io"],"query":[],"variable":[]}},"response":[{"id":"08c4a046-e077-4c03-9943-6e38ecc8fef9","name":"Lookup ID Max - Successful","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"lookup_id_max\",\r\n  \"auth\": {\r\n    \"type\": \"bvn\", \r\n    \"secure\": \"X90WY3DRBQQehrv9FzvA4hlExLEj3eTW\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n    \t\"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n    \t\"otp_override\":true\r\n    }\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sun, 05 Jul 2020 23:22:02 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"540"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Successful\",\n    \"message\": \"Transaction processed successfully\",\n    \"data\": {\n        \"provider_response_code\": \"00\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"reference\": \"6463884947622\",\n            \"meta\": {\n                \"field_01\": \"field_01_value\"\n            }\n        },\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"},{"id":"e8729126-d797-4452-8af4-3cd582d26ca2","name":"Lookup ID Max - WaitingForOTP","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"lookup_id_max\",\r\n  \"auth\": {\r\n    \"type\": \"{{id_type}}\", \r\n    \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n    \t\"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": null\r\n  }\r\n}"},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 15 May 2020 18:29:52 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"nginx/1.17.8"},{"key":"Vary","value":"Accept-Encoding"},{"key":"Content-Encoding","value":"gzip"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"WaitingForOTP\",\n    \"message\": \"Please enter the OTP sent to 2348022****08\",\n    \"data\": {\n        \"provider_response_code\": \"900T0\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": null,\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"}],"_postman_id":"d154ae36-aa2a-447c-a98c-22cbd945790e"},{"name":"Lookup MSISDN Min","id":"035ab3d1-89c6-4814-88de-2433f7a42e2f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"lookup_msisdn_min\",\r\n  \"auth\": {\r\n    \"type\": null, \r\n    \"secure\": null,\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n    \t\"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"b_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n    \t\"dob\": \"1990-09-12\",\r\n        \"middle_name\": \"Alani\",\r\n        \"full_name\": \"Alani\",\r\n        \"otp_override\":true\r\n    }\r\n  }\r\n}"},"url":"https://api.onepipe.io/v2/transact","urlObject":{"path":["v2","transact"],"host":["https://api.onepipe.io"],"query":[],"variable":[]}},"response":[{"id":"219ef4ee-187b-4943-8a45-5edde0578654","name":"Lookup MSISDN Min - WaitingForOTP","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"lookup_msisdn_min\",\r\n  \"auth\": {\r\n    \"type\": null, \r\n    \"secure\": null,\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n    \t\"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"b_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n    \t\"dob\": \"1990-09-12\",\r\n       \"middle_name\": \"Alani\",\r\n       \"full_name\": \"Alani\"      \r\n    }\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sat, 16 May 2020 12:49:01 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"nginx/1.17.8"},{"key":"Vary","value":"Accept-Encoding"},{"key":"Content-Encoding","value":"gzip"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"WaitingForOTP\",\n    \"message\": \"Please enter the OTP sent to 2348022****08\",\n    \"data\": {\n        \"provider_response_code\": \"900T0\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": null,\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"},{"id":"6c2b5a21-5d57-4166-a558-5e40ebb3c400","name":"Lookup MSISDN Min - Successful","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"lookup_msisdn_min\",\r\n  \"auth\": {\r\n    \"type\": null, \r\n    \"secure\": null,\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n    \t\"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"b_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n    \t\"dob\": \"1990-09-12\",\r\n        \"middle_name\": \"Alani\",\r\n        \"full_name\": \"Alani\",\r\n        \"otp_override\":true\r\n    }\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sun, 05 Jul 2020 23:33:21 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"644"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Successful\",\n    \"message\": \"Transaction processed successfully\",\n    \"data\": {\n        \"provider_response_code\": \"00\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"msisdn\": \"234890989876\",\n            \"first_name\": true,\n            \"last_name\": true,\n            \"middle_name\": true,\n            \"full_name\": true,\n            \"dob\": true,\n            \"reference\": \"6196945788495\",\n            \"meta\": {\n                \"field_key\": \"field_value\"\n            }\n        },\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"}],"_postman_id":"035ab3d1-89c6-4814-88de-2433f7a42e2f"},{"name":"Lookup MSISDN Mid","id":"e05c28c8-373d-484b-9653-c657a3894589","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"lookup_msisdn_mid\",\r\n  \"auth\": {\r\n    \"type\": null, \r\n    \"secure\": null,\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n    \t\"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\r\n    },\r\n    \"details\": null\r\n  }\r\n}"},"url":"https://api.onepipe.io/v2/transact","urlObject":{"path":["v2","transact"],"host":["https://api.onepipe.io"],"query":[],"variable":[]}},"response":[{"id":"119b6798-6241-444c-88aa-5cb054117d57","name":"Lookup MSISDN Mid - Successful","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"lookup_msisdn_mid\",\r\n  \"auth\": {\r\n    \"type\": null, \r\n    \"secure\": null,\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n    \t\"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\r\n    },\r\n    \"details\": null\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sun, 05 Jul 2020 23:35:08 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"821"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Successful\",\n    \"message\": \"Transaction processed successfully\",\n    \"data\": {\n        \"provider_response_code\": \"00\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"msisdn\": \"2348022221412\",\n            \"first_name\": \"Uju\",\n            \"middle_name\": \"\",\n            \"last_name\": \"Uju\",\n            \"dob\": \"1990-12-22\",\n            \"gender\": \"Male\",\n            \"account_status\": \"ACCOUNT OPEN\",\n            \"kyc_level\": \"3\",\n            \"address1\": \"9 LIGALI STREET\",\n            \"address2\": \".\",\n            \"address3\": \"IBADAN\",\n            \"email\": \"BOLASALAMI@yahoo.com\",\n            \"account_type\": \"POSTPAID\",\n            \"reference\": \"1207244643476\",\n            \"meta\": {\n                \"field_key\": \"field_value\"\n            }\n        },\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"},{"id":"7cb0db55-fe14-4803-b65d-e3932b2a615f","name":"Lookup MSISDN Mid - WaitingForOTP","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"lookup_msisdn_mid\",\r\n  \"auth\": {\r\n    \"type\": null, \r\n    \"secure\": null,\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n    \t\"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\r\n    },\r\n    \"details\": null\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sun, 05 Jul 2020 23:35:47 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"518"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"WaitingForOTP\",\n    \"message\": \"Please enter the OTP sent to 2348022****08, use 12345678 as your OTP\",\n    \"data\": {\n        \"provider_response_code\": \"900T0\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": null,\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"}],"_postman_id":"e05c28c8-373d-484b-9653-c657a3894589"}],"id":"a516f99d-b7d5-4eca-a579-252d7dd4e685","_postman_id":"a516f99d-b7d5-4eca-a579-252d7dd4e685","description":""},{"name":"Wallet Services","item":[{"name":"Open Wallet","id":"af8bce93-18cc-48f1-9e93-08115d5b5e3c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n    \"request_mode\": \"transact\",\r\n    \"request_ref\": \"111111111\",\r\n    \"request_type\": \"open_wallet\",\r\n    \"auth\": {\r\n        \"type\": \"bvn\",\r\n        \"secure\": \"X90WY3DRBQQehrv9FzvA4hlExLEj3eTW\",\r\n        \"auth_provider\": \"Demoprovider\",\r\n        \"route_mode\": null\r\n    },\r\n    \"transaction\": {\r\n        \"mock_mode\": \"live\",\r\n        \"transaction_ref\": \"{{transaction-ref}}\",\r\n        \"transaction_desc\": \"A random transaction\",\r\n        \"transaction_ref_parent\": null,\r\n        \"amount\": 0,\r\n        \"customer\": {\r\n            \"customer_ref\": \"DemoApp_Customer007\",\r\n            \"firstname\": \"Uju\",\r\n            \"surname\": \"Usmanu\",\r\n            \"email\": \"ujuusmanu@gmail.com\",\r\n            \"mobile_no\": \"234802343132\"\r\n        },\r\n        \"meta\": {\r\n            \"a_key\": \"a_meta_value_1\",\r\n            \"another_key\": \"a_meta_value_2\"\r\n        },\r\n        \"details\": {\r\n            \"name_on_account\": \"Tobi Olajide\",\r\n            \"middlename\": \"string\",\r\n            \"dob\": \"yyyy-MM-dd-HH-mm-ss\",\r\n            \"gender\": \"M\",\r\n            \"title\": \"Mr\",\r\n            \"address_line_1\": \"23, Okon street, Ikeja\",\r\n            \"address_line_2\": \"Ikeja\",\r\n            \"city\": \"lagos\",\r\n            \"state\": \"lagos\",\r\n            \"country\": \"NG\"\r\n        }\r\n    }\r\n}"},"url":"https://api.onepipe.io/v2/transact","description":"<p>With this, you can KYC a customer's bank verification number.This service unlike <code>LOOKUP BVN MIN</code>and <code>LOOKUP BVN MID</code> returns  maximum KYC information.</p>\n<h4 id=\"sequence-of-calls\">Sequence of calls</h4>\n<ul>\n<li>Primary call: <code>/v2/transact</code></li>\n<li>Provider responds with WaitingForOTP or PendingValidation (if required)</li>\n<li>Call <code>v2/transact/validate</code> to supply OTP if needed</li>\n<li>Provider responds with any of the completion codes <code>Successful</code> or <code>Failed</code>.\n*Call <code>/transact/validate</code> to supply OTP if needed</li>\n<li>To query the status of a transaction, a call can be made to  <code>/v2/transact/query</code> endpoint.</li>\n<li>Depending on the provider, the app can call <code>v2/transact/reverse</code> to request a reversal</li>\n</ul>\n<h4 id=\"interpreting-the-response\">Interpreting the response</h4>\n<ul>\n<li>Read the reponse</li>\n<li>Read the <code>provider_response</code> Object</li>\n</ul>\n<h4 id=\"possible-status-values\">Possible status values</h4>\n<ul>\n<li><strong>Successful</strong>: Success</li>\n<li><strong>[Anything else]</strong>: Error. Read the errors object(s)</li>\n</ul>\n<h4 id=\"breakdown-of-the-details-in-the-request-object\">Breakdown of the details in the Request Object</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Element</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>bvn</td>\n<td>Customer bvn to look up</td>\n</tr>\n<tr>\n<td>otp_override</td>\n<td><strong>OPTIONAL</strong> Defaults to <code>false</code>. If set to <code>true</code>, request will not be validated by OTP.</td>\n</tr>\n<tr>\n<td>dob</td>\n<td>The date of birth to match in <code>yyyy-MM-dd</code> format</td>\n</tr>\n<tr>\n<td>include_image</td>\n<td>Defaults to <code>true</code>. Instructs the provider whether to include image of the BVN holder or not.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"request-body-elements\">Request body elements</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Element</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>request_ref</td>\n<td>A unique reference for this specific API call. Must be uniquely generated for every single call</td>\n</tr>\n<tr>\n<td>request_type</td>\n<td>Service identifier - <code>lookup_bvn_mid</code></td>\n</tr>\n<tr>\n<td>auth.type</td>\n<td><code>bvn</code>.</td>\n</tr>\n<tr>\n<td>auth.secure</td>\n<td>encrypted BVN</td>\n</tr>\n<tr>\n<td>transaction.customer.customer_ref</td>\n<td>Mobile number of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.firstname</td>\n<td>First name of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.surname</td>\n<td>Surname of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.email</td>\n<td>Email address of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.mobile_no</td>\n<td>Mobile number of the customer</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response-body-elements\">Response body elements</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Element</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>status</td>\n<td>Standard response. <strong>Successful</strong> or anything else.</td>\n</tr>\n<tr>\n<td>message</td>\n<td>A message or description of the response</td>\n</tr>\n<tr>\n<td>data.provider</td>\n<td>The provider that was used to process the request</td>\n</tr>\n<tr>\n<td>data.provider_response_code</td>\n<td>Response code as determined by the underlying provider</td>\n</tr>\n<tr>\n<td>data.provider_response</td>\n<td>This object contains the actual response for the provider. It contains the <code>BVN</code> details</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>NOTE</strong>: Please see information on how to compute the <code>Signature</code> header <a href=\"#authentication-headers\">here</a> </p>\n","urlObject":{"path":["v2","transact"],"host":["https://api.onepipe.io"],"query":[],"variable":[]}},"response":[{"id":"00c3c475-4536-438b-96d2-39243ce10cc7","name":"Open Wallet - Successful","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"request_mode\": \"transact\",\r\n    \"request_ref\": \"111111111\",\r\n    \"request_type\": \"open_wallet\",\r\n    \"auth\": {\r\n        \"type\": \"bvn\",\r\n        \"secure\": \"X90WY3DRBQQehrv9FzvA4hlExLEj3eTW\",\r\n        \"auth_provider\": \"Demoprovider\",\r\n        \"route_mode\": null\r\n    },\r\n    \"transaction\": {\r\n        \"mock_mode\": \"live\",\r\n        \"transaction_ref\": \"{{transaction-ref}}\",\r\n        \"transaction_desc\": \"A random transaction\",\r\n        \"transaction_ref_parent\": null,\r\n        \"amount\": 0,\r\n        \"customer\": {\r\n            \"customer_ref\": \"DemoApp_Customer007\",\r\n            \"firstname\": \"Uju\",\r\n            \"surname\": \"Usmanu\",\r\n            \"email\": \"ujuusmanu@gmail.com\",\r\n            \"mobile_no\": \"234802343132\"\r\n        },\r\n        \"meta\": {\r\n            \"a_key\": \"a_meta_value_1\",\r\n            \"another_key\": \"a_meta_value_2\"\r\n        },\r\n        \"details\": {\r\n            \"name_on_account\": \"Tobi Olajide\",\r\n            \"middlename\": \"string\",\r\n            \"dob\": \"yyyy-MM-dd-HH-mm-ss\",\r\n            \"gender\": \"M\",\r\n            \"title\": \"Mr\",\r\n            \"address_line_1\": \"23, Okon street, Ikeja\",\r\n            \"address_line_2\": \"Ikeja\",\r\n            \"city\": \"lagos\",\r\n            \"state\": \"lagos\",\r\n            \"country\": \"NG\"\r\n        }\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Thu, 02 Jul 2020 08:33:19 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"825"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Successful\",\n    \"message\": \"Transaction processed successfully\",\n    \"data\": {\n        \"provider_response_code\": \"00\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"account_number\": \"2233305555\",\n            \"contract_code\": null,\n            \"account_reference\": \"48214462006092\",\n            \"account_name\": \"Akinkunmi Olunloye\",\n            \"currency_code\": \"NGN\",\n            \"customer_email\": \"akin@onepipe.io\",\n            \"bank_ame\": null,\n            \"bank_code\": null,\n            \"account_type\": null,\n            \"status\": \"ACTIVE\",\n            \"created_on\": \"2020-04-05 23:08:01\",\n            \"reference\": \"7283562854032\",\n            \"meta\": {\n                \"field_key\": \"field_value\"\n            }\n        },\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"},{"id":"1dae8d98-6dd4-4961-8714-3874c40c652e","name":"Open Wallet - WaitingForOTP","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n    \"request_mode\": \"transact\",\r\n    \"request_ref\": \"111111111\",\r\n    \"request_type\": \"open_wallet\",\r\n    \"auth\": {\r\n        \"type\": \"bvn\",\r\n        \"secure\": \"X90WY3DRBQQehrv9FzvA4hlExLEj3eTW\",\r\n        \"auth_provider\": \"Demoprovider\",\r\n        \"route_mode\": null\r\n    },\r\n    \"transaction\": {\r\n        \"mock_mode\": \"live\",\r\n        \"transaction_ref\": \"{{transaction-ref}}\",\r\n        \"transaction_desc\": \"A random transaction\",\r\n        \"transaction_ref_parent\": null,\r\n        \"amount\": 0,\r\n        \"customer\": {\r\n            \"customer_ref\": \"DemoApp_Customer007\",\r\n            \"firstname\": \"Uju\",\r\n            \"surname\": \"Usmanu\",\r\n            \"email\": \"ujuusmanu@gmail.com\",\r\n            \"mobile_no\": \"234802343132\"\r\n        },\r\n        \"meta\": {\r\n            \"a_key\": \"a_meta_value_1\",\r\n            \"another_key\": \"a_meta_value_2\"\r\n        },\r\n        \"details\": {\r\n            \"name_on_account\": \"Tobi Olajide\",\r\n            \"middlename\": \"string\",\r\n            \"dob\": \"yyyy-MM-dd-HH-mm-ss\",\r\n            \"gender\": \"M\",\r\n            \"title\": \"Mr\",\r\n            \"address_line_1\": \"23, Okon street, Ikeja\",\r\n            \"address_line_2\": \"Ikeja\",\r\n            \"city\": \"lagos\",\r\n            \"state\": \"lagos\",\r\n            \"country\": \"NG\"\r\n        }\r\n    }\r\n}"},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Thu, 02 Jul 2020 08:30:01 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"518"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"WaitingForOTP\",\n    \"message\": \"Please enter the OTP sent to 2348022****08, use 12345678 as your OTP\",\n    \"data\": {\n        \"provider_response_code\": \"900T0\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": null,\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"}],"_postman_id":"af8bce93-18cc-48f1-9e93-08115d5b5e3c"},{"name":"Lookup Wallet Min","id":"7a01700c-e74c-4e36-9fcc-33370c619059","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"lookup_wallet_min\",\r\n  \"auth\": {\r\n    \"type\": \"wallet\", \r\n    \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n    \t\"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"b_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n    \t\"otp_override\":true\r\n    }\r\n  }\r\n}"},"url":"https://api.onepipe.io/v2/transact","urlObject":{"path":["v2","transact"],"host":["https://api.onepipe.io"],"query":[],"variable":[]}},"response":[{"id":"18205b96-14e3-4fd0-bed2-b15d74ca8a27","name":"Lookup Wallet Min - WaitingForOTP","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"lookup_wallet_min\",\r\n  \"auth\": {\r\n    \"type\": \"bank.account\", \r\n    \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n    \t\"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"b_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": null\r\n  }\r\n}"},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 15 May 2020 16:00:07 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"nginx/1.17.8"},{"key":"Vary","value":"Accept-Encoding"},{"key":"Content-Encoding","value":"gzip"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"WaitingForOTP\",\n    \"message\": \"Please enter the OTP sent to 2348022****08\",\n    \"data\": {\n        \"provider_response_code\": \"900T0\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": null,\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"},{"id":"962f2239-acee-43fa-a9d5-54a462174bae","name":"Lookup Wallet Min - Successful","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"lookup_wallet_min\",\r\n  \"auth\": {\r\n    \"type\": \"wallet\", \r\n    \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n    \t\"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"b_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n    \t\"otp_override\":true\r\n    }\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Thu, 02 Jul 2020 08:48:34 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"688"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Successful\",\n    \"message\": \"Transaction processed successfully\",\n    \"data\": {\n        \"provider_response_code\": \"00\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"customer_id\": \"007935125\",\n            \"account_name\": \"Uju Usmanu\",\n            \"account_number\": \"1780161243\",\n            \"last_name\": \"SALAMI\",\n            \"first_name\": \"Uju\",\n            \"middle_name\": \"-\",\n            \"gender\": \"Female\",\n            \"account_currency\": \"NGN\",\n            \"dob\": \"2020-12-09-11-30-12\"\n        },\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"}],"_postman_id":"7a01700c-e74c-4e36-9fcc-33370c619059"},{"name":"Lookup Wallet Mid","id":"c00aaa3e-32c9-4da5-a807-dddae6653d2a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"lookup_wallet_mid\",\r\n  \"auth\": {\r\n   \"type\": \"wallet\", \r\n    \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n    \t\"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"b_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n    \t\"otp_override\": true\r\n    }\r\n  }\r\n}"},"url":"https://api.onepipe.io/v2/transact","urlObject":{"path":["v2","transact"],"host":["https://api.onepipe.io"],"query":[],"variable":[]}},"response":[{"id":"2a3a315c-e167-48cc-8d72-7ae97504f393","name":"Lookup Wallet Mid - Successful","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"lookup_wallet_mid\",\r\n  \"auth\": {\r\n   \"type\": \"wallet\", \r\n    \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n    \t\"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"b_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n    \t\"otp_override\": true\r\n    }\r\n  }\r\n}"},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 03 Jul 2020 19:32:01 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"857"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Successful\",\n    \"message\": \"Transaction processed successfully\",\n    \"data\": {\n        \"provider_response_code\": \"00\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"customer_id\": \"007935125\",\n            \"account_name\": \"Uju Usmanu\",\n            \"first_name\": \"Uju\",\n            \"last_name\": \"Usmanu\",\n            \"middle_name\": \"-\",\n            \"gender\": \"Male\",\n            \"account_currency\": \"NGN\",\n            \"dob\": \"2020-12-09-11-30-12\",\n            \"scheme_code\": \"STFCUR\",\n            \"account_status\": \"ACCOUNT OPEN\",\n            \"account_number\": \"1780161243\",\n            \"bvn\": \"0987654321;076\",\n            \"mobile_number\": \"09081690629\",\n            \"reference\": \"1345119579206\",\n            \"meta\": {\n                \"field_key\": \"field_value\"\n            }\n        },\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"},{"id":"3d6ebd7d-cc8e-40b9-83fc-94dab72bf608","name":"Lookup Wallet Mid - WaitingForOTP","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"lookup_wallet_mid\",\r\n  \"auth\": {\r\n   \"type\": \"wallet\", \r\n    \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n    \t\"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"b_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n    \t\"otp_override\": true\r\n    }\r\n  }\r\n}"},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 03 Jul 2020 19:36:34 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"518"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"WaitingForOTP\",\n    \"message\": \"Please enter the OTP sent to 2348022****08, use 12345678 as your OTP\",\n    \"data\": {\n        \"provider_response_code\": \"900T0\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": null,\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"}],"_postman_id":"c00aaa3e-32c9-4da5-a807-dddae6653d2a"},{"name":"Lookup Wallet Max","id":"5f316a70-d8da-4992-a65f-41bdb6f7269a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"lookup_wallet_max\",\r\n  \"auth\": {\r\n    \"type\": \"wallet\", \r\n    \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n        \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n    \t\r\n    }\r\n  }\r\n}"},"url":"https://api.onepipe.io/v2/transact","urlObject":{"path":["v2","transact"],"host":["https://api.onepipe.io"],"query":[],"variable":[]}},"response":[{"id":"8e678d3a-5a07-4105-a8ec-cefaa8ba616c","name":"Lookup Wallet Max - Successful","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"lookup_wallet_max\",\r\n  \"auth\": {\r\n    \"type\": \"wallet\", \r\n    \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n        \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n    \t\r\n    }\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sat, 04 Jul 2020 16:50:06 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"1099"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Successful\",\n    \"message\": \"Transaction processed successfully\",\n    \"data\": {\n        \"provider_response_code\": \"00\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"customer_id\": \"007935125\",\n            \"account_currency\": \"NGN\",\n            \"account_number\": \"1020123456\",\n            \"account_name\": \"BOLA SALAMI\",\n            \"last_name\": \"Usmanu\",\n            \"middle_name\": \"-\",\n            \"first_name\": \"Uju\",\n            \"gender\": \"Male\",\n            \"dob\": \"1971-03-12T00:00:00\",\n            \"account_branch\": \"101\",\n            \"scheme_code\": \"SAV\",\n            \"bvn\": \"0987654321;076\",\n            \"account_status\": \"ACCOUNT OPEN\",\n            \"ledger_balance\": 2524.59,\n            \"available_balance\": 2524.59,\n            \"kyc_level\": \"3\",\n            \"name_enquiry_id\": \"0000028301\",\n            \"address1\": \"9 LIGALI STREET\",\n            \"address2\": \".\",\n            \"address3\": \"IBADAN\",\n            \"email\": \"BOLASALAMI@yahoo.com\",\n            \"mobile_number\": \"080913333333\",\n            \"account_type\": \"CURRENT\",\n            \"reference\": \"3133374916626\",\n            \"meta\": {\n                \"field_key\": \"field_value\"\n            }\n        },\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"},{"id":"e9035c28-d7d2-4c11-a7b9-b199a74745de","name":"Lookup Wallet Max - WaitingForOTP","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"lookup_wallet_max\",\r\n  \"auth\": {\r\n    \"type\": \"wallet\", \r\n    \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n        \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n    \t\r\n    }\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sat, 04 Jul 2020 16:55:51 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"518"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"WaitingForOTP\",\n    \"message\": \"Please enter the OTP sent to 2348022****08, use 12345678 as your OTP\",\n    \"data\": {\n        \"provider_response_code\": \"900T0\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": null,\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"}],"_postman_id":"5f316a70-d8da-4992-a65f-41bdb6f7269a"},{"name":"Fund Wallet - options","id":"22746c63-83cc-47de-953b-f49d0d626028","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"request_ref\": \"111111111\",\n    \"request_type\": \"fund_wallet\",\n    \"auth\": {\n        \"type\": null,\n        \"secure\": null,\n        \"auth_provider\": \"Demoprovider\",\n        \"route_mode\": null\n    },\n    \"transaction\": {\n        \"mock_mode\": \"live\",\n        \"transaction_ref\": \"{{transaction-ref}}\",\n        \"transaction_desc\": \"A random transaction\",\n        \"transaction_ref_parent\": \"\",\n        \"amount\": 10000,\n        \"customer\": {\n            \"customer_ref\": \"DemoApp_Customer007\",\n            \"firstname\": \"Uju\",\n            \"surname\": \"Usmanu\",\n            \"email\": \"ujuusmanu@gmail.com\",\n            \"mobile_no\": \"234802343132\"\n        },\n        \"meta\": {},\n        \"details\": {\n            \"service_code\": null\n        }\n    }\n}"},"url":"https://api.onepipe.io/v2/transact/options","urlObject":{"path":["v2","transact","options"],"host":["https://api.onepipe.io"],"query":[],"variable":[]}},"response":[{"id":"6b0e29b8-fdc9-4a25-9d57-e69b44259c56","name":"Fund Wallet - options - OptionsDelivered","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"request_ref\": \"111111111\",\n    \"request_type\": \"fund_wallet\",\n    \"auth\": {\n        \"type\": null,\n        \"secure\": null,\n        \"auth_provider\": \"Demoprovider\",\n        \"route_mode\": null\n    },\n    \"transaction\": {\n        \"mock_mode\": \"live\",\n        \"transaction_ref\": \"{{transaction-ref}}\",\n        \"transaction_desc\": \"A random transaction\",\n        \"transaction_ref_parent\": \"\",\n        \"amount\": 10000,\n        \"customer\": {\n            \"customer_ref\": \"DemoApp_Customer007\",\n            \"firstname\": \"Uju\",\n            \"surname\": \"Usmanu\",\n            \"email\": \"ujuusmanu@gmail.com\",\n            \"mobile_no\": \"234802343132\"\n        },\n        \"meta\": {},\n        \"details\": {\n            \"service_code\": null\n        }\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact/options"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sat, 04 Jul 2020 17:04:08 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"655"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"OptionsDelivered\",\n    \"message\": \"Transaction processed successfully\",\n    \"data\": {\n        \"options\": null,\n        \"provider_response_code\": \"00\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"options\": [\n                {\n                    \"service_code\": \"00929883992\",\n                    \"name\": \"A random Option\"\n                },\n                {\n                    \"service_code\": \"99303888292\",\n                    \"name\": \"A random Option\"\n                }\n            ],\n            \"meta\": {\n                \"field_key\": \"field_value\"\n            }\n        },\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"}],"_postman_id":"22746c63-83cc-47de-953b-f49d0d626028"},{"name":"Fund Wallet - transact","id":"f0128e67-3ce6-40ac-baca-4add5ed1ec2f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\n    \"request_ref\": \"111111111\",\n    \"request_type\": \"fund_wallet\",\n    \"auth\": {\n        \"type\": \"bank.account\",\n        \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\n        \"auth_provider\": \"Demoprovider\",\n        \"route_mode\": null\n    },\n    \"transaction\": {\n        \"mock_mode\": \"live\",\n        \"transaction_ref\": \"{{transaction-ref}}\",\n        \"transaction_desc\": \"A random transaction\",\n        \"transaction_ref_parent\": \"\",\n        \"amount\": 10000,\n        \"customer\": {\n            \"customer_ref\": \"DemoApp_Customer007\",\n            \"firstname\": \"Uju\",\n            \"surname\": \"Usmanu\",\n            \"email\": \"ujuusmanu@gmail.com\",\n            \"mobile_no\": \"234802343132\"\n        },\n        \"meta\": {},\n        \"details\": {\n            \"service_code\": \"09099900\"\n        }\n    }\n}"},"url":"https://api.onepipe.io/v2/transact","urlObject":{"path":["v2","transact"],"host":["https://api.onepipe.io"],"query":[],"variable":[]}},"response":[{"id":"71858b28-1c45-4fff-9575-15520090ab51","name":"Fund Wallet - transact - WaitingForOTP","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"request_ref\": \"111111111\",\n    \"request_type\": \"fund_wallet\",\n    \"auth\": {\n        \"type\": \"bank.account\",\n        \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\n        \"auth_provider\": \"Demoprovider\",\n        \"route_mode\": null\n    },\n    \"transaction\": {\n        \"mock_mode\": \"live\",\n        \"transaction_ref\": \"{{transaction-ref}}\",\n        \"transaction_desc\": \"A random transaction\",\n        \"transaction_ref_parent\": \"\",\n        \"amount\": 10000,\n        \"customer\": {\n            \"customer_ref\": \"DemoApp_Customer007\",\n            \"firstname\": \"Uju\",\n            \"surname\": \"Usmanu\",\n            \"email\": \"ujuusmanu@gmail.com\",\n            \"mobile_no\": \"234802343132\"\n        },\n        \"meta\": {},\n        \"details\": {\n            \"service_code\": \"09099900\"\n        }\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sat, 04 Jul 2020 17:10:51 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"518"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"WaitingForOTP\",\n    \"message\": \"Please enter the OTP sent to 2348022****08, use 12345678 as your OTP\",\n    \"data\": {\n        \"provider_response_code\": \"900T0\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": null,\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"},{"id":"de921852-ab7f-4b98-8c32-059db9a4f113","name":"Fund Wallet - transact - Successful","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"request_ref\": \"111111111\",\n    \"request_type\": \"fund_wallet\",\n    \"auth\": {\n        \"type\": \"bank.account\",\n        \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\n        \"auth_provider\": \"Demoprovider\",\n        \"route_mode\": null\n    },\n    \"transaction\": {\n        \"mock_mode\": \"live\",\n        \"transaction_ref\": \"{{transaction-ref}}\",\n        \"transaction_desc\": \"A random transaction\",\n        \"transaction_ref_parent\": \"\",\n        \"amount\": 10000,\n        \"customer\": {\n            \"customer_ref\": \"DemoApp_Customer007\",\n            \"firstname\": \"Uju\",\n            \"surname\": \"Usmanu\",\n            \"email\": \"ujuusmanu@gmail.com\",\n            \"mobile_no\": \"234802343132\"\n        },\n        \"meta\": {},\n        \"details\": {\n            \"service_code\": \"09099900\"\n        }\n    }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sat, 04 Jul 2020 17:06:29 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"684"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Successful\",\n    \"message\": \"Transaction processed successfully\",\n    \"data\": {\n        \"provider_response_code\": \"00\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"payment_status\": \"Successful\",\n            \"fulfillment_status\": \"Succesful\",\n            \"transaction_final_amount\": 20000,\n            \"transaction_fee\": 5000,\n            \"narration\": \"My narration\",\n            \"reference\": \"3331787855972\",\n            \"meta\": {\n                \"field_key\": \"field_value\"\n            }\n        },\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"}],"_postman_id":"f0128e67-3ce6-40ac-baca-4add5ed1ec2f"},{"name":"Block Wallet (consent request)","id":"5b7f6296-7ea0-452b-9724-4790c33ed5fc","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"block_wallet\",\r\n  \"auth\": {\r\n    \"type\": \"wallet\", \r\n    \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n    \"auth_provider\": \"DemoProvider\",\r\n    \"route_mode\":null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": \"\", \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n        \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": null\r\n  }\r\n}"},"url":"https://api.onepipe.io/v2/transact","urlObject":{"path":["v2","transact"],"host":["https://api.onepipe.io"],"query":[],"variable":[]}},"response":[{"id":"01babb47-c243-46ae-aad7-aec92a3336a9","name":"Block Wallet (consent request) - Successful","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"block_wallet\",\r\n  \"auth\": {\r\n    \"type\": \"wallet\", \r\n    \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n    \"auth_provider\": \"DemoProvider\",\r\n    \"route_mode\":null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": \"\", \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n        \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": null\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sat, 04 Jul 2020 17:17:07 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"641"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Successful\",\n    \"message\": \"Transaction processed successfully\",\n    \"data\": {\n        \"provider_response_code\": \"00\",\n        \"provider\": \"DemoProvider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"provider_token\": \"22333055555\",\n            \"reference\": \"2078804898173\",\n            \"token_expiry\": \"2020-9-09-11-30-12\",\n            \"hold_expiry\": \"2020-12-09-11-30-12\",\n            \"meta\": {\n                \"field_key\": \"field_value\"\n            }\n        },\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"},{"id":"6ca7f759-b913-4225-beae-4f4267853262","name":"Block Wallet (consent request) - WaitingForOTP","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"block_wallet\",\r\n  \"auth\": {\r\n    \"type\": \"wallet\", \r\n    \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n    \"auth_provider\": \"DemoProvider\",\r\n    \"route_mode\":null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": \"\", \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n        \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": null\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sat, 04 Jul 2020 17:13:45 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"518"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"WaitingForOTP\",\n    \"message\": \"Please enter the OTP sent to 2348022****08, use 12345678 as your OTP\",\n    \"data\": {\n        \"provider_response_code\": \"900T0\",\n        \"provider\": \"DemoProvider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": null,\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"}],"_postman_id":"5b7f6296-7ea0-452b-9724-4790c33ed5fc"},{"name":"Block Wallet (place actual hold)","id":"75207466-4437-49a6-a292-b26a15abce2b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"block_wallet\",\r\n  \"auth\": {\r\n    \"type\": \"provider_token\", \r\n    \"secure\": \"0fpTYIXjz6CjN/0GBMXeB9o5IcPLwv/vcfBoVuljtvAeuGBISQlgXQ==\",\r\n    \"auth_provider\": \"DemoProvider\",\r\n    \"route_mode\":null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": \"\", \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n      \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": null\r\n  }\r\n}"},"url":"https://api.onepipe.io/v2/transact","urlObject":{"path":["v2","transact"],"host":["https://api.onepipe.io"],"query":[],"variable":[]}},"response":[{"id":"17c2cca3-ee54-4db9-bfa9-43770db38cc6","name":"Block Wallet - Successful","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"block_wallet\",\r\n  \"auth\": {\r\n    \"type\": \"provider_token\", \r\n    \"secure\": \"4if1oYEoHx5Kp+PZj6RibJlXbx8zIKkP\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\":\"provider | options | null\"\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": \"\", \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"{{customer id}}\",\r\n    \t\"firstname\": \"Uju\",\r\n        \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n    \t\"otp_override\": true\r\n    }\r\n  }\r\n}"},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 15 May 2020 16:40:08 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"nginx/1.17.8"},{"key":"Vary","value":"Accept-Encoding"},{"key":"Content-Encoding","value":"gzip"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Successful\",\n    \"message\": \"Transaction processed successfully\",\n    \"data\": {\n        \"provider_response_code\": \"00\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"hold_expiry\": \"yyyy-MM-dd-hh-mm-ss\",\n            \"reference\": \"000022200225154318222333334432\",\n            \"meta\": {\n                \"field_key\": \"field_value\"\n            }\n        },\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"},{"id":"eb789512-7ad5-4189-8486-23d78286032b","name":"Block Wallet - WaitingForOTP","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"block_wallet\",\r\n  \"auth\": {\r\n    \"type\": \"provider_token\", \r\n    \"secure\": \"4if1oYEoHx5Kp+PZj6RibJlXbx8zIKkP\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\":\"provider | options | null\"\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": \"\", \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"{{customer id}}\",\r\n    \t\"firstname\": \"Uju\",\r\n        \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": null\r\n  }\r\n}"},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 15 May 2020 16:39:24 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"nginx/1.17.8"},{"key":"Vary","value":"Accept-Encoding"},{"key":"Content-Encoding","value":"gzip"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"WaitingForOTP\",\n    \"message\": \"Please enter the OTP sent to 2348022****08\",\n    \"data\": {\n        \"provider_response_code\": \"900T0\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": null,\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"}],"_postman_id":"75207466-4437-49a6-a292-b26a15abce2b"}],"id":"f0b27cf0-2df2-432a-b9af-7b6c6e71d63b","_postman_id":"f0b27cf0-2df2-432a-b9af-7b6c6e71d63b","description":""},{"name":"Others","item":[{"name":"Block Account (consent request)","id":"bad814c1-7ce8-43df-9d8e-4fd29725a54a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"block_account\",\r\n  \"auth\": {\r\n    \"type\": \"bank.account\", \r\n    \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n    \"auth_provider\": \"DemoProvider\",\r\n    \"route_mode\":null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"inspect\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": \"\", \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"{{customer id}}\",\r\n    \t\"firstname\": \"Uju\",\r\n        \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": null\r\n  }\r\n}"},"url":"https://api.onepipe.io/v2/transact","description":"<p>With this, you can KYC a customer's bank verification number.This service unlike <code>LOOKUP BVN MIN</code>and <code>LOOKUP BVN MID</code> returns  maximum KYC information.</p>\n<h4 id=\"sequence-of-calls\">Sequence of calls</h4>\n<ul>\n<li>Primary call: <code>/v2/transact</code></li>\n<li>Provider responds with WaitingForOTP or PendingValidation (if required)</li>\n<li>Call <code>v2/transact/validate</code> to supply OTP if needed</li>\n<li>Provider responds with any of the completion codes <code>Successful</code> or <code>Failed</code>.\n*Call <code>/transact/validate</code> to supply OTP if needed</li>\n<li>To query the status of a transaction, a call can be made to  <code>/v2/transact/query</code> endpoint.</li>\n<li>Depending on the provider, the app can call <code>v2/transact/reverse</code> to request a reversal</li>\n</ul>\n<h4 id=\"interpreting-the-response\">Interpreting the response</h4>\n<ul>\n<li>Read the reponse</li>\n<li>Read the <code>provider_response</code> Object</li>\n</ul>\n<h4 id=\"possible-status-values\">Possible status values</h4>\n<ul>\n<li><strong>Successful</strong>: Success</li>\n<li><strong>[Anything else]</strong>: Error. Read the errors object(s)</li>\n</ul>\n<h4 id=\"breakdown-of-the-details-in-the-request-object\">Breakdown of the details in the Request Object</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Element</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>bvn</td>\n<td>Customer bvn to look up</td>\n</tr>\n<tr>\n<td>otp_override</td>\n<td><strong>OPTIONAL</strong> Defaults to <code>false</code>. If set to <code>true</code>, request will not be validated by OTP.</td>\n</tr>\n<tr>\n<td>dob</td>\n<td>The date of birth to match in <code>yyyy-MM-dd</code> format</td>\n</tr>\n<tr>\n<td>include_image</td>\n<td>Defaults to <code>true</code>. Instructs the provider whether to include image of the BVN holder or not.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"request-body-elements\">Request body elements</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Element</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>request_ref</td>\n<td>A unique reference for this specific API call. Must be uniquely generated for every single call</td>\n</tr>\n<tr>\n<td>request_type</td>\n<td>Service identifier - <code>lookup_bvn_mid</code></td>\n</tr>\n<tr>\n<td>auth.type</td>\n<td><code>bvn</code>.</td>\n</tr>\n<tr>\n<td>auth.secure</td>\n<td>encrypted BVN</td>\n</tr>\n<tr>\n<td>transaction.customer.customer_ref</td>\n<td>Mobile number of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.firstname</td>\n<td>First name of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.surname</td>\n<td>Surname of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.email</td>\n<td>Email address of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.mobile_no</td>\n<td>Mobile number of the customer</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response-body-elements\">Response body elements</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Element</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>status</td>\n<td>Standard response. <strong>Successful</strong> or anything else.</td>\n</tr>\n<tr>\n<td>message</td>\n<td>A message or description of the response</td>\n</tr>\n<tr>\n<td>data.provider</td>\n<td>The provider that was used to process the request</td>\n</tr>\n<tr>\n<td>data.provider_response_code</td>\n<td>Response code as determined by the underlying provider</td>\n</tr>\n<tr>\n<td>data.provider_response</td>\n<td>This object contains the actual response for the provider. It contains the <code>BVN</code> details</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>NOTE</strong>: Please see information on how to compute the <code>Signature</code> header <a href=\"#authentication-headers\">here</a> </p>\n","urlObject":{"path":["v2","transact"],"host":["https://api.onepipe.io"],"query":[],"variable":[]}},"response":[{"id":"77602887-4005-46c2-8c2b-6e471d63d9c9","name":"Block Account (consent request) - WaitingForOTP","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"block_account\",\r\n  \"auth\": {\r\n    \"type\": \"provider_token\", \r\n    \"secure\": \"4if1oYEoHx5Kp+PZj6RibJlXbx8zIKkP\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\":\"provider | options | null\"\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": \"\", \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"{{customer id}}\",\r\n    \t\"firstname\": \"Uju\",\r\n        \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": null\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 15 May 2020 15:45:55 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"nginx/1.17.8"},{"key":"Vary","value":"Accept-Encoding"},{"key":"Content-Encoding","value":"gzip"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"WaitingForOTP\",\n    \"message\": \"Please enter the OTP sent to 2348022****08\",\n    \"data\": {\n        \"provider_response_code\": \"900T0\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": null,\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"},{"id":"d3a07be6-968f-45cc-8072-18e11dd268d7","name":"Block Account (consent request) - Successful","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"block_account\",\r\n  \"auth\": {\r\n    \"type\": \"bank.account\", \r\n    \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n    \"auth_provider\": \"DemoProvider\",\r\n    \"route_mode\":null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"inspect\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": \"\", \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"{{customer id}}\",\r\n    \t\"firstname\": \"Uju\",\r\n        \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": null\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 15 May 2020 15:46:53 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"nginx/1.17.8"},{"key":"Vary","value":"Accept-Encoding"},{"key":"Content-Encoding","value":"gzip"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Successful\",\n    \"message\": \"Transaction processed successfully\",\n    \"data\": {\n        \"provider_response_code\": \"00\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"provider_token\": \"22333055555\",\n            \"reference\": \"4326238160171\",\n            \"token_expiry\": \"2020-9-09-11-30-12\",\n            \"hold_expiry\": \"2020-12-09-11-30-12\",\n            \"meta\": {\n                \"field_key\": \"field_value\"\n            }\n        },\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"}],"_postman_id":"bad814c1-7ce8-43df-9d8e-4fd29725a54a"},{"name":"Block Account (place actual block)","id":"c27314f0-7fd1-4671-a2f8-734cc9ae008c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"block_account\",\r\n  \"auth\": {\r\n    \"type\": \"provider_token\", \r\n    \"secure\": \"0fpTYIXjz6CjN/0GBMXeB9o5IcPLwv/vcfBoVuljtvAeuGBISQlgXQ==\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\":null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": \"\", \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"{{customer id}}\",\r\n    \t\"firstname\": \"Uju\",\r\n        \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": null\r\n  }\r\n}"},"url":"https://api.onepipe.io/v2/transact","description":"<p>With this, you can KYC a customer's bank verification number.This service unlike <code>LOOKUP BVN MIN</code>and <code>LOOKUP BVN MID</code> returns  maximum KYC information.</p>\n<h4 id=\"sequence-of-calls\">Sequence of calls</h4>\n<ul>\n<li>Primary call: <code>/v2/transact</code></li>\n<li>Provider responds with WaitingForOTP or PendingValidation (if required)</li>\n<li>Call <code>v2/transact/validate</code> to supply OTP if needed</li>\n<li>Provider responds with any of the completion codes <code>Successful</code> or <code>Failed</code>.\n*Call <code>/transact/validate</code> to supply OTP if needed</li>\n<li>To query the status of a transaction, a call can be made to  <code>/v2/transact/query</code> endpoint.</li>\n<li>Depending on the provider, the app can call <code>v2/transact/reverse</code> to request a reversal</li>\n</ul>\n<h4 id=\"interpreting-the-response\">Interpreting the response</h4>\n<ul>\n<li>Read the reponse</li>\n<li>Read the <code>provider_response</code> Object</li>\n</ul>\n<h4 id=\"possible-status-values\">Possible status values</h4>\n<ul>\n<li><strong>Successful</strong>: Success</li>\n<li><strong>[Anything else]</strong>: Error. Read the errors object(s)</li>\n</ul>\n<h4 id=\"breakdown-of-the-details-in-the-request-object\">Breakdown of the details in the Request Object</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Element</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>bvn</td>\n<td>Customer bvn to look up</td>\n</tr>\n<tr>\n<td>otp_override</td>\n<td><strong>OPTIONAL</strong> Defaults to <code>false</code>. If set to <code>true</code>, request will not be validated by OTP.</td>\n</tr>\n<tr>\n<td>dob</td>\n<td>The date of birth to match in <code>yyyy-MM-dd</code> format</td>\n</tr>\n<tr>\n<td>include_image</td>\n<td>Defaults to <code>true</code>. Instructs the provider whether to include image of the BVN holder or not.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"request-body-elements\">Request body elements</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Element</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>request_ref</td>\n<td>A unique reference for this specific API call. Must be uniquely generated for every single call</td>\n</tr>\n<tr>\n<td>request_type</td>\n<td>Service identifier - <code>lookup_bvn_mid</code></td>\n</tr>\n<tr>\n<td>auth.type</td>\n<td><code>bvn</code>.</td>\n</tr>\n<tr>\n<td>auth.secure</td>\n<td>encrypted BVN</td>\n</tr>\n<tr>\n<td>transaction.customer.customer_ref</td>\n<td>Mobile number of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.firstname</td>\n<td>First name of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.surname</td>\n<td>Surname of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.email</td>\n<td>Email address of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.mobile_no</td>\n<td>Mobile number of the customer</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response-body-elements\">Response body elements</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Element</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>status</td>\n<td>Standard response. <strong>Successful</strong> or anything else.</td>\n</tr>\n<tr>\n<td>message</td>\n<td>A message or description of the response</td>\n</tr>\n<tr>\n<td>data.provider</td>\n<td>The provider that was used to process the request</td>\n</tr>\n<tr>\n<td>data.provider_response_code</td>\n<td>Response code as determined by the underlying provider</td>\n</tr>\n<tr>\n<td>data.provider_response</td>\n<td>This object contains the actual response for the provider. It contains the <code>BVN</code> details</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>NOTE</strong>: Please see information on how to compute the <code>Signature</code> header <a href=\"#authentication-headers\">here</a> </p>\n","urlObject":{"path":["v2","transact"],"host":["https://api.onepipe.io"],"query":[],"variable":[]}},"response":[{"id":"475ee553-4929-4f1e-bb6d-5c15c7c8ed16","name":"Block Account (place actual block) - Successful","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"block_account\",\r\n  \"auth\": {\r\n    \"type\": \"provider_token\", \r\n    \"secure\": \"0fpTYIXjz6CjN/0GBMXeB9o5IcPLwv/vcfBoVuljtvAeuGBISQlgXQ==\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\":null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"inspect\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": \"\", \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"{{customer id}}\",\r\n    \t\"firstname\": \"Uju\",\r\n        \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": null\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 01 Jul 2020 23:23:44 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"574"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Successful\",\n    \"message\": \"Transaction processed successfully\",\n    \"data\": {\n        \"provider_response_code\": \"00\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"hold_expiry\": \"2020-12-09-11-30-12\",\n            \"reference\": \"2132716009436\",\n            \"meta\": {\n                \"field_key\": \"field_value\"\n            }\n        },\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"},{"id":"e0bbf414-9e88-429f-ba4e-616859f4b73e","name":"Block Account (place actual block) - Failed","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"block_account\",\r\n  \"auth\": {\r\n    \"type\": \"provider_token\", \r\n    \"secure\": \"0fpTYIXjz6CjN/0GBMXeB9o5IcPLwv/vcfBoVuljtvAeuGBISQlgXQ==\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\":null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": \"\", \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"{{customer id}}\",\r\n    \t\"firstname\": \"Uju\",\r\n        \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": null\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Wed, 01 Jul 2020 23:24:43 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"581"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Failed\",\n    \"message\": \"Invalid request mode\",\n    \"data\": {\n        \"options\": null,\n        \"provider_response_code\": null,\n        \"provider\": null,\n        \"errors\": [\n            {\n                \"code\": \"01\",\n                \"message\": \"You are not yet enabled for go-live\"\n            }\n        ],\n        \"error\": {\n            \"code\": \"01\",\n            \"message\": \"You are not yet enabled for go-live\"\n        },\n        \"provider_response\": null,\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"}],"_postman_id":"c27314f0-7fd1-4671-a2f8-734cc9ae008c"},{"name":"Hold Funds  (Consent Request)","id":"e2c517f0-ac62-4cb7-b2dd-ab3ae7ddb230","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"hold_funds\",\r\n  \"auth\": {\r\n    \"type\": \"bank.account\", \r\n    \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\":null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": \"\", \r\n    \"amount\": 10000,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n        \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n    }\r\n  }\r\n}"},"url":"https://api.onepipe.io/v2/transact","description":"<p>With this, you can KYC a customer's bank verification number.This service unlike <code>LOOKUP BVN MIN</code>and <code>LOOKUP BVN MID</code> returns  maximum KYC information.</p>\n<h4 id=\"sequence-of-calls\">Sequence of calls</h4>\n<ul>\n<li>Primary call: <code>/v2/transact</code></li>\n<li>Provider responds with WaitingForOTP or PendingValidation (if required)</li>\n<li>Call <code>v2/transact/validate</code> to supply OTP if needed</li>\n<li>Provider responds with any of the completion codes <code>Successful</code> or <code>Failed</code>.\n*Call <code>/transact/validate</code> to supply OTP if needed</li>\n<li>To query the status of a transaction, a call can be made to  <code>/v2/transact/query</code> endpoint.</li>\n<li>Depending on the provider, the app can call <code>v2/transact/reverse</code> to request a reversal</li>\n</ul>\n<h4 id=\"interpreting-the-response\">Interpreting the response</h4>\n<ul>\n<li>Read the reponse</li>\n<li>Read the <code>provider_response</code> Object</li>\n</ul>\n<h4 id=\"possible-status-values\">Possible status values</h4>\n<ul>\n<li><strong>Successful</strong>: Success</li>\n<li><strong>[Anything else]</strong>: Error. Read the errors object(s)</li>\n</ul>\n<h4 id=\"breakdown-of-the-details-in-the-request-object\">Breakdown of the details in the Request Object</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Element</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>bvn</td>\n<td>Customer bvn to look up</td>\n</tr>\n<tr>\n<td>otp_override</td>\n<td><strong>OPTIONAL</strong> Defaults to <code>false</code>. If set to <code>true</code>, request will not be validated by OTP.</td>\n</tr>\n<tr>\n<td>dob</td>\n<td>The date of birth to match in <code>yyyy-MM-dd</code> format</td>\n</tr>\n<tr>\n<td>include_image</td>\n<td>Defaults to <code>true</code>. Instructs the provider whether to include image of the BVN holder or not.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"request-body-elements\">Request body elements</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Element</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>request_ref</td>\n<td>A unique reference for this specific API call. Must be uniquely generated for every single call</td>\n</tr>\n<tr>\n<td>request_type</td>\n<td>Service identifier - <code>lookup_bvn_mid</code></td>\n</tr>\n<tr>\n<td>auth.type</td>\n<td><code>bvn</code>.</td>\n</tr>\n<tr>\n<td>auth.secure</td>\n<td>encrypted BVN</td>\n</tr>\n<tr>\n<td>transaction.customer.customer_ref</td>\n<td>Mobile number of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.firstname</td>\n<td>First name of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.surname</td>\n<td>Surname of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.email</td>\n<td>Email address of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.mobile_no</td>\n<td>Mobile number of the customer</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response-body-elements\">Response body elements</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Element</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>status</td>\n<td>Standard response. <strong>Successful</strong> or anything else.</td>\n</tr>\n<tr>\n<td>message</td>\n<td>A message or description of the response</td>\n</tr>\n<tr>\n<td>data.provider</td>\n<td>The provider that was used to process the request</td>\n</tr>\n<tr>\n<td>data.provider_response_code</td>\n<td>Response code as determined by the underlying provider</td>\n</tr>\n<tr>\n<td>data.provider_response</td>\n<td>This object contains the actual response for the provider. It contains the <code>BVN</code> details</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>NOTE</strong>: Please see information on how to compute the <code>Signature</code> header <a href=\"#authentication-headers\">here</a> </p>\n","urlObject":{"path":["v2","transact"],"host":["https://api.onepipe.io"],"query":[],"variable":[]}},"response":[{"id":"79495623-8563-4fbd-8416-5f1d3143c2fa","name":"Hold Funds  (Consent Request) - WaitingForOTP","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"hold_funds\",\r\n  \"auth\": {\r\n    \"type\": \"bank.account\", \r\n    \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\":null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": \"\", \r\n    \"amount\": 10000,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"{{customer id}}\",\r\n    \t\"firstname\": \"Uju\",\r\n        \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n    }\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sun, 05 Jul 2020 22:59:44 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"518"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"WaitingForOTP\",\n    \"message\": \"Please enter the OTP sent to 2348022****08, use 12345678 as your OTP\",\n    \"data\": {\n        \"provider_response_code\": \"900T0\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": null,\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"},{"id":"bfdb1ecf-9192-48fa-87bb-70fbf6c5770d","name":"Hold Funds  (Consent Request) - Successful","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"hold_funds\",\r\n  \"auth\": {\r\n    \"type\": \"bank.account\", \r\n    \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\":null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": \"\", \r\n    \"amount\": 10000,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n        \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n    }\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sun, 05 Jul 2020 23:01:10 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"641"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Successful\",\n    \"message\": \"Transaction processed successfully\",\n    \"data\": {\n        \"provider_response_code\": \"00\",\n        \"provider\": \"DemoProvider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"provider_token\": \"22333055555\",\n            \"reference\": \"3981288448857\",\n            \"token_expiry\": \"2020-9-09-11-30-12\",\n            \"hold_expiry\": \"2020-12-09-11-30-12\",\n            \"meta\": {\n                \"field_key\": \"field_value\"\n            }\n        },\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"}],"_postman_id":"e2c517f0-ac62-4cb7-b2dd-ab3ae7ddb230"},{"name":"Hold Funds (Place actual hold)","id":"0eadb172-b391-4df1-952b-a3b26a1f457b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"hold_funds\",\r\n  \"auth\": {\r\n    \"type\": \"provider_token\", \r\n    \"secure\": \"0fpTYIXjz6CjN/0GBMXeB9o5IcPLwv/vcfBoVuljtvAeuGBISQlgXQ==\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\":null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": \"\", \r\n    \"amount\": 10000,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"{{customer id}}\",\r\n    \t\"firstname\": \"Uju\",\r\n        \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": null\r\n  }\r\n}"},"url":"https://api.onepipe.io/v2/transact","description":"<p>With this, you can KYC a customer's bank verification number.This service unlike <code>LOOKUP BVN MIN</code>and <code>LOOKUP BVN MID</code> returns  maximum KYC information.</p>\n<h4 id=\"sequence-of-calls\">Sequence of calls</h4>\n<ul>\n<li>Primary call: <code>/v2/transact</code></li>\n<li>Provider responds with WaitingForOTP or PendingValidation (if required)</li>\n<li>Call <code>v2/transact/validate</code> to supply OTP if needed</li>\n<li>Provider responds with any of the completion codes <code>Successful</code> or <code>Failed</code>.\n*Call <code>/transact/validate</code> to supply OTP if needed</li>\n<li>To query the status of a transaction, a call can be made to  <code>/v2/transact/query</code> endpoint.</li>\n<li>Depending on the provider, the app can call <code>v2/transact/reverse</code> to request a reversal</li>\n</ul>\n<h4 id=\"interpreting-the-response\">Interpreting the response</h4>\n<ul>\n<li>Read the reponse</li>\n<li>Read the <code>provider_response</code> Object</li>\n</ul>\n<h4 id=\"possible-status-values\">Possible status values</h4>\n<ul>\n<li><strong>Successful</strong>: Success</li>\n<li><strong>[Anything else]</strong>: Error. Read the errors object(s)</li>\n</ul>\n<h4 id=\"breakdown-of-the-details-in-the-request-object\">Breakdown of the details in the Request Object</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Element</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>bvn</td>\n<td>Customer bvn to look up</td>\n</tr>\n<tr>\n<td>otp_override</td>\n<td><strong>OPTIONAL</strong> Defaults to <code>false</code>. If set to <code>true</code>, request will not be validated by OTP.</td>\n</tr>\n<tr>\n<td>dob</td>\n<td>The date of birth to match in <code>yyyy-MM-dd</code> format</td>\n</tr>\n<tr>\n<td>include_image</td>\n<td>Defaults to <code>true</code>. Instructs the provider whether to include image of the BVN holder or not.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"request-body-elements\">Request body elements</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Element</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>request_ref</td>\n<td>A unique reference for this specific API call. Must be uniquely generated for every single call</td>\n</tr>\n<tr>\n<td>request_type</td>\n<td>Service identifier - <code>lookup_bvn_mid</code></td>\n</tr>\n<tr>\n<td>auth.type</td>\n<td><code>bvn</code>.</td>\n</tr>\n<tr>\n<td>auth.secure</td>\n<td>encrypted BVN</td>\n</tr>\n<tr>\n<td>transaction.customer.customer_ref</td>\n<td>Mobile number of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.firstname</td>\n<td>First name of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.surname</td>\n<td>Surname of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.email</td>\n<td>Email address of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.mobile_no</td>\n<td>Mobile number of the customer</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response-body-elements\">Response body elements</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Element</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>status</td>\n<td>Standard response. <strong>Successful</strong> or anything else.</td>\n</tr>\n<tr>\n<td>message</td>\n<td>A message or description of the response</td>\n</tr>\n<tr>\n<td>data.provider</td>\n<td>The provider that was used to process the request</td>\n</tr>\n<tr>\n<td>data.provider_response_code</td>\n<td>Response code as determined by the underlying provider</td>\n</tr>\n<tr>\n<td>data.provider_response</td>\n<td>This object contains the actual response for the provider. It contains the <code>BVN</code> details</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>NOTE</strong>: Please see information on how to compute the <code>Signature</code> header <a href=\"#authentication-headers\">here</a> </p>\n","urlObject":{"path":["v2","transact"],"host":["https://api.onepipe.io"],"query":[],"variable":[]}},"response":[{"id":"3f7b5252-c96a-4063-837b-e8f801d610a8","name":"Hold Funds (Place actual hold) - Successful","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"hold_funds\",\r\n  \"auth\": {\r\n    \"type\": \"provider_token\", \r\n    \"secure\": \"0fpTYIXjz6CjN/0GBMXeB9o5IcPLwv/vcfBoVuljtvAeuGBISQlgXQ==\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\":null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": \"\", \r\n    \"amount\": 10000,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"{{customer id}}\",\r\n    \t\"firstname\": \"Uju\",\r\n        \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": null\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sun, 05 Jul 2020 23:02:14 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"574"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Successful\",\n    \"message\": \"Transaction processed successfully\",\n    \"data\": {\n        \"provider_response_code\": \"00\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"hold_expiry\": \"2020-12-09-11-30-12\",\n            \"reference\": \"1938244240008\",\n            \"meta\": {\n                \"field_key\": \"field_value\"\n            }\n        },\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"}],"_postman_id":"0eadb172-b391-4df1-952b-a3b26a1f457b"},{"name":"Account Opening","event":[{"listen":"test","script":{"id":"9621127f-9b2c-4d4b-8d14-b8b29496c338","exec":[""],"type":"text/javascript"}},{"listen":"prerequest","script":{"id":"52227de2-2255-4262-a969-c54db1971da9","exec":[""],"type":"text/javascript"}}],"id":"4bd34b48-f824-465d-91fa-3cb16ca859b5","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1","type":"text"},{"key":"Content-Type","type":"text","value":"application/json"},{"key":"Signature","value":"3a2b58350e8068507e6b5bff106850a5","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"request_ref\": \"111111111\",\r\n    \"request_type\": \"account opening\",\r\n    \"auth\": {\r\n        \"auth_provider\": \"Gamma||Monnify\"\r\n    },\r\n    \"transaction\": {\r\n        \"mock_mode\": \"Live\",\r\n        \"transaction_ref\": \"{{transaction-ref}}\",\r\n        \"transaction_desc\": \"Account Opening transaction\",\r\n        \"transaction_ref_parent\": \"\",\r\n        \"amount\": 0,\r\n        \"customer\": {\r\n            \"customer_ref\": \"234908122410\",\r\n            \"firstname\": \"Akinkunmi\",\r\n            \"surname\": \"Olunloye\",\r\n            \"email\": \"roqak1@gmail.com\",\r\n            \"mobile_no\": \"2348052680773\"\r\n        },\r\n        \"meta\": {\r\n            \"expires_on\":\"2090-12-31\",\r\n            \"use_frequency\": \"3\",\r\n            \"max_amount\":\"1000\",\r\n            \"min_amount\":\"200\",\r\n            \"bvn\": \"22216834855\"\r\n        },\r\n        \"details\": {\r\n            \"name_on_account\": \"Akinkunmi Olunloye\"\r\n        }\r\n    }\r\n}"},"url":"https://api.onepipe.io/v2/transact","description":"<p><strong>NOTE</strong>: This service will soon be deprecated in favour of <a href=\"#0c2e20f0-e9d8-45e0-b402-d1eb1a9e3e3d\">Open Account</a></p>\n<h1 id=\"service-description\">Service description</h1>\n<p>With this call, customers can supply their name, phone number and BVN to open a bank account.</p>\n<h4 id=\"sequence-of-calls\">Sequence of calls</h4>\n<ul>\n<li>Primary call: <code>/v2/transact</code></li>\n</ul>\n<h4 id=\"interpreting-the-response\">Interpreting the response</h4>\n<ul>\n<li>Read the reponse</li>\n<li>Read the <code>data</code> object</li>\n<li><code>data.provider</code> is the provider that processed the account opening request</li>\n<li><code>data.provider_response</code> is the response object from the provider(Bank) that processed the account opening request</li>\n<li><code>data.provider_response.accountReference</code> is the account reference from the bank</li>\n<li><code>data.provider_response.accountName</code> is the name attached to the new account</li>\n<li><code>data.provider_response.currencyCode</code> is the Currency Code of the account</li>\n<li><code>data.provider_response.customerEmail</code> is the email attached to the new account</li>\n<li><code>data.provider_response.accountNumber</code> is the generated account number</li>\n<li><code>data.provider_response.bankName</code> is the name of the bank which the account was created</li>\n<li><code>data.provider_response.bankCode</code> is the CBN code of the new account created. You can see CBN Codes <a href=\"https://sandbox.interswitchng.com/docbase/docs/autogate-file-transfer/appendix/bank-cbn-codes/\">here</a>.</li>\n<li><code>data.provider_response.status</code> is the status of the account created either it's ACTIVE or INACTIVE.</li>\n<li><code>data.provider_response.createdOn</code> the day in which the account was created</li>\n</ul>\n<h4 id=\"request-body-elements\">Request body elements</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Element</th>\n<th>Description</th>\n<th>Required?</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>request_ref</td>\n<td>A unique reference for this specific API call. Must be uniquely generated for every single call</td>\n<td>Yes</td>\n</tr>\n<tr>\n<td>request_type</td>\n<td>Service identifier - <code>account opening</code></td>\n<td>Yes</td>\n</tr>\n<tr>\n<td>transaction.customer.customer_ref</td>\n<td>Mobile number of the customer, Also the mobile number to be attached to the account</td>\n<td>Yes</td>\n</tr>\n<tr>\n<td>transaction.customer.firstname</td>\n<td>First name of the customer</td>\n<td>No</td>\n</tr>\n<tr>\n<td>transaction.customer.surname</td>\n<td>Surname of the customer</td>\n<td>No</td>\n</tr>\n<tr>\n<td>transaction.customer.email</td>\n<td>Email address of the customer</td>\n<td>Yes</td>\n</tr>\n<tr>\n<td>customer.mobile_no</td>\n<td>Mobile number of the customer</td>\n<td>No</td>\n</tr>\n<tr>\n<td>transaction.details.name_on_account</td>\n<td>Name of the customer, this is to be attached to the account</td>\n<td>Yes</td>\n</tr>\n<tr>\n<td>transaction.meta.expires_on</td>\n<td>Account's expiry date</td>\n<td>No</td>\n</tr>\n<tr>\n<td>transaction.meta.use_frequency</td>\n<td>Number of times the account can be used</td>\n<td>No</td>\n</tr>\n<tr>\n<td>transaction.meta.max_amount</td>\n<td>Maximum amount the account can hold</td>\n<td>No</td>\n</tr>\n<tr>\n<td>transaction.meta.min_amount</td>\n<td>Minimum amount the account can hold</td>\n<td>No</td>\n</tr>\n<tr>\n<td>transaction.meta.bvn</td>\n<td>BVN to be attached to the account</td>\n<td>No</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response-body-elements\">Response body elements</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Element</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>status</td>\n<td>Standard response. <strong>Successful</strong> or <strong>Failed</strong>.</td>\n</tr>\n<tr>\n<td>message</td>\n<td>A message or description of the response</td>\n</tr>\n<tr>\n<td>data.provider</td>\n<td>The provider that was used to process the request</td>\n</tr>\n<tr>\n<td>data.provider_response_code</td>\n<td>Response code as determined by the underlying provider</td>\n</tr>\n<tr>\n<td>data.provider_response</td>\n<td>Details of the new Acoount</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>NOTE</strong>: Please see information on how to compute the <code>Signature</code> header <a href=\"#authentication-headers\">here</a> </p>\n","urlObject":{"path":["v2","transact"],"host":["https://api.onepipe.io"],"query":[],"variable":[]}},"response":[{"id":"fb13c238-3a10-46db-a2d0-969580a7f74c","name":"Account Opening - success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1","type":"text"},{"key":"Signature","value":"3a2b58350e8068507e6b5bff106850a5","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"request_ref\": \"111111111\",\r\n    \"request_type\": \"account opening\",\r\n    \"auth\": {\r\n        \"auth_provider\": \"Gamma||Monnify\"\r\n    },\r\n    \"transaction\": {\r\n        \"mock_mode\": \"Live\",\r\n        \"transaction_ref\": \"{{transaction-ref}}\",\r\n        \"transaction_desc\": \"Account Opening transaction\",\r\n        \"transaction_ref_parent\": \"\",\r\n        \"amount\": 0,\r\n        \"customer\": {\r\n            \"customer_ref\": \"234908122410\",\r\n            \"firstname\": \"Akinkunmi\",\r\n            \"surname\": \"Olunloye\",\r\n            \"email\": \"roqak1@gmail.com\",\r\n            \"mobile_no\": \"2348052680773\"\r\n        },\r\n        \"meta\": {\r\n            \"expires_on\":\"2090-12-31\",\r\n            \"use_frequency\": \"3\",\r\n            \"max_amount\":\"1000\",\r\n            \"min_amount\":\"200\",\r\n            \"bvn\": \"22216834855\"\r\n        },\r\n        \"details\": {\r\n            \"name_on_account\": \"Akinkunmi Olunloye\"\r\n        }\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":""},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"status\": \"Successful\",\r\n    \"message\": \"Transaction processed successfully\",\r\n    \"data\": {\r\n        \"provider_response_code\": \"200\",\r\n        \"provider\": \"Gamma\",\r\n        \"errors\": null,\r\n        \"error\": null,\r\n        \"provider_response\": {\r\n            \"contractCode\": null,\r\n            \"accountReference\": \"20246618836451\",\r\n            \"accountName\": \"Akinkunmi Olunloye\",\r\n            \"currencyCode\": \"NGN\",\r\n            \"customerEmail\": \"roqak1@gmail.com\",\r\n            \"accountNumber\": \"4000003603\",\r\n            \"bankName\": null,\r\n            \"bankCode\": null,\r\n            \"collectionChannel\": null,\r\n            \"reservationReference\": null,\r\n            \"reservedAccountType\": null,\r\n            \"status\": \"ACTIVE\",\r\n            \"createdOn\": \"2020-03-24 19:24:40\",\r\n            \"incomeSplitConfig\": [],\r\n            \"restrictPaymentSource\": null\r\n        },\r\n        \"client_info\": {\r\n            \"name\": null,\r\n            \"id\": null,\r\n            \"bank_cbn_code\": null,\r\n            \"bank_name\": null,\r\n            \"console_url\": null,\r\n            \"js_background_image\": null,\r\n            \"css_url\": null,\r\n            \"logo_url\": null,\r\n            \"footer_text\": null,\r\n            \"show_options_icon\": false,\r\n            \"paginate\": false,\r\n            \"paginate_count\": 0,\r\n            \"options\": null,\r\n            \"merchant\": null,\r\n            \"colors\": null,\r\n            \"meta\": null\r\n        }\r\n    }\r\n}"}],"_postman_id":"4bd34b48-f824-465d-91fa-3cb16ca859b5"},{"name":"Buy Data - options","id":"738da196-33a5-45a9-ac12-65a50be91ff4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"buy_data\",\r\n  \"auth\": {\r\n    \"type\": \"card\", \r\n    \"secure\": \"zmy+k26tJMpjYuFfRUMCcJTAlWQVSKu8Vr9fhbfP1fo9toqiTLdp+UU1Kj7Y0HYAvS36BNL/zux8jFkPHX0vlYBiaqdXXS2E\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n  \t\t\"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n      \"biller_id\": \"{{code representing the biller}}\",\r\n      \"biller_item_id\": null,\r\n      \"order_reference\": null\r\n    }\r\n  }\r\n}"},"url":"https://api.onepipe.io/v2/transact/options","urlObject":{"path":["v2","transact","options"],"host":["https://api.onepipe.io"],"query":[],"variable":[]}},"response":[{"id":"1908d67c-42e3-4cda-9004-fa2a49e74151","name":"Buy Data - options - OptionsDelivered","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"buy_data\",\r\n  \"auth\": {\r\n    \"type\": \"card\", \r\n    \"secure\": \"zmy+k26tJMpjYuFfRUMCcJTAlWQVSKu8Vr9fhbfP1fo9toqiTLdp+UU1Kj7Y0HYAvS36BNL/zux8jFkPHX0vlYBiaqdXXS2E\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n  \t\t\"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n      \"biller_id\": \"{{code representing the biller}}\",\r\n      \"biller_item_id\": null,\r\n      \"order_reference\": null\r\n    }\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact/options"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 06 Jul 2020 00:22:51 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"1498"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"OptionsDelivered\",\n    \"message\": \"Transaction processed successfully\",\n    \"data\": {\n        \"options\": null,\n        \"provider_response_code\": \"00\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"products\": [\n                {\n                    \"order_reference\": \"101638163628490752\",\n                    \"biller_item_id\": \"101638163628490752\",\n                    \"biller_item_code\": \"RAC01\",\n                    \"biller_item_name\": \"40GB Daily\",\n                    \"biller_item_description\": \"This is 40GB Daily bundle. So lovely\",\n                    \"biller_item_image_url\": \"{{url to an image}}\",\n                    \"biller_item_prompt\": \"Please enter your phone number\",\n                    \"customer_name\": \"Kola Uju Abubakar Premium\",\n                    \"biller_item_meta\": {},\n                    \"amount\": \"500000\",\n                    \"currency\": \"566\",\n                    \"terms\": \"{{some HTML content}}\",\n                    \"terms_url\": \"{{some url}}\"\n                },\n                {\n                    \"order_reference\": \"101638163628490752\",\n                    \"biller_item_id\": \"101638163628490752\",\n                    \"biller_item_code\": \"RAC01\",\n                    \"biller_item_name\": \"40GB Daily\",\n                    \"biller_item_description\": \"This is 40GB Daily bundle. So lovely\",\n                    \"biller_item_image_url\": \"{{url to an image}}\",\n                    \"biller_item_prompt\": \"Please enter your phone number\",\n                    \"customer_name\": \"Kola Uju Abubakar Premium\",\n                    \"biller_item_meta\": {},\n                    \"amount\": \"500000\",\n                    \"currency\": \"566\",\n                    \"terms\": \"{{some HTML content}}\",\n                    \"terms_url\": \"{{some url}}\"\n                }\n            ],\n            \"reference\": \"1172733109192\",\n            \"meta\": {\n                \"field_key\": \"field_value\"\n            }\n        },\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"}],"_postman_id":"738da196-33a5-45a9-ac12-65a50be91ff4"},{"name":"Buy Data - transact","id":"e7016d42-2480-4285-8aab-5d39e889080d","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"buy_data\",\r\n  \"auth\": {\r\n    \"type\": \"bank.account\", \r\n    \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": \"\", \r\n    \"amount\": 10000,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"{{customer id}}\",\r\n    \t\"firstname\": \"Uju\",\r\n      \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n      \"biller_id\": \"mtn\",\r\n      \"biller_item_id\": \"RAC01\",\r\n      \"order_reference\": \"101638163628490752\"\r\n    }\r\n  }\r\n}"},"url":"https://api.onepipe.io/v2/transact","urlObject":{"path":["v2","transact"],"host":["https://api.onepipe.io"],"query":[],"variable":[]}},"response":[{"id":"92f677c3-976c-4572-bd27-771a2feb4574","name":"Buy Data - transact - Successful","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"buy_data\",\r\n  \"auth\": {\r\n    \"type\": \"bank.account\", \r\n    \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": \"\", \r\n    \"amount\": 10000,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"{{customer id}}\",\r\n    \t\"firstname\": \"Uju\",\r\n      \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n      \"biller_id\": \"mtn\",\r\n      \"biller_item_id\": \"RAC01\",\r\n      \"order_reference\": \"101638163628490752\"\r\n    }\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 06 Jul 2020 00:26:34 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"684"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Successful\",\n    \"message\": \"Transaction processed successfully\",\n    \"data\": {\n        \"provider_response_code\": \"00\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"payment_status\": \"Successful\",\n            \"fulfillment_status\": \"Succesful\",\n            \"transaction_final_amount\": 20000,\n            \"transaction_fee\": 5000,\n            \"narration\": \"My narration\",\n            \"reference\": \"6662422005810\",\n            \"meta\": {\n                \"field_key\": \"field_value\"\n            }\n        },\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"},{"id":"dc7e1f9b-dc87-4c11-a88a-f7c17e962643","name":"Buy Data - transact - WaitingForOTP","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"buy_data\",\r\n  \"auth\": {\r\n    \"type\": \"bank.account\", \r\n    \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": \"\", \r\n    \"amount\": 10000,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"{{customer id}}\",\r\n    \t\"firstname\": \"Uju\",\r\n      \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n      \"biller_id\": \"mtn\",\r\n      \"biller_item_id\": \"RAC01\",\r\n      \"order_reference\": \"101638163628490752\"\r\n    }\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 06 Jul 2020 00:24:59 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"518"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"WaitingForOTP\",\n    \"message\": \"Please enter the OTP sent to 2348022****08, use 12345678 as your OTP\",\n    \"data\": {\n        \"provider_response_code\": \"900T0\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": null,\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"}],"_postman_id":"e7016d42-2480-4285-8aab-5d39e889080d"},{"name":"Buy Scratch Card- options","id":"2f893074-889c-4989-a556-67733454e067","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"buy_scratch_card\",\r\n  \"auth\": {\r\n    \"type\": null, \r\n    \"secure\": null,\r\n    \"auth_provider\": \"DemoProvider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n  \t\t\"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n      \"biller_id\": \"waec\",\r\n      \"biller_item_id\": null,\r\n      \"order_reference\": null\r\n    }\r\n  }\r\n}"},"url":"https://api.onepipe.io/v2/transact/options","urlObject":{"path":["v2","transact","options"],"host":["https://api.onepipe.io"],"query":[],"variable":[]}},"response":[{"id":"55c03c5e-921b-4ba5-a6b0-e2f0127b7016","name":"Buy Scratch Card- options - Failed","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"buy_scratch_card\",\r\n  \"auth\": {\r\n    \"type\": null, \r\n    \"secure\": null,\r\n    \"auth_provider\": \"DemoProvider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n  \t\t\"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n      \"biller_id\": \"waec\",\r\n      \"biller_item_id\": null,\r\n      \"order_reference\": null\r\n    }\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact/options"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 06 Jul 2020 00:29:56 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"601"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"failed\",\n    \"message\": \"Invalid Access\",\n    \"data\": {\n        \"options\": null,\n        \"provider_response_code\": null,\n        \"provider\": null,\n        \"errors\": [\n            {\n                \"code\": \"01\",\n                \"message\": \"Application does not have access to DemoProvider\"\n            }\n        ],\n        \"error\": {\n            \"code\": \"01\",\n            \"message\": \"Application does not have access to DemoProvider\"\n        },\n        \"provider_response\": null,\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"},{"id":"af4944a0-26f3-451d-a098-e0795ae8eeba","name":"Buy Scratch Card- options - OptionsDelivered","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"buy_scratch_card\",\r\n  \"auth\": {\r\n    \"type\": null, \r\n    \"secure\": null,\r\n    \"auth_provider\": \"DemoProvider\",\r\n    \"route_mode\": null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": null, \r\n    \"amount\": 0,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n  \t\t\"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n      \"biller_id\": \"waec\",\r\n      \"biller_item_id\": null,\r\n      \"order_reference\": null\r\n    }\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact/options"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 06 Jul 2020 00:32:02 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"1508"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"OptionsDelivered\",\n    \"message\": \"Transaction processed successfully\",\n    \"data\": {\n        \"options\": null,\n        \"provider_response_code\": \"00\",\n        \"provider\": \"DemoProvider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"products\": [\n                {\n                    \"order_reference\": \"101638163628490752\",\n                    \"biller_item_id\": \"101638163628490752\",\n                    \"biller_item_code\": \"RAC01\",\n                    \"biller_item_name\": \"DSTV Premium\",\n                    \"biller_item_description\": \"This is DSTV Premium that is lovely\",\n                    \"biller_item_image_url\": \"{{url to an image}}\",\n                    \"biller_item_prompt\": \"Please neter your smartcard number\",\n                    \"customer_name\": \"Kola Uju Abubakar Premium\",\n                    \"biller_item_meta\": {},\n                    \"amount\": \"500000\",\n                    \"currency\": \"566\",\n                    \"terms\": \"{{some HTML content}}\",\n                    \"terms_url\": \"{{some url}}\"\n                },\n                {\n                    \"order_reference\": \"101638163628490752\",\n                    \"biller_item_id\": \"101638163628490752\",\n                    \"biller_item_code\": \"RAC01\",\n                    \"biller_item_name\": \"DSTV Premium\",\n                    \"biller_item_description\": \"This is DSTV Premium that is lovely\",\n                    \"biller_item_image_url\": \"{{url to an image}}\",\n                    \"biller_item_prompt\": \"Please neter your smartcard number\",\n                    \"customer_name\": \"Kola Uju Abubakar Premium\",\n                    \"biller_item_meta\": {},\n                    \"amount\": \"500000\",\n                    \"currency\": \"566\",\n                    \"terms\": \"{{some HTML content}}\",\n                    \"terms_url\": \"{{some url}}\"\n                }\n            ],\n            \"reference\": \"9458690659968\",\n            \"meta\": {\n                \"field_key\": \"field_value\"\n            }\n        },\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"}],"_postman_id":"2f893074-889c-4989-a556-67733454e067"},{"name":"Buy Scratch Card - transact","id":"1e179eb8-6257-414b-9ff5-30244fa13bd4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"buy_scratch_card\",\r\n  \"auth\": {\r\n    \"type\": \"bank.account\", \r\n    \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\":null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": \"\", \r\n    \"amount\": 10000,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n      \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n   \"details\": {\r\n      \"biller_id\": \"waec\",\r\n      \"biller_item_id\": \"2006\",\r\n      \"order_reference\": \"89887777666\"\r\n    }\r\n  }\r\n}"},"url":"https://api.onepipe.io/v2/transact","urlObject":{"path":["v2","transact"],"host":["https://api.onepipe.io"],"query":[],"variable":[]}},"response":[{"id":"293d61d6-53c1-42a4-a980-9c447c53bdb5","name":"Buy Scratch Card - transact - Successful","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"buy_scratch_card\",\r\n  \"auth\": {\r\n    \"type\": \"bank.account\", \r\n    \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\":null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": \"\", \r\n    \"amount\": 10000,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"DemoApp_Customer007\",\r\n    \t\"firstname\": \"Uju\",\r\n      \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n   \"details\": {\r\n      \"biller_id\": \"waec\",\r\n      \"biller_item_id\": \"2006\",\r\n      \"order_reference\": \"89887777666\"\r\n    }\r\n  }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Mon, 06 Jul 2020 00:33:19 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Content-Length","value":"788"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"Kestrel"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Successful\",\n    \"message\": \"Transaction processed successfully\",\n    \"data\": {\n        \"provider_response_code\": \"00\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"scratch_card_number\": \"0000999888999\",\n            \"sratch_card_pin\": \"1234\",\n            \"scratch_card_serial\": \"988988888ASZ3334\",\n            \"payment_status\": \"Successful\",\n            \"fulfillment_status\": \"Succesful\",\n            \"transaction_final_amount\": 20000,\n            \"transaction_fee\": 5000,\n            \"narration\": \"My narration\",\n            \"reference\": \"7544047176478\",\n            \"meta\": {\n                \"field_key\": \"field_value\"\n            }\n        },\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"},{"id":"684f4bea-b926-4410-adcd-7c60c1cbe987","name":"Buy Scratch Card - transact - WaitingForOTP","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n  \"request_ref\":\"111111111\", \r\n  \"request_type\":\"buy_scratch_card\",\r\n  \"auth\": {\r\n    \"type\": \"bank.account | card | wallet | airtime | token\", \r\n    \"secure\": \"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs=\",\r\n    \"auth_provider\": \"Demoprovider\",\r\n    \"route_mode\":null\r\n  },\r\n  \"transaction\": {\r\n    \"mock_mode\": \"live\", \r\n    \"transaction_ref\": \"{{transaction-ref}}\", \r\n    \"transaction_desc\": \"A random transaction\", \r\n    \"transaction_ref_parent\": \"\", \r\n    \"amount\": 10000,\r\n    \"customer\":{\r\n    \t\"customer_ref\": \"{{customer id}}\",\r\n    \t\"firstname\": \"Uju\",\r\n        \"surname\": \"Usmanu\",\r\n    \t\"email\": \"ujuusmanu@gmail.com\",\r\n    \t\"mobile_no\": \"234802343132\"\r\n    },\r\n    \"meta\":{\r\n    \t\"a_key\":\"a_meta_value_1\",\r\n    \t\"another_key\":\"a_meta_value_2\"\r\n    },\r\n    \"details\": {\r\n      \"biller_id\": \"{{code representing the biller}}\",\r\n      \"biller_item_id\": \"{{code representing the biller's specific product}}\",\r\n      \"order_reference\": \"101638163628490752\"\r\n    }\r\n  }\r\n}"},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sat, 16 May 2020 18:25:36 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"nginx/1.17.8"},{"key":"Vary","value":"Accept-Encoding"},{"key":"Content-Encoding","value":"gzip"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"WaitingForOTP\",\n    \"message\": \"Please enter the OTP sent to 2348022****08\",\n    \"data\": {\n        \"provider_response_code\": \"900T0\",\n        \"provider\": \"Demoprovider\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": null,\n        \"client_info\": {\n            \"name\": null,\n            \"id\": null,\n            \"bank_cbn_code\": null,\n            \"bank_name\": null,\n            \"console_url\": null,\n            \"js_background_image\": null,\n            \"css_url\": null,\n            \"logo_url\": null,\n            \"footer_text\": null,\n            \"show_options_icon\": false,\n            \"paginate\": false,\n            \"paginate_count\": 0,\n            \"options\": null,\n            \"merchant\": null,\n            \"colors\": null,\n            \"meta\": null\n        }\n    }\n}"}],"_postman_id":"1e179eb8-6257-414b-9ff5-30244fa13bd4"}],"id":"8e81bfcf-c5e0-4cca-9452-281da214d8a4","_postman_id":"8e81bfcf-c5e0-4cca-9452-281da214d8a4","description":""},{"name":"Purchase Services","item":[],"id":"3eb63d62-c98e-4172-9847-2d4036f54ac1","_postman_id":"3eb63d62-c98e-4172-9847-2d4036f54ac1","description":""},{"name":"Multibank","item":[{"name":"Open Account - Mulibank","id":"b52128e7-6768-44b1-8b92-0b6b39356486","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","type":"text","value":"application/json"}],"body":{"mode":"raw","raw":"{\r\n    \"request_ref\": \"85928518230\",\r\n    \"api_key\": \"*********************************\",\r\n    \"request_type\": \"open account\",\r\n    \"request_mode\": null,\r\n    \"ParsedRequestType\": \"open account\",\r\n    \"auth\": {\r\n        \"type\": null,\r\n        \"secure\": null,\r\n        \"auth_provider\": \"CheddaAccount\",\r\n        \"route_mode\": null\r\n    },\r\n    \"transaction\": {\r\n        \"mock_mode\": \"Live\",\r\n        \"transaction_ref\": \"CuQ0YZFC-js-oa\",\r\n        \"transaction_desc\": \"Open Account\",\r\n        \"transaction_ref_parent\": null,\r\n        \"amount\": 0,\r\n        \"customer\": {\r\n            \"customer_ref\": \"234802221412\",\r\n            \"firstname\": \"Ope\",\r\n            \"surname\": \"Adeoye\",\r\n            \"email\": \"ope@onepipe.io\",\r\n            \"mobile_no\": \"234802221412\"\r\n        },\r\n        \"meta\": {\r\n            \"grb_status\": \"pwt-active\",\r\n            \"pwt_item_description\": \"CuQ0YZFC\",\r\n            \"pwt_item_code\": null,\r\n            \"pwt_item_amount\": \"2000\",\r\n            \"referrer\": \"https://pages.onepipe.io/business/page\", \r\n            \"amount\": \"2000\"\r\n        },\r\n        \"details\": {\r\n            \"name_on_account\": \"Ope Adeoye\",\r\n            \"middlename\": null,\r\n            \"dob\": null,\r\n            \"gender\": null,\r\n            \"title\": null,\r\n            \"address_line_1\": null,\r\n            \"address_line_2\": null,\r\n            \"city\": null,\r\n            \"state\": null,\r\n            \"country\": null\r\n        },\r\n        \"options\": null\r\n    }\r\n}"},"url":"https://api.onepipe.io/v2/transact","description":"<h1 id=\"service-description\">Service description</h1>\n<p>With this service, the calling apps can carry out account opening operations. Apps will forward details to OnePipe. Apps will supply details required to open an account on behalf of a customer. If authorisation details are required by a provider, apps will have to provide this. OnePipe will in turn forward to the provider’s dedicated implementation.</p>\n<h4 id=\"sequence-of-calls\">Sequence of calls</h4>\n<p>First, please be sure to have gone through...</p>\n<ul>\n<li><a href=\"#the-headers\">The headers</a>  </li>\n<li><a href=\"#the-main-operations-you-can-perform\">Main API operations</a></li>\n<li><a href=\"#what-requests-would-look-like\">Typical OnePipe requests</a>  </li>\n<li><a href=\"#what-responses-would-look-like\">Typical OnePipe responses</a></li>\n<li><a href=\"#encryption-of-secure-element\">Encryption of the <code>secure</code> element</a></li>\n</ul>\n<p>Now, here's the call sequence specific to this service...</p>\n<ol>\n<li>Call <code>/transact</code> with the right auth details. Typically, <code>bvn</code>. See <a href=\"#encryption-of-secure-element\">here</a></li>\n<li>Provider responds with <code>WaitingForOTP</code> or <code>PendingValidation</code> if they require OTP verification</li>\n<li>Call <code>/transact/validate</code> to supply OTP if needed</li>\n<li>Provider responds with any of the completion codes <code>Successful</code> or <code>Failed</code>. </li>\n<li>To query the status of a transaction, call <code>/transact/query</code></li>\n</ol>\n<h4 id=\"interpreting-the-response\">Interpreting the response</h4>\n<ul>\n<li>Read the reponse</li>\n<li>Read the <code>provider_response</code> Object</li>\n</ul>\n<h4 id=\"possible-status-values\">Possible status values</h4>\n<ul>\n<li><strong>Successful</strong>: Success</li>\n<li><strong>WaitingForOTP</strong>: Display the <code>status.message</code> and collect the input from the user, then follow with a <code>/transact/validate</code></li>\n<li><strong>PendingValidation</strong>: Display the <code>status.message</code> and collect the input from the user, then follow with a <code>/transact/validate</code></li>\n<li><strong>Processing</strong>: The account opening wasn't successful but is probably still executing in the background. Typically, this would have escalated to the back office and the provider's (bank) staff would manually execute the account opening process </li>\n<li><strong>[Anything else]</strong>: Error. Read the errors object(s)</li>\n</ul>\n<h4 id=\"request-body-elements\">Request body elements</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Field</th>\n<th>Type</th>\n<th>Requirement</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>request_ref</td>\n<td>string</td>\n<td>compulsory</td>\n<td>A unique reference for this API call</td>\n</tr>\n<tr>\n<td>request_type</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Set to <code>open_account</code></td>\n</tr>\n<tr>\n<td>auth.type</td>\n<td>string</td>\n<td>optional</td>\n<td>Depends on what the provider requires to open the account. Most times, can be <code>null</code>. At times, could be <code>bvn</code>.</td>\n</tr>\n<tr>\n<td>auth.secure</td>\n<td>string</td>\n<td>optional</td>\n<td>If a type is set, then encrypt the value here.</td>\n</tr>\n<tr>\n<td>auth.auth_provider</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The Provider against which you want to open the account. e.g. <code>GTBank</code></td>\n</tr>\n<tr>\n<td>auth.route_mode</td>\n<td>string</td>\n<td>optional</td>\n<td>Set to <code>null</code></td>\n</tr>\n<tr>\n<td>transaction.mock_mode</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Set to <code>inspect</code> (for test mode) or <code>live</code> (for live mode)</td>\n</tr>\n<tr>\n<td>transaction.transaction_ref</td>\n<td>string</td>\n<td>compulsory</td>\n<td>A unique reference for the transaction</td>\n</tr>\n<tr>\n<td>transaction.transaction.desc</td>\n<td>string</td>\n<td>compulsory</td>\n<td>A short description or narration</td>\n</tr>\n<tr>\n<td>transaction.transaction_ref_parent</td>\n<td>string</td>\n<td>optional</td>\n<td>Can be set to <code>null</code>. But if you are repeating an prior transaction, you can set it to the <code>transaction_ref</code> of the former transaction to create a link for easy tracking.</td>\n</tr>\n<tr>\n<td>amount</td>\n<td>int</td>\n<td>compulsory</td>\n<td>Set to <code>0</code></td>\n</tr>\n<tr>\n<td>transaction.customer.customer_ref</td>\n<td>string</td>\n<td>compulsory</td>\n<td>A unique reference to identify this customer</td>\n</tr>\n<tr>\n<td>transaction.customer.firstname</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The firstname of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.surname</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The surname of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.email</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The email of the customer</td>\n</tr>\n<tr>\n<td>transaction.customer.mobile_no</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The mobile number of the customer</td>\n</tr>\n<tr>\n<td>transaction.details.middlename</td>\n<td>string</td>\n<td>optional</td>\n<td>Middle name of the customer.</td>\n</tr>\n<tr>\n<td>transaction.details.name_on_account</td>\n<td>string</td>\n<td>compulsory</td>\n<td>The name that should be on the account.</td>\n</tr>\n<tr>\n<td>transaction.details.dob</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Date string for date of birth</td>\n</tr>\n<tr>\n<td>transaction.details.gender</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Gender of the customer. This can be set to either M or F</td>\n</tr>\n<tr>\n<td>transaction.details.title</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Gender of the customer. This can be set to either Mr, Mrs, Ms</td>\n</tr>\n<tr>\n<td>transaction.details.address_line_1</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Address of customer</td>\n</tr>\n<tr>\n<td>transaction.details.address_line_2</td>\n<td>string</td>\n<td>optional</td>\n<td>Address of customer</td>\n</tr>\n<tr>\n<td>transaction.details.city</td>\n<td>string</td>\n<td>compulsory</td>\n<td>City</td>\n</tr>\n<tr>\n<td>transaction.details.state</td>\n<td>string</td>\n<td>compulsory</td>\n<td>State</td>\n</tr>\n<tr>\n<td>transaction.details.country</td>\n<td>string</td>\n<td>compulsory</td>\n<td>Country</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"response-body-elements\">Response body elements</h4>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Element</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>status</td>\n<td>Standard response. <strong>Successful</strong> or anything else. If the response is <code>WaitingForOTP</code> or <code>PendingValidation</code>, then display the <code>response.message</code>, collect the input from the user and follow with a <code>/transact/validate</code> API call. See <a href=\"https://v2.docs.onepipe.io/?version=latest#b294a37e-e131-4fd3-931b-7868bec36e34\">here</a>.</td>\n</tr>\n<tr>\n<td>message</td>\n<td>A message or description of the response</td>\n</tr>\n<tr>\n<td>data.provider</td>\n<td>The provider that was used to process the request</td>\n</tr>\n<tr>\n<td>data.provider_response_code</td>\n<td>Response code as determined by the underlying provider</td>\n</tr>\n<tr>\n<td>data.provider_response.reference</td>\n<td>A reference from the provider for reconciliation purposes</td>\n</tr>\n<tr>\n<td>data.provider_response.account_number</td>\n<td>The account number of the account that was just generated for the customer</td>\n</tr>\n<tr>\n<td>data.provider_response.contract_code</td>\n<td>The contract code that governs the account from the provider. [optional]</td>\n</tr>\n<tr>\n<td>data.provider_response.account_reference</td>\n<td>A unique reference for the account just opened. If the provider supports this case where account number may be different from the account reference.</td>\n</tr>\n<tr>\n<td>data.provider_response.account_name</td>\n<td>The name on the account just opened. Would very likely be the same name that was passed in <code>name_on_account</code> from the request</td>\n</tr>\n<tr>\n<td>data.provider_response.currency_code</td>\n<td>The currency code of the account</td>\n</tr>\n<tr>\n<td>data.provider_response.customer_email</td>\n<td>Email address on the account just opened</td>\n</tr>\n<tr>\n<td>data.provider_response.bank_name</td>\n<td>Name of the bank where the account was opened</td>\n</tr>\n<tr>\n<td>data.provider_response.bank_code</td>\n<td>CBN code of the bank where the account was opened. See the CBN codes section.</td>\n</tr>\n<tr>\n<td>data.provider_response.account_type</td>\n<td>Some providers will specify a type of the account that was just opened. e.g. <code>CURRENT</code>.</td>\n</tr>\n<tr>\n<td>data.provider_response.status</td>\n<td>States whether the account is active or not. Values will be <code>ACTIVE</code>, <code>INACTIVE</code> or <code>DORMANT</code>.</td>\n</tr>\n<tr>\n<td>data.provider_response.created_on</td>\n<td>Date of creation of the account</td>\n</tr>\n<tr>\n<td>data.provider_response.meta</td>\n<td>A custom object that can hold any extra information the provider deems necessary in key vs value pairs.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"list-of-providers\">List of providers</h4>\n<p>For a list of providers that have published and implemented this service, please see <a href=\"https://onepipe.io/explore/v2?service=open_account\">here</a></p>\n<h4 id=\"common-questions\">Common questions</h4>\n<p><strong>Question</strong>: Why do I need to specify <code>transaction.amount</code>when it's irrelevant here?</p>\n<p><strong>Answer</strong>: OnePipe APIs all try to follow a common standard such that all services require the same exact payload. It's the values within the payload that will then vary, service by service. In this case, just set it to <code>0</code>.</p>\n<p><strong>Question</strong>: What is the <code>meta</code> object in the request and response?</p>\n<p><strong>Answer</strong>: Some providers at times require or return special fields not covered by the standard. If you know what some of these fields and their values are you can set them in the request <code>meta</code> object and read them from the response <code>meta</code> object. Typically though, <code>null</code> is perfectly fine in most cases.</p>\n","urlObject":{"path":["v2","transact"],"host":["https://api.onepipe.io"],"query":[],"variable":[]}},"response":[{"id":"b70cdbc5-3218-4925-ad60-c096260ae9e5","name":"Open Account - Successful","originalRequest":{"method":"POST","header":[{"key":"Authorization","type":"text","value":"Bearer dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"Signature","type":"text","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"Content-Type","name":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"request_ref\": \"85928518230\",\r\n    \"api_key\": \"*********************************\",\r\n    \"request_type\": \"open account\",\r\n    \"request_mode\": null,\r\n    \"ParsedRequestType\": \"open account\",\r\n    \"auth\": {\r\n        \"type\": null,\r\n        \"secure\": null,\r\n        \"auth_provider\": \"CheddaAccount\",\r\n        \"route_mode\": null\r\n    },\r\n    \"transaction\": {\r\n        \"mock_mode\": \"Live\",\r\n        \"transaction_ref\": \"CuQ0YZFC-js-oa\",\r\n        \"transaction_desc\": \"Open Account\",\r\n        \"transaction_ref_parent\": null,\r\n        \"amount\": 0,\r\n        \"customer\": {\r\n            \"customer_ref\": \"234802221412\",\r\n            \"firstname\": \"Ope\",\r\n            \"surname\": \"Adeoye\",\r\n            \"email\": \"ope@onepipe.io\",\r\n            \"mobile_no\": \"234802221412\"\r\n        },\r\n        \"meta\": {\r\n            \"grb_status\": \"pwt-active\",\r\n            \"pwt_item_description\": \"CuQ0YZFC\",\r\n            \"pwt_item_code\": null,\r\n            \"pwt_item_amount\": \"2000\",\r\n            \"referrer\": \"https://pages.onepipe.io/business/page\", \r\n            \"amount\": \"2000\"\r\n        },\r\n        \"details\": {\r\n            \"name_on_account\": \"Ope Adeoye\",\r\n            \"middlename\": null,\r\n            \"dob\": null,\r\n            \"gender\": null,\r\n            \"title\": null,\r\n            \"address_line_1\": null,\r\n            \"address_line_2\": null,\r\n            \"city\": null,\r\n            \"state\": null,\r\n            \"country\": null\r\n        },\r\n        \"options\": null\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.onepipe.io/v2/transact"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 15 May 2020 14:52:10 GMT"},{"key":"Content-Type","value":"application/json; charset=utf-8"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Server","value":"nginx/1.17.8"},{"key":"Vary","value":"Accept-Encoding"},{"key":"Content-Encoding","value":"gzip"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"Successful\",\n    \"message\": \"Request processed successfully\",\n    \"data\": {\n        \"provider_response_code\": \"00\",\n        \"provider\": \"CheddaAccount\",\n        \"errors\": null,\n        \"error\": null,\n        \"provider_response\": {\n            \"reference\": \"CuQ0YZFC-js-oa\",\n            \"account_number\": \"8885360205\",\n            \"contract_code\": null,\n            \"account_reference\": \"CuQ0YZFC-js-oa\",\n            \"account_name\": \"Ope Adeoye\",\n            \"currency_code\": \"NGN\",\n            \"customer_email\": \"ope@onepipe.io\",\n            \"bank_name\": \"SunTrust\",\n            \"bank_code\": \"100\",\n            \"account_type\": null,\n            \"status\": \"ACTIVE\",\n            \"created_on\": \"2021-10-14-21-43-17\",\n            \"meta\": {\n                \"alt_accounts\": [\n                    {\n                        \"reference\": \"CuQ0YZFC-js-oa\",\n                        \"account_number\": \"1006111616\",\n                        \"contract_code\": null,\n                        \"account_reference\": \"CuQ0YZFC-js-oa\",\n                        \"account_name\": \"Ope Adeoye\",\n                        \"currency_code\": \"NGN\",\n                        \"customer_email\": \"ope@onepipe.io\",\n                        \"bank_name\": \"VBank\",\n                        \"bank_code\": \"566\",\n                        \"account_type\": null,\n                        \"status\": \"ACTIVE\",\n                        \"created_on\": \"2021-10-14-21-43-17\"\n                    },\n                    {\n                        \"reference\": \"CuQ0YZFC-js-oa\",\n                        \"account_number\": \"5835688743\",\n                        \"contract_code\": null,\n                        \"account_reference\": \"CuQ0YZFC-js-oa\",\n                        \"account_name\": \"Ope Adeoye\",\n                        \"currency_code\": \"NGN\",\n                        \"customer_email\": \"ope@onepipe.io\",\n                        \"bank_name\": \"SUPPORT MFB\",\n                        \"bank_code\": \"295\",\n                        \"account_type\": null,\n                        \"status\": \"ACTIVE\",\n                        \"created_on\": \"2021-10-14-21-43-17\"\n                    }\n                ]\n            }\n        },\n        \"client_info\": null\n    }\n}"}],"_postman_id":"b52128e7-6768-44b1-8b92-0b6b39356486"},{"name":"Notification (payment completion) - Multibank","event":[{"listen":"test","script":{"id":"efd03a37-88ed-443d-b759-4153c191a1fd","exec":[""],"type":"text/javascript"}},{"listen":"prerequest","script":{"id":"9c35ccc5-8681-4140-9344-246989f3d1d1","exec":[""],"type":"text/javascript"}}],"id":"02117902-1d6b-442f-a566-a1460f604627","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","type":"text","value":"application/json"},{"key":"Signature","type":"text","value":" {{MD5Hash(request_ref;app_secret)}}"}],"body":{"mode":"raw","raw":"{\r\n    \"details\": {\r\n        \"data\": {\r\n            \"data\": {\r\n                \"id\": 0,\r\n                \"Amount\": 20,\r\n                \"Status\": \"COMPLETED\",\r\n                \"CreatedOn\": \"2021-10-14T23:06:22.863\",\r\n                \"Narration\": \"8885360205 TRF//FRM OPEYEMI ABIDEMI ADEOYE TO OSL\",\r\n                \"SessionId\": \"000014211014224636234606839382\",\r\n                \"UpdatedOn\": \"2021-10-14T23:06:22.863\",\r\n                \"MerchantId\": \"3\",\r\n                \"ChannelCode\": \"3\",\r\n                \"OriginatorBVN\": \"22148114258\",\r\n                \"NameEnquiryRef\": \"000014211014224615296176041137\",\r\n                \"PaymentReference\": \"VNM8928141741950155\",\r\n                \"OriginatorKYCLevel\": \"3\",\r\n                \"BeneficiaryKYCLevel\": \"3\",\r\n                \"DestInstitutionCode\": \"000022\",\r\n                \"TransactionLocation\": \"6.620471,3.346609\",\r\n                \"OriginatorAccountName\": \"OPEYEMI ABIDEMI ADEOYE\",\r\n                \"BeneficiaryAccountName\": \"OSL - Ope Adeoye\",\r\n                \"OriginatorAccountNumber\": \"0702216990\",\r\n                \"BeneficiaryAccountNumber\": \"8885360205\",\r\n                \"MerchantCollectionAccount\": \"0002514685\",\r\n                \"BeneficiaryBankVerificationNumber\": \"22143824792\"\r\n            },\r\n            \"bank_code\": \"100\",\r\n            \"account_number\": \"8885360205\"\r\n        },\r\n        \"meta\": {\r\n            \"route\": \"listener\",\r\n            \"source\": \"OneWallet\",\r\n            \"publish\": false,\r\n            \"grb_status\": \"pwt-active\",\r\n            \"lock_account\": false,\r\n            \"transaction_date\": \"2021-10-14-23-06-22\",\r\n            \"honour_provider_extension\": true\r\n        },\r\n        \"amount\": 2000,\r\n        \"status\": \"Successful\",\r\n        \"provider\": \"CheddaAccount\",\r\n        \"customer_ref\": \"ope@onepipe.io\",\r\n        \"customer_email\": \"ope@onepipe.io\",\r\n        \"transaction_ref\": \"000014211014224636234606839382_MDT\",\r\n        \"customer_surname\": \"Adeoye\",\r\n        \"transaction_desc\": \"8885360205 TRF//FRM OPEYEMI ABIDEMI ADEOYE TO OSL\",\r\n        \"transaction_type\": \"collect\",\r\n        \"customer_firstname\": \"Ope\",\r\n        \"customer_mobile_no\": \"2348022221412\"\r\n    },\r\n    \"app_info\": {\r\n        \"app_code\": \"DEFD582512\"\r\n    },\r\n    \"mock_mode\": \"Live\",\r\n    \"requester\": \"CheddaAccount\",\r\n    \"request_ref\": \"3291631b-30ec-4a5a-8d58-8f5f00e82141\",\r\n    \"request_type\": \"transaction_notification\"\r\n}"},"url":"","description":"<h2 id=\"a-use-case\">A use case</h2>\n<p>Notifications are useful for a new wave of payment approaches that businesses are starting to explore:</p>\n<ol>\n<li>Open an account and map it to a customer or specific transaction. <a href=\"#4bd34b48-f824-465d-91fa-3cb16ca859b5\">See Account Opening</a></li>\n<li>Ask customers to transfer to that account</li>\n<li>Get notified once a credit or debit hits that account</li>\n<li>Process the service that the customer was supposed to pay for</li>\n<li>Monies are \"swept\" from that account into yours after a while.</li>\n</ol>\n<p>With this, you'd expose a webhook url, that will receive a <code>POST</code> message from OnePipe upon a credit or debit activity on an account that you have access to. </p>\n<h2 id=\"another-use-case\">Another use case</h2>\n<p>On OnePipe, we have created several solutions like our <strong>SImple Payments</strong> platform and our <strong>Grassroots Banking</strong> platform. On these solutions, customers can make payment to you. This notification is used to inform your system that such payments have just been completed so you can take necessary action. You can see this scenario at play <a href=\"https://youtu.be/qlDmdCDd5go?t=242\">here</a>.</p>\n<p>For this, you'd expose a webhook url, that will receive a <code>POST</code> message from OnePipe upon a credit or debit activity on an account that you have access to. </p>\n<p>First, you have to setup your webhook url on the OnePipe console.</p>\n<p><img src=\"http://www.onepipe.io/docs/webhook.png\" alt=\"Setting up your  webhook\" /></p>\n<p>Upon receiving the message, please respond with a <code>200 - OK</code>.</p>\n<h4 id=\"request-body-elements\">Request body elements</h4>\n<p>Here is the explanation of the fields you would receive.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Element</th>\n<th>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>request_ref</td>\n<td>A unique reference for this specific API call. It would have been uniquely generated by OnePipe for every single call</td>\n</tr>\n<tr>\n<td>request_type</td>\n<td>In this case it would be set to '<code>transaction_notification</code>'.</td>\n</tr>\n<tr>\n<td>requester</td>\n<td>This would be set to <code>{{Simple Payments}}</code> if coming from the Simple Payments product. And set to <code>{{GRB}}</code> if coming from the Grassroots Banking product.</td>\n</tr>\n<tr>\n<td>mock_mode</td>\n<td>Here, you will receive <code>Live</code> for live transactions and <code>Inspect</code> for test transactions.</td>\n</tr>\n<tr>\n<td>details.amount</td>\n<td>Amount in kobo</td>\n</tr>\n<tr>\n<td>details.transaction_type</td>\n<td>This will come to you as <code>collect</code> since you are receiving an inflow.</td>\n</tr>\n<tr>\n<td>details.provider</td>\n<td>This will contain <code>{{Provider Name}}</code> that was used to process the payment.</td>\n</tr>\n<tr>\n<td>details.transaction_ref</td>\n<td>A unique reference for this specific transaction.</td>\n</tr>\n<tr>\n<td>details.customer_ref</td>\n<td>A unique reference with which you identify this customer on your systems.</td>\n</tr>\n<tr>\n<td>details.customer_firstname</td>\n<td>First name of the customer</td>\n</tr>\n<tr>\n<td>details.customer_surname</td>\n<td>Surname of the customer</td>\n</tr>\n<tr>\n<td>details.customer_email</td>\n<td>Email address of the customer</td>\n</tr>\n<tr>\n<td>details.customer_mobile_no</td>\n<td>Mobile number of the customer</td>\n</tr>\n<tr>\n<td>data</td>\n<td>A JSON object representing some of the details of the payment like invoice number and other miscellanous information.</td>\n</tr>\n<tr>\n<td>app_info.app_code</td>\n<td>Your application identifier on OnePipe</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>NOTE</strong>: You will also recieve <code>Signature</code> header with which you can authenticate that the call came from OnePipe. Please see information on how the <code>Signature</code> header is computed <a href=\"#the-headers\">here</a> </p>\n<hr />\n","urlObject":{"query":[],"variable":[]}},"response":[{"id":"d9d90c41-2b26-4433-925c-aa5604d77d52","name":"Transaction Notification - success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Signature","value":" {{MD5Hash(request_ref;app_secret)}}","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"details\": {\r\n        \"data\": {\r\n            \"data\": {\r\n                \"id\": 0,\r\n                \"Amount\": 20,\r\n                \"Status\": \"COMPLETED\",\r\n                \"CreatedOn\": \"2021-10-14T23:06:22.863\",\r\n                \"Narration\": \"8885360205 TRF//FRM OPEYEMI ABIDEMI ADEOYE TO OSL\",\r\n                \"SessionId\": \"000014211014224636234606839382\",\r\n                \"UpdatedOn\": \"2021-10-14T23:06:22.863\",\r\n                \"MerchantId\": \"3\",\r\n                \"ChannelCode\": \"3\",\r\n                \"OriginatorBVN\": \"22148114258\",\r\n                \"NameEnquiryRef\": \"000014211014224615296176041137\",\r\n                \"PaymentReference\": \"VNM8928141741950155\",\r\n                \"OriginatorKYCLevel\": \"3\",\r\n                \"BeneficiaryKYCLevel\": \"3\",\r\n                \"DestInstitutionCode\": \"000022\",\r\n                \"TransactionLocation\": \"6.620471,3.346609\",\r\n                \"OriginatorAccountName\": \"OPEYEMI ABIDEMI ADEOYE\",\r\n                \"BeneficiaryAccountName\": \"OSL - Ope Adeoye\",\r\n                \"OriginatorAccountNumber\": \"0702216990\",\r\n                \"BeneficiaryAccountNumber\": \"8885360205\",\r\n                \"MerchantCollectionAccount\": \"0002514685\",\r\n                \"BeneficiaryBankVerificationNumber\": \"22143824792\"\r\n            },\r\n            \"bank_code\": \"100\",\r\n            \"account_number\": \"8885360205\"\r\n        },\r\n        \"meta\": {\r\n            \"route\": \"listener\",\r\n            \"source\": \"OneWallet\",\r\n            \"publish\": false,\r\n            \"grb_status\": \"pwt-active\",\r\n            \"lock_account\": false,\r\n            \"transaction_date\": \"2021-10-14-23-06-22\",\r\n            \"honour_provider_extension\": true\r\n        },\r\n        \"amount\": 2000,\r\n        \"status\": \"Successful\",\r\n        \"provider\": \"CheddaAccount\",\r\n        \"customer_ref\": \"ope@onepipe.io\",\r\n        \"customer_email\": \"ope@onepipe.io\",\r\n        \"transaction_ref\": \"000014211014224636234606839382_MDT\",\r\n        \"customer_surname\": \"Adeoye\",\r\n        \"transaction_desc\": \"8885360205 TRF//FRM OPEYEMI ABIDEMI ADEOYE TO OSL\",\r\n        \"transaction_type\": \"collect\",\r\n        \"customer_firstname\": \"Ope\",\r\n        \"customer_mobile_no\": \"234802221412\"\r\n    },\r\n    \"app_info\": {\r\n        \"app_code\": \"DEFD582512\"\r\n    },\r\n    \"mock_mode\": \"Live\",\r\n    \"requester\": \"CheddaAccount\",\r\n    \"request_ref\": \"3291631b-30ec-4a5a-8d58-8f5f00e82141\",\r\n    \"request_type\": \"transaction_notification\"\r\n}","options":{"raw":{"language":"json"}}},"url":""},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[],"cookie":[],"responseTime":null,"body":""}],"_postman_id":"02117902-1d6b-442f-a566-a1460f604627"}],"id":"eeeddbcd-eac7-47f0-8d85-5d15c5a56dd1","_postman_id":"eeeddbcd-eac7-47f0-8d85-5d15c5a56dd1","description":""}],"id":"219ee2df-8a60-49dc-82a3-928ee058e692","_postman_id":"219ee2df-8a60-49dc-82a3-928ee058e692","description":""}],"id":"f93c7a0f-90b8-4cf2-9dcf-ebc7b6aa3912","_postman_id":"f93c7a0f-90b8-4cf2-9dcf-ebc7b6aa3912","description":""}],"id":"a10de2d9-947a-4a7a-8dfc-6a988fe2c0b6","description":"<hr />\n<p>For a detailed breakdown of all the services published on OnePipe, see below</p>\n<hr />\n","_postman_id":"a10de2d9-947a-4a7a-8dfc-6a988fe2c0b6"},{"name":"The Future","item":[],"id":"5601ebb5-05ea-4395-82a4-0fac303b5ccc","description":"<h1 id=\"universal-banking-interface\">Universal Banking Interface</h1>\n<p>In the future, as long as a bank has implemented a standard (let's call this standard the <code>Universal Banking Interface</code>), any merchant globally can call the bank's UBI interface directly with the payload below.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"request_ref\": \"111111111\",\n    \"request_type\": \"collect\",\n    \"auth\": {\n        \"type\": \"bank.account\",\n        \"secure\": \"{{TripleDES.encrypt(\"{accountNumber};{bankUBICode}\",secretKey)}}\",\n        \"auth_provider\": \"PaywithAccount | {bankProvider} | {bankUBICode}\"\n    },\n    \"transaction\": {\n        \"mock_mode\": \"live\",\n        \"transaction_ref\": \"{{transaction-ref}}\",\n        \"transaction_desc\": \"Checkout #12098 at Koko Below\",\n        \"transaction_ref_parent\": null,\n        \"amount\": 111,\n        \"customer\": {\n            \"customer_ref\": \"2349060070818\",\n            \"firstname\": \"Akin\",\n            \"surname\": \"Olunloye\",\n            \"email\": \"akin@kokobelow.io\",\n            \"mobile_no\": \"2349066000818\"\n        },\n        \"meta\": {\n          \"transaction_currency\": \"USD\",\n          \"transaction_order_ref\": \"0987654321\",\n          \"transaction_custom_info\": \"The shoes you ordered on Jan 14th\",\n          \"transaction_source\": \"kokobelow.com\",\n          \"transaction_callback_url\": \"kokobelow.com/callback?ref=0987654321\",\n          \"transaction_source_longitude\": \"123455.09\",\n          \"transaction_source_latitude\": \"123455.09\",\n          \"customer_name_on_account\": \"Akin Olunloye\",\n          \"merchant_business_name\": \"Koko Below Inc.\",\n          \"merchant_address_apartment_number\": \"2b\",\n          \"merchant_address_building_number\": \"189\",\n          \"merchant_address_street\": \"Fenway Street\",\n          \"merchant_address_area\": \"Fenway County\",\n          \"merchant_address_city\": \"Fenway\",\n          \"merchant_address_postcode\": \"100822\",\n          \"merchant_address_country_code\": \"USA\",\n          \"merchant_business_registration_number\": \"0987654321\",\n          \"merchant_contact_email\": \"who@globalmerchant.com\",\n          \"merchant_phone_number\": \"+1234543234\"\n        },\n        \"details\": {}\n    }\n}\n\n</code></pre>\n<p>The transaction will be processed from the bank's customer's bank account and credited to the merchant's store of value in that bank.</p>\n<p>The UBI standard will also require banks to provide a web interface through which merchants can request access to UBI and track all payments they have received into their store of value. Merchants will also be able to request payout from the balances in their store of value to their own bank account in any other bank or country (subject to their host bank's risk rules and pricing).</p>\n<hr />\n<p>This would require such merchants to be onboarded by the bank, following whatever processes they define, but the API and workflow would be uniform.</p>\n<hr />\n<p>For merchants not willing to go through the hassle of onboarding with every bank of interest, they can onboard on <a href=\"https://paywithaccount.com\">Paywithaccount.com</a>, enable UBI payments and then direct their calls to PaywithAccount's UBI endpoint for onwards routing. This will cost a bit more and has different rules for settlement and risk assessment.</p>\n<hr />\n<p>This is the ultimate expression of the <a href=\"#the-principles-behind-onepipe\">original OnePipe vision</a> - as adapted for payments processing. PLEASE NOTE: This is still in concept stage...</p>\n<hr />\n<h4 id=\"authorizing-transactions\">Authorizing transactions</h4>\n<p>Banks will get customers' consents for the debit using any method they find suitable. Including, but not limited to:</p>\n<ol>\n<li><p>Push notification, so customers' can authorize</p>\n</li>\n<li><p>IVR call, so customers' can authorize</p>\n</li>\n<li><p>OTP, so customers' can authorize</p>\n</li>\n<li><p>Instant authorization without dedicated realtime consent request based on risk parameters or a standing mandate with the customer</p>\n</li>\n<li><p>Etc</p>\n</li>\n</ol>\n<h4 id=\"response-management\">Response management</h4>\n<ul>\n<li><p>Merchants will receive a standard OnePipe <code>Successful</code> response if everything went well in realtime.</p>\n</li>\n<li><p>Merchants will receive a standard OnePipe <code>Failed</code> response if it fails outright.</p>\n</li>\n<li><p>For everything else in between, e.g. <code>Processing</code>, (because consent request has been sent to the customer of the bank) merchants will listen on their <code>transaction_callback_url</code> for events and next action.</p>\n</li>\n</ul>\n<p>The response merchants receive will include further information like:</p>\n<ol>\n<li><p>Expected settlement timelines</p>\n</li>\n<li><p>Applied exchange rates</p>\n</li>\n<li><p>Authorization method that was used by the customer</p>\n</li>\n<li><p>Risk assessment</p>\n</li>\n<li><p>Etc.</p>\n</li>\n</ol>\n<hr />\n<h4 id=\"bringing-banks-into-ubi\">Bringing banks into UBI</h4>\n<p>OnePipe will partner with banks to help them deploy a UBI implementation with which they can service and acquire customers directly</p>\n<h4 id=\"paywithaccount-as-a-proxy\">PaywithAccount as a proxy</h4>\n<p>All banks will have rules, pricing and onboarding processes that may not be the fastest.</p>\n<p>PaywithAccount is a product of OnePipe that fully expresses the proposition of a2a payments and integrates to UBI endpoints.</p>\n<p>Therefore, OnePipe will onboard PaywithAccount as a merchant aggregator with every bank that partners with us. Which will result in the following:</p>\n<ol>\n<li><p>PaywithAccount will fulfil all their risk assessment parameters</p>\n</li>\n<li><p>Merchants will onboard on PaywithAccount</p>\n</li>\n<li><p>Merchants will send their API calls to PaywithAccount's UBI endpoint for onward routing</p>\n</li>\n<li><p>PaywithAccount will provide merchants with a store of value to show their collection balances</p>\n</li>\n<li><p>Merchants will be able to payout to their own account from PaywithAccount</p>\n</li>\n</ol>\n","_postman_id":"5601ebb5-05ea-4395-82a4-0fac303b5ccc"}],"event":[{"listen":"prerequest","script":{"id":"cc024ed3-3416-4515-b905-1a51692df87d","type":"text/javascript","exec":["//import the MD5 hashing function","eval(pm.variables.get(\"md5\"));","","//Autogenerate request-ref and transaction-ref","var min = 10000000000000;","var max = 99999999999999;","var transRef = (Math.random() * (max - min) + min).round().toString();","var reqRef = transRef + '01';","pm.variables.set(\"request-ref\", reqRef);","pm.variables.set(\"transaction-ref\", transRef);","pm.variables.set(\"signature\", MD5(reqRef + ';' + pm.variables.get(\"secret-key\")));",""]}},{"listen":"test","script":{"id":"d592c128-dbbb-4005-8c12-6f25f7d2f6d9","type":"text/javascript","exec":[""]}}],"variable":[{"key":"url","value":"https://api.onepipe.io"},{"key":"api-key","value":"dthEjKlKSL30mNVwbpne_0e1a5973b7a2430bbc6d2f6032ea17f1"},{"key":"secret-key","value":"VCvHjeclqmq5pszw"},{"key":"signature","value":"3a2b58350e8068507e6b5bff106850a5"},{"key":"request-ref","value":"111111111"},{"key":"transaction_ref","value":"998383938292"},{"key":"md5","value":"/**\n*\n*  MD5 (Message-Digest Algorithm)\n*  http://www.webtoolkit.info/\n*\n**/\n \nvar MD5 = function (string) {\n    function RotateLeft(lValue, iShiftBits) {\n        return (lValue<<iShiftBits) | (lValue>>>(32-iShiftBits));\n    }\n    function AddUnsigned(lX,lY) {\n        var lX4,lY4,lX8,lY8,lResult;\n        lX8 = (lX & 0x80000000);\n        lY8 = (lY & 0x80000000);\n        lX4 = (lX & 0x40000000);\n        lY4 = (lY & 0x40000000);\n        lResult = (lX & 0x3FFFFFFF)+(lY & 0x3FFFFFFF);\n        if (lX4 & lY4) {\n            return (lResult ^ 0x80000000 ^ lX8 ^ lY8);\n        }\n        if (lX4 | lY4) {\n            if (lResult & 0x40000000) {\n                return (lResult ^ 0xC0000000 ^ lX8 ^ lY8);\n            } else {\n                return (lResult ^ 0x40000000 ^ lX8 ^ lY8);\n            }\n        } else {\n            return (lResult ^ lX8 ^ lY8);\n        }\n     }\n     function F(x,y,z) { return (x & y) | ((~x) & z); }\n     function G(x,y,z) { return (x & z) | (y & (~z)); }\n     function H(x,y,z) { return (x ^ y ^ z); }\n    function I(x,y,z) { return (y ^ (x | (~z))); }\n    function FF(a,b,c,d,x,s,ac) {\n        a = AddUnsigned(a, AddUnsigned(AddUnsigned(F(b, c, d), x), ac));\n        return AddUnsigned(RotateLeft(a, s), b);\n    };\n    function GG(a,b,c,d,x,s,ac) {\n        a = AddUnsigned(a, AddUnsigned(AddUnsigned(G(b, c, d), x), ac));\n        return AddUnsigned(RotateLeft(a, s), b);\n    };\n \n    function HH(a,b,c,d,x,s,ac) {\n        a = AddUnsigned(a, AddUnsigned(AddUnsigned(H(b, c, d), x), ac));\n        return AddUnsigned(RotateLeft(a, s), b);\n    };\n \n    function II(a,b,c,d,x,s,ac) {\n        a = AddUnsigned(a, AddUnsigned(AddUnsigned(I(b, c, d), x), ac));\n        return AddUnsigned(RotateLeft(a, s), b);\n    };\n \n    function ConvertToWordArray(string) {\n        var lWordCount;\n        var lMessageLength = string.length;\n        var lNumberOfWords_temp1=lMessageLength + 8;\n        var lNumberOfWords_temp2=(lNumberOfWords_temp1-(lNumberOfWords_temp1 % 64))/64;\n        var lNumberOfWords = (lNumberOfWords_temp2+1)*16;\n        var lWordArray=Array(lNumberOfWords-1);\n        var lBytePosition = 0;\n        var lByteCount = 0;\n        while ( lByteCount < lMessageLength ) {\n            lWordCount = (lByteCount-(lByteCount % 4))/4;\n            lBytePosition = (lByteCount % 4)*8;\n            lWordArray[lWordCount] = (lWordArray[lWordCount] | (string.charCodeAt(lByteCount)<<lBytePosition));\n            lByteCount++;\n        }\n        lWordCount = (lByteCount-(lByteCount % 4))/4;\n        lBytePosition = (lByteCount % 4)*8;\n        lWordArray[lWordCount] = lWordArray[lWordCount] | (0x80<<lBytePosition);\n        lWordArray[lNumberOfWords-2] = lMessageLength<<3;\n        lWordArray[lNumberOfWords-1] = lMessageLength>>>29;\n        return lWordArray;\n    };\n \n    function WordToHex(lValue) {\n        var WordToHexValue=\"\",WordToHexValue_temp=\"\",lByte,lCount;\n        for (lCount = 0;lCount<=3;lCount++) {\n            lByte = (lValue>>>(lCount*8)) & 255;\n            WordToHexValue_temp = \"0\" + lByte.toString(16);\n            WordToHexValue = WordToHexValue + WordToHexValue_temp.substr(WordToHexValue_temp.length-2,2);\n        }\n        return WordToHexValue;\n    };\n \n    function Utf8Encode(string) {\n        string = string.replace(/\\r\\n/g,\"\\n\");\n        var utftext = \"\";\n \n        for (var n = 0; n < string.length; n++) {\n \n            var c = string.charCodeAt(n);\n \n            if (c < 128) {\n                utftext += String.fromCharCode(c);\n            }\n            else if((c > 127) && (c < 2048)) {\n                utftext += String.fromCharCode((c >> 6) | 192);\n                utftext += String.fromCharCode((c & 63) | 128);\n            }\n            else {\n                utftext += String.fromCharCode((c >> 12) | 224);\n                utftext += String.fromCharCode(((c >> 6) & 63) | 128);\n                utftext += String.fromCharCode((c & 63) | 128);\n            }\n \n        }\n \n        return utftext;\n    };\n \n    var x=Array();\n    var k,AA,BB,CC,DD,a,b,c,d;\n    var S11=7, S12=12, S13=17, S14=22;\n    var S21=5, S22=9 , S23=14, S24=20;\n    var S31=4, S32=11, S33=16, S34=23;\n    var S41=6, S42=10, S43=15, S44=21;\n \n    string = Utf8Encode(string);\n \n    x = ConvertToWordArray(string);\n \n    a = 0x67452301; b = 0xEFCDAB89; c = 0x98BADCFE; d = 0x10325476;\n \n    for (k=0;k<x.length;k+=16) {\n        AA=a; BB=b; CC=c; DD=d;\n        a=FF(a,b,c,d,x[k+0], S11,0xD76AA478);\n        d=FF(d,a,b,c,x[k+1], S12,0xE8C7B756);\n        c=FF(c,d,a,b,x[k+2], S13,0x242070DB);\n        b=FF(b,c,d,a,x[k+3], S14,0xC1BDCEEE);\n        a=FF(a,b,c,d,x[k+4], S11,0xF57C0FAF);\n        d=FF(d,a,b,c,x[k+5], S12,0x4787C62A);\n        c=FF(c,d,a,b,x[k+6], S13,0xA8304613);\n        b=FF(b,c,d,a,x[k+7], S14,0xFD469501);\n        a=FF(a,b,c,d,x[k+8], S11,0x698098D8);\n        d=FF(d,a,b,c,x[k+9], S12,0x8B44F7AF);\n        c=FF(c,d,a,b,x[k+10],S13,0xFFFF5BB1);\n        b=FF(b,c,d,a,x[k+11],S14,0x895CD7BE);\n        a=FF(a,b,c,d,x[k+12],S11,0x6B901122);\n        d=FF(d,a,b,c,x[k+13],S12,0xFD987193);\n        c=FF(c,d,a,b,x[k+14],S13,0xA679438E);\n        b=FF(b,c,d,a,x[k+15],S14,0x49B40821);\n        a=GG(a,b,c,d,x[k+1], S21,0xF61E2562);\n        d=GG(d,a,b,c,x[k+6], S22,0xC040B340);\n        c=GG(c,d,a,b,x[k+11],S23,0x265E5A51);\n        b=GG(b,c,d,a,x[k+0], S24,0xE9B6C7AA);\n        a=GG(a,b,c,d,x[k+5], S21,0xD62F105D);\n        d=GG(d,a,b,c,x[k+10],S22,0x2441453);\n        c=GG(c,d,a,b,x[k+15],S23,0xD8A1E681);\n        b=GG(b,c,d,a,x[k+4], S24,0xE7D3FBC8);\n        a=GG(a,b,c,d,x[k+9], S21,0x21E1CDE6);\n        d=GG(d,a,b,c,x[k+14],S22,0xC33707D6);\n        c=GG(c,d,a,b,x[k+3], S23,0xF4D50D87);\n        b=GG(b,c,d,a,x[k+8], S24,0x455A14ED);\n        a=GG(a,b,c,d,x[k+13],S21,0xA9E3E905);\n        d=GG(d,a,b,c,x[k+2], S22,0xFCEFA3F8);\n        c=GG(c,d,a,b,x[k+7], S23,0x676F02D9);\n        b=GG(b,c,d,a,x[k+12],S24,0x8D2A4C8A);\n        a=HH(a,b,c,d,x[k+5], S31,0xFFFA3942);\n        d=HH(d,a,b,c,x[k+8], S32,0x8771F681);\n        c=HH(c,d,a,b,x[k+11],S33,0x6D9D6122);\n        b=HH(b,c,d,a,x[k+14],S34,0xFDE5380C);\n        a=HH(a,b,c,d,x[k+1], S31,0xA4BEEA44);\n        d=HH(d,a,b,c,x[k+4], S32,0x4BDECFA9);\n        c=HH(c,d,a,b,x[k+7], S33,0xF6BB4B60);\n        b=HH(b,c,d,a,x[k+10],S34,0xBEBFBC70);\n        a=HH(a,b,c,d,x[k+13],S31,0x289B7EC6);\n        d=HH(d,a,b,c,x[k+0], S32,0xEAA127FA);\n        c=HH(c,d,a,b,x[k+3], S33,0xD4EF3085);\n        b=HH(b,c,d,a,x[k+6], S34,0x4881D05);\n        a=HH(a,b,c,d,x[k+9], S31,0xD9D4D039);\n        d=HH(d,a,b,c,x[k+12],S32,0xE6DB99E5);\n        c=HH(c,d,a,b,x[k+15],S33,0x1FA27CF8);\n        b=HH(b,c,d,a,x[k+2], S34,0xC4AC5665);\n        a=II(a,b,c,d,x[k+0], S41,0xF4292244);\n        d=II(d,a,b,c,x[k+7], S42,0x432AFF97);\n        c=II(c,d,a,b,x[k+14],S43,0xAB9423A7);\n        b=II(b,c,d,a,x[k+5], S44,0xFC93A039);\n        a=II(a,b,c,d,x[k+12],S41,0x655B59C3);\n        d=II(d,a,b,c,x[k+3], S42,0x8F0CCC92);\n        c=II(c,d,a,b,x[k+10],S43,0xFFEFF47D);\n        b=II(b,c,d,a,x[k+1], S44,0x85845DD1);\n        a=II(a,b,c,d,x[k+8], S41,0x6FA87E4F);\n        d=II(d,a,b,c,x[k+15],S42,0xFE2CE6E0);\n        c=II(c,d,a,b,x[k+6], S43,0xA3014314);\n        b=II(b,c,d,a,x[k+13],S44,0x4E0811A1);\n        a=II(a,b,c,d,x[k+4], S41,0xF7537E82);\n        d=II(d,a,b,c,x[k+11],S42,0xBD3AF235);\n        c=II(c,d,a,b,x[k+2], S43,0x2AD7D2BB);\n        b=II(b,c,d,a,x[k+9], S44,0xEB86D391);\n        a=AddUnsigned(a,AA);\n        b=AddUnsigned(b,BB);\n        c=AddUnsigned(c,CC);\n        d=AddUnsigned(d,DD);\n    }\n \n    var temp = WordToHex(a)+WordToHex(b)+WordToHex(c)+WordToHex(d);\n \n    return temp.toLowerCase();\n}"},{"key":"auth.bvn","value":"X90WY3DRBQQehrv9FzvA4hlExLEj3eTW"},{"key":"encrypted_secure","value":"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs="},{"key":"customer_id","value":"DemoApp_Customer007"},{"key":"auth.provider_token","value":"0fpTYIXjz6CjN/0GBMXeB9o5IcPLwv/vcfBoVuljtvAeuGBISQlgXQ=="},{"key":"auth.voucher","value":"F1hegsnM2AXJpLaO5xymeX6bAXYjX3IJYG5rFY3EZ7c="},{"key":"auth.airtime","value":"FQe5fwTp2fL40gSMuEyqh2xTt8Wq1+F7nOPpmoQEbBw="},{"key":"auth.wallet","value":"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs="},{"key":"auth.secure.card","value":"zmy+k26tJMpjYuFfRUMCcJTAlWQVSKu8Vr9fhbfP1fo9toqiTLdp+UU1Kj7Y0HYAvS36BNL/zux8jFkPHX0vlYBiaqdXXS2E"},{"key":"auth.bank.account","value":"s2LsV7Ka2mi6SLbjuDIVmrxANCldBJFxAZ5Y0ckQnXs="},{"key":"otp","value":"X90WY3DRBQQehrv9FzvA4hlExLEj3eTW"},{"key":"wallet_code","value":"09099900"}]}