{"info":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","description":"<html><head></head><body><h1 id=\"overview\">Overview</h1>\n<p>Fundstream is a payment gateway optimization and intelligence service that merchants can use to provide a remote and frictionless payment experience.</p>\n<p>This documentation will help you get started with integrating Fundstream but if you have any questions</p>\n<p>Please be advised that our support team is only available during standard business hours.</p>\n<h1 id=\"environments\">Environments</h1>\n<hr>\n<p>These are the BaseUrls for the APIs on different environments:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Environment</strong></th>\n<th><strong>Base URL</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Production</td>\n<td><a href=\"https://app.thefundstream.org/\">https://app.thefundstream.org/api/v1</a></td>\n</tr>\n<tr>\n<td>Sandbox</td>\n<td><a href=\"https://app.thefundstream.org/\">https://app.thefundstream.org/api/v1</a></td>\n</tr>\n</tbody>\n</table>\n</div></body></html>","schema":"https://schema.getpostman.com/json/collection/v2.0.0/collection.json","toc":[{"content":"Overview","slug":"overview"},{"content":"Environments","slug":"environments"}],"owner":"39165315","collectionId":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","publishedId":"2sB2j69Vvr","public":true,"customColor":{"top-bar":"FFFFFF","right-sidebar":"303030","highlight":"379DC1"},"publishDate":"2025-05-06T10:15:40.000Z"},"item":[{"name":"⚙️ Integration Steps","item":[],"id":"8e3f451d-8f9a-4d73-9ec2-e62968135e23","description":"<p>To start integrating you should already have your Merchant access to our admin portal and sandbox credentials which you will need to complete the integration.</p>\n<h1 id=\"1-setup--check-merchant-detail\">1. Setup &amp; check merchant detail</h1>\n<p>The first step in getting your integration ready is to check whether all the details about you as a merchant are correct on our Merchant portal. If you detect anomalies, then please contact your client support executive.</p>\n<p>Start with sandbox mode (see top right-hand corner on your merchant porta to toggle between modes) and create 3 items on your dashboard</p>\n<ol>\n<li><p>API Key - necessary to send transactions via API</p>\n</li>\n<li><p>Brand ID - needed to send transaction. Use different brand IDs for different shops or brands.</p>\n</li>\n<li><p>Webhook - recommended to get notifications from our server to your server to inform you of transaction status changes and notifications about transactions. You can check all the details of how our webhooks work on the Webhooks page.</p>\n</li>\n</ol>\n<h1 id=\"2-test-the-integration-in-sandbox-mode\">2. Test the integration in Sandbox Mode</h1>\n<p>After finishing your integration, make sure your code is working as intended and test the purchase flow in the staging environment.</p>\n<h3 id=\"testing-credentials-only-on-sandbox-mode\">Testing Credentials (only on Sandbox mode)</h3>\n<p>You have the opportunity to test all APIs by performing a test Purchase. To facilitate testing payments, you may utilize the following card numbers:</p>\n<ul>\n<li><p><strong>Card number:</strong> 4444 3333 2222 1111 or 5555 5555 5555 4444</p>\n</li>\n<li><p><strong>Name</strong>: any cardholder name</p>\n</li>\n<li><p><strong>Expiry Date</strong>: any expiry larger or equal to the current month/year</p>\n</li>\n<li><p><strong>CVC</strong>: 345</p>\n</li>\n</ul>\n<h1 id=\"3-create-and-test-credentials-on-the-live-mode\">3. Create and test credentials on the Live Mode</h1>\n<p>After finishing your integration in sandbox mode, create the 3 items mentioned in step one on the live mode as well and test the integration using small amounts to see everything is working.</p>\n<h1 id=\"4-go-live\">4. Go live!</h1>\n<p>Just let the team know when that will be so that we can work with you to get everything done.</p>\n","_postman_id":"8e3f451d-8f9a-4d73-9ec2-e62968135e23","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}}},{"name":"🔌 Webhooks","item":[],"id":"fa90c8d2-e08a-442c-b9a2-f386d9720fac","description":"<p>To receive information about various transaction status and events, you will need to set up an endpoint which accepts payloads sent by Fundstream. Your endpoint will receive POST requests with content-type application/json.</p>\n<h2 id=\"configuring-the-webhook-endpoint\">Configuring the webhook endpoint</h2>\n<p>The webhook endpoint can be set up on <code>Partner Dashboard -&gt; Webhooks -&gt; New Webhook</code>. Make sure you save the endpoint by clicking \"Create\".</p>\n<blockquote>\n<p>Fundstream will post all payloads to the specified URL; if there are any issues with delivering the payload, it will not be resent. </p>\n</blockquote>\n<img src=\"https://content.pstmn.io/7d4c975a-4726-4e5e-8638-0fb1f08e8ae0/VUdGNVUyVmpkWEpsTFZkbFltaHZiMnN1Y0c1bi5wbmc=\" />\n\n<h2 id=\"note\">Note:</h2>\n<p>You can setup one URL for all the events or individual URLs for each of the events. Fundstream would call the webhooks based on whatever the setup is. If only one URL, the developer will need to extract the message from the payload information.</p>\n<h2 id=\"events\">Events</h2>\n<p>The following events are available:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Type</th>\n<th>Executed when</th>\n<th>What is sent</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>hold released</td>\n<td>Transaction hold releases</td>\n<td>Purchase Object (Pay-Load)</td>\n</tr>\n<tr>\n<td>payment in process</td>\n<td>Paid but payment is in process</td>\n<td>Purchase Object (Pay-Load)</td>\n</tr>\n<tr>\n<td>payment refund</td>\n<td>Paid and called refund</td>\n<td>Purchase Object (Pay-Load)</td>\n</tr>\n<tr>\n<td>purchase cancelled Cancel before payment</td>\n<td>Purchase Object (Pay-Load)</td>\n<td>Purchase Object (Pay-Load)</td>\n</tr>\n<tr>\n<td>purchase created</td>\n<td>Purchase Initiated</td>\n<td>Purchase Object (Pay-Load)</td>\n</tr>\n<tr>\n<td>purchase expired</td>\n<td>Transaction Expired</td>\n<td>Purchase Object (Pay-Load)</td>\n</tr>\n<tr>\n<td>purchase failed</td>\n<td>Transaction Error</td>\n<td>Purchase Object (Pay-Load)</td>\n</tr>\n<tr>\n<td>purchase hold</td>\n<td>Transaction is in hold</td>\n<td>Purchase Object (Pay-Load)</td>\n</tr>\n<tr>\n<td>purchase overdue</td>\n<td>Transaction Overdue (payment not done within given time period)</td>\n<td>Purchase Object (Pay-Load)</td>\n</tr>\n<tr>\n<td>purchase paid</td>\n<td>Payment Successful</td>\n<td>Purchase Object (Pay-Load)</td>\n</tr>\n<tr>\n<td>refund in process</td>\n<td>Refund request generated</td>\n<td>Purchase Object (Pay-Load)</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"webhook-structure\"><strong>Webhook structure</strong></h3>\n<h3 id=\"fundstream_sign\">Fundstream_sign:</h3>\n<p>We add a signature in “fundstream**_sign**” in the webhook header for verifying the payload. If You have already created a public key in your merchant dashboard. To Verify This signature decrypt the signature with your public key. Compare this with the following value – &gt; (<strong>purchaseId+|+status+|+brandId)</strong> which you received in your payload</p>\n<p>To verify the signature You can use the following method(written in Java):</p>\n<p>Example code in Java</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-java\"> private static boolean verify(String message,String signature, PublicKey publicKey) throws Exception \n{\n    Signature verifier = Signature.getInstance(\"SHA256withRSA\");\n    verifier.initVerify(publicKey);\n    verifier.update(message.getBytes());\n    return verifier.verify(Base64.getDecoder().decode(signature.getBytes()));\n}\n\n</code></pre>\n<p>Where the <strong>message</strong> is the combination of <strong>purchaseId+\"|\"+status+\"|\"+brandId.</strong></p>\n<p>The signature is the value of the “<strong>fundstream_sign</strong>” you received in webhook.</p>\n<p>str_to_sign = <strong>PayoutId+\"|\"+status</strong> which you received in your payout payload</p>\n<p>You can obtain the <strong>Public Key</strong> from your merchant dashboard.</p>\n<h3 id=\"note-1\"><em>Note:</em></h3>\n<p>In case of if a success_callback (webhook) or failure_callback (webhook) is given the <code>/purchases</code> API or <code>/createSession</code> API, then priority will be given to API callback webhooks, and not the webhooks set in the merchant dashboard. In other words, the webhooks given in the API will override the webhooks set in the merchant dashboard. The webhook posted would be a JSON object (either purchase or payout object as the case might be) containing the status.</p>\n","_postman_id":"fa90c8d2-e08a-442c-b9a2-f386d9720fac","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}}},{"name":"🖥️ Status Code","item":[],"id":"f24216cb-3ec7-49ea-99ed-ec34ec321b0a","description":"<h1 id=\"http-response-code\">HTTP Response Code</h1>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Code</strong></th>\n<th><strong>Triggering Event</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>200</td>\n<td>Successful Response</td>\n</tr>\n<tr>\n<td>202</td>\n<td>successful / Accepted</td>\n</tr>\n<tr>\n<td>400</td>\n<td>Bad request, the given data is invalid, or data is required</td>\n</tr>\n<tr>\n<td>401</td>\n<td>unauthorized request</td>\n</tr>\n<tr>\n<td>404</td>\n<td>page not found</td>\n</tr>\n<tr>\n<td>405</td>\n<td>Method Not Allowed (GET/POST)</td>\n</tr>\n<tr>\n<td>415</td>\n<td>unsupported media type</td>\n</tr>\n<tr>\n<td>422</td>\n<td>Unprocessable content, data is required</td>\n</tr>\n<tr>\n<td>429</td>\n<td>Too many request attempt</td>\n</tr>\n<tr>\n<td>500</td>\n<td>Internal server error</td>\n</tr>\n</tbody>\n</table>\n</div><p>You will not get Error codes if HTTPS response code is 200 or 202.</p>\n<h2 id=\"error-codes-and-messages\">Error Codes and Messages</h2>\n<h3 id=\"with-http-code400404401415405\">with http code(400,404,401,415,405)</h3>\n<p>Below is the list of possible error codes and the corresponding messages from Fundstream System</p>\n<h2 id=\"format\">Format</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"descriptive error message\",\n    \"code\": \"error_code\"\n}\n\n</code></pre>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Code</strong></th>\n<th><strong>Message</strong></th>\n<th><strong>APIs that could generate the error code</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Authentication_failed</td>\n<td>Authorization header missing</td>\n<td>All</td>\n</tr>\n<tr>\n<td>already_in_process</td>\n<td>Some Processing is running on this purchaseId</td>\n<td>All</td>\n</tr>\n<tr>\n<td>unsupported_media_type</td>\n<td>Unsupported media type \"text/plain; charset=ISO-8859-1\" in request.</td>\n<td>All</td>\n</tr>\n<tr>\n<td>authentication_failed</td>\n<td>Incorrect secret_key/Invalid Merchant Type</td>\n<td>All</td>\n</tr>\n<tr>\n<td>transaction_error</td>\n<td>See the table below</td>\n<td>See the table below</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"transaction_error-message-list\">\"transaction_error\" Message List</h2>\n<p>All the Messages possible when \"transaction_error\" is in reponse:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Message</strong></th>\n<th><strong>APIs that generate the error Message</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Cvv_error</td>\n<td>after executing callback_url</td>\n</tr>\n<tr>\n<td>Expired card</td>\n<td>after executing callback_url</td>\n</tr>\n<tr>\n<td>expiry_date_error</td>\n<td>after executing callback_url</td>\n</tr>\n<tr>\n<td>Insufficient fund</td>\n<td>after executing callback_url</td>\n</tr>\n<tr>\n<td>Invalid card number</td>\n<td>after executing callback_url</td>\n</tr>\n<tr>\n<td>Issuing bank - do not honer</td>\n<td>after executing callback_url</td>\n</tr>\n<tr>\n<td>Picking card</td>\n<td>after executing callback_url</td>\n</tr>\n<tr>\n<td>Temp error - card blocked</td>\n<td>after executing callback_url</td>\n</tr>\n<tr>\n<td>Transaction declined - try again</td>\n<td>after executing callback_url</td>\n</tr>\n<tr>\n<td>PurchaseId Not found.</td>\n<td>after executing callback_url</td>\n</tr>\n<tr>\n<td>Only purchases that can be paid for can be initiated for payment.</td>\n<td>after executing callback_url</td>\n</tr>\n<tr>\n<td>Customer/Ip is Blocked</td>\n<td>after executing callback_url</td>\n</tr>\n<tr>\n<td>Client Ip could not be match with Merchant Ip</td>\n<td>s2s calling</td>\n</tr>\n<tr>\n<td>Invalid Card Information</td>\n<td>s2s calling</td>\n</tr>\n<tr>\n<td>Card is Blocked</td>\n<td>s2s calling</td>\n</tr>\n<tr>\n<td>Different Type of key used to create purchase and payment</td>\n<td>s2s calling</td>\n</tr>\n<tr>\n<td>You charges setting is in complete .Please Contact to Administrator.</td>\n<td>s2s calling</td>\n</tr>\n<tr>\n<td>Allowed Attempt for this Transaction has been consumed</td>\n<td>s2s calling</td>\n</tr>\n<tr>\n<td>Customer not allowed For transaction</td>\n<td>s2s calling</td>\n</tr>\n<tr>\n<td>Invalid Card Expiry(Valid Format:MM/YY) must be greater than current month/year</td>\n<td>s2s calling</td>\n</tr>\n<tr>\n<td>Customer profile is Blocked</td>\n<td>s2s calling</td>\n</tr>\n<tr>\n<td>Customer/Card not allowed for transaction</td>\n<td>s2s calling</td>\n</tr>\n<tr>\n<td>Allowed Limit for this card for particular time period has been consumed</td>\n<td>create purchase</td>\n</tr>\n<tr>\n<td>some Mandatory Parameter are missing</td>\n<td>create purchase</td>\n</tr>\n<tr>\n<td>Invalid_Parameter</td>\n<td>create purchase</td>\n</tr>\n<tr>\n<td>Invalid format of Date_of_Birth[allowed format: yyyy-mm-dd]</td>\n<td>create purchase</td>\n</tr>\n<tr>\n<td>Invalid Email Format</td>\n<td>create purchase</td>\n</tr>\n<tr>\n<td>Please submit Valid Alpha2 Country Code Ex:(AF,IN) in \\\"country\\\" parameter</td>\n<td>create purchase</td>\n</tr>\n<tr>\n<td>Please pass Valid State Code</td>\n<td>create purchase</td>\n</tr>\n<tr>\n<td>Please pass valid street address in \\\"street_address\\\" parameter</td>\n<td>create purchase</td>\n</tr>\n<tr>\n<td>Please pass valid city name in \\\"city\\\" parameter</td>\n<td>create purchase</td>\n</tr>\n<tr>\n<td>Please pass valid postal Code name in \\\"zip_code\\\" parameter</td>\n<td>create purchase</td>\n</tr>\n<tr>\n<td>You are not Allowed for Live Transaction</td>\n<td>create purchase</td>\n</tr>\n<tr>\n<td>Merchant Limit is not set</td>\n<td>create purchase</td>\n</tr>\n<tr>\n<td>Minimum amount is not set for this merchant</td>\n<td>create purchase</td>\n</tr>\n<tr>\n<td>Brand not found!</td>\n<td>create purchase</td>\n</tr>\n<tr>\n<td>Your charges setting is incomplete .Plese Contact to Administrator.</td>\n<td>create purchase</td>\n</tr>\n<tr>\n<td>Only “curr_name” currency is allowed</td>\n<td>create purchase</td>\n</tr>\n<tr>\n<td>Transaction amount must be equal or greater to minimum trans amount</td>\n<td>create purchase</td>\n</tr>\n<tr>\n<td>Transaction amount must not be greater to maximum trans amount</td>\n<td>create purchase</td>\n</tr>\n<tr>\n<td>This Purchase was already fully refunded.</td>\n<td><code>/refund/</code></td>\n</tr>\n<tr>\n<td>Previous Refund Request already in Process</td>\n<td><code>/refund/</code></td>\n</tr>\n<tr>\n<td>Max Time for Refund was elapsed.</td>\n<td><code>/refund/</code></td>\n</tr>\n<tr>\n<td>Refund can not be initiated .Please contact Administrator.</td>\n<td><code>/refund/</code></td>\n</tr>\n<tr>\n<td>Only Purchases with `status == (paid)` can be refunded.</td>\n<td><code>/refund/</code></td>\n</tr>\n<tr>\n<td>Only purchases that can be paid for can be cancelled.</td>\n<td><code>/cancel/</code></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","exec":[""],"id":"4c391e00-e257-4e30-bad3-f868431d47e0"}},{"listen":"test","script":{"type":"text/javascript","exec":[""],"id":"9c9080f7-e77e-4ee9-8196-08ea8a0fda94"}}],"_postman_id":"f24216cb-3ec7-49ea-99ed-ec34ec321b0a"},{"name":"Payment Methods","item":[{"name":"💰 APMs (Alternative Payment Methods)","item":[{"name":"🇨🇦 Interac e-Transfer","item":[{"name":"Concepts","item":[],"id":"a8de117c-3eab-49a9-9a70-2ff564d596ce","description":"<h2 id=\"interac-overview\">Interac Overview</h2>\n<p>Interac is a leading Canadian payment network that facilitates secure, real-time transactions between bank accounts. It offers multiple payment options, including Interac e-Transfers.</p>\n<p>Interac e-Transfer allows users to send and receive money directly between bank accounts using email or SMS. It provides a fast, secure, and convenient alternative to traditional payment methods, accessible through most Canadian banks' online and mobile banking platforms.</p>\n<h3 id=\"fundstream-interac-product-suite-enables-merchants-to-initiate\"><strong>Fundstream Interac product suite enables merchants to initiate:</strong></h3>\n<ul>\n<li><p><strong>PayIns:</strong> Consumers can utilise Interac e-Transfer to transfer funds from their bank account, through their bank’s app or website.</p>\n</li>\n<li><p><strong>Payouts:</strong> Facilitate real-time disbursements directly to consumers' accounts.</p>\n</li>\n</ul>\n<h2 id=\"payin-flows\">PayIn Flows</h2>\n<p><strong>How it works</strong></p>\n<p>Interac e-Transfer enables merchants with capability to support easy collection from customers. Merchants can initiate payment requests to provide secure, efficient, and flexible options for collecting payments from customers.</p>\n<p><strong>Key Steps</strong></p>\n<img src=\"https://content.pstmn.io/93d3d350-d8c5-4470-960b-4eaa8d8a0d70/SW50ZXJhYyBQYXlJbiBGbG93LnBuZw==\" />\n\n<p><strong>Flow</strong></p>\n<ul>\n<li><p><strong>Initiate Payment Request:</strong> The merchant initiates a PayIn (deposit/collection) transaction by sending a request to the Fundstream<code>/purchases</code> API. The payload must specify <code>INTERAC-ETRANSFER</code> as the payment method and include the customer’s email address or mobile number, the amount to be collected, and an optional message.</p>\n</li>\n<li><p><strong>Generate Security Question &amp; Answer:</strong> The API responds with a security question and answer that the customer must use to complete the transfer, adding an additional layer of security. By default, the request remains valid for 30 days. The merchant can configure a longer expiry period, but not shorter than 30 days.</p>\n</li>\n<li><p><strong>Customer Completes the Transfer:</strong> The customer logs into their online banking platform, inputs the amount, enter the deposit email and security question and answer, and authorizes the transfer to the merchant’s account.</p>\n</li>\n<li><p><strong>Confirm Transfer Completion:</strong> Once the funds are successfully transferred, Fundstream sends a webhook to the merchant containing the transaction details and confirmation of payment status.</p>\n</li>\n<li><p><strong>Update Merchant’s Account:</strong> The merchant’s system updates the customer’s account balance to reflect the successful receipt of funds.</p>\n</li>\n</ul>\n<h2 id=\"payout-flows\"><strong>PayOut flows</strong></h2>\n<p><strong>How it works</strong><br />Fundstream offers the ability to make payouts to customers', individuals', or businesses' bank accounts using Interac e-Transfers. Whether for refunds, rewards, or other types of disbursements, the Payouts API ensures efficient and reliable transactions, supporting real-time fund transfers and comprehensive transaction tracking over Interac e-transfers.</p>\n<p><strong>Key Steps</strong></p>\n<img src=\"https://content.pstmn.io/4b6f3290-8533-4342-83fe-70254e384032/VW50aXRsZWQgZGVzaWduICgzKS5wbmc=\" width=\"565\" height=\"215\" />\n\n<p><strong>Flow</strong></p>\n<ul>\n<li><p><strong>Initiate Payout Request:</strong> The merchant calls the Fundstream<code>/Payout</code> API. This request includes the customer’s email address or mobile number, the amount to be transferred, and an optional message.</p>\n</li>\n<li><p><strong>Security Question &amp; Answers (Optional):</strong> For the customers that have their auto-deposit turned off , the merchant can share the security question and answer at their cashier or via email. The customer must use these Security question and answer to receive the funds, adding an extra layer of security. For customers with auto-deposit turned on, the funds will be received instanteneously.</p>\n</li>\n<li><p><strong>Customer Deposits Funds (Optional):</strong> The customer with auto-deposit turned off, will have to follows the link received on their email from Interac and follow the instructions to receive the funds into their acount. For customers with auto-deposit turned on, the funds will be received instanteneously.</p>\n</li>\n<li><p><strong>Confirm Payout Completion:</strong> Upon successful deposit, the merchant will receive the webhook with transaction info and the status.</p>\n</li>\n<li><p><strong>Update Merchant’s Account:</strong> The merchant’s system updates the customer’s account balance to reflect the withdrawn funds.</p>\n</li>\n</ul>\n<h2 id=\"transaction-limits\">Transaction Limits:</h2>\n<p>The limits outlined below are generally for personal accounts and can vary by financial institution and account type. For business accounts, higher limits may apply. It’s advisable to check with your bank for the most accurate limits pertaining to your account</p>\n<h2 id=\"pay-ins\">Pay Ins:</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Criteria</strong></th>\n<th><strong>Min Amount</strong></th>\n<th><strong>Max Amount</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Per Transaction</td>\n<td>0.01 CAD</td>\n<td>3,000 CAD</td>\n</tr>\n<tr>\n<td>Per Day</td>\n<td>0.01 CAD</td>\n<td>3,000 CAD</td>\n</tr>\n<tr>\n<td>Per User (over a 7 day rolling period)</td>\n<td>0.01 CAD</td>\n<td>10,000 CAD</td>\n</tr>\n<tr>\n<td>Per Month (over a 30 day rolling period)</td>\n<td>0.01 CAD</td>\n<td>20,000 CAD</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"pay-outs\">Pay Outs:</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Criteria</strong></th>\n<th><strong>Min Amount</strong></th>\n<th><strong>Max Amount</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Per Transaction</td>\n<td>10 CAD</td>\n<td>3,000 CAD</td>\n</tr>\n<tr>\n<td>Per Day</td>\n<td>10 CAD</td>\n<td>10,000 CAD</td>\n</tr>\n<tr>\n<td>Per User (over a 7 day rolling period)</td>\n<td>10 CAD</td>\n<td>70,000 CAD</td>\n</tr>\n<tr>\n<td>Per Month (over a 30 day rolling period)</td>\n<td>10 CAD</td>\n<td>100,000 CAD</td>\n</tr>\n</tbody>\n</table>\n</div>","_postman_id":"a8de117c-3eab-49a9-9a70-2ff564d596ce","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}}},{"name":"PayIn API","item":[{"name":"Create Purchase","id":"2e4a4c7c-711c-4c38-8082-b6995c1c3cd8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer Token"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n       \"email\": \"seo2009@test.com\",\r\n        \"street_address\": \"10 New Burlington Street Apt. 214\",\r\n        \"city\": \"London\",\r\n        \"full_name\": \"Test test\",\r\n        \"zip_code\": \"W1S 3BE\",\r\n        \"country\": \"CA\",\r\n        \"stateCode\": \"QLD\",\r\n        \"phone\": \"+447755564318\"\r\n    },\r\n    \"purchase\": {\r\n        \"currency\" : \"CAD\", \r\n        \"expireInMin\" : \"80\",\r\n        \"products\": [\r\n            {\r\n                \"name\": \"test \",\r\n                \"price\": 100\r\n            }\r\n        ]\r\n    },\r\n    \"paymentMethod\" : \"INTERAC-ETRANSFER\",\r\n    \"brand_id\": \"f6aff7d7-bb40-4857-bc84-9b4c8310b043\",\r\n    \"success_redirect\": \"https://your.redirect.url/getResponse.jsp?success=true\",\r\n    \"failure_redirect\": \"https://your.redirect.url/getResponse.jsp?success=false\",\r\n    \"success_callback\": \"https://your.success.callback.url\",\r\n    \"failure_callback\": \"https://your.success.failure.url\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://app.thefundstream.org/api/v1/purchases/","description":"<p>To Initiate a payment, the very first call to make is <code>/purchases</code> with the required data in the request body.</p>\n<p>To generate a Purchase, you are required to provide the <code>Brand ID</code> (in the request body) and <code>API key</code> (in the header) Both can be located in the Dashboard section of your merchant account login.</p>\n<p>The request body structure is shown on the request body of the example request shown here.</p>\n<p>The following (see table below) are the mandatory parameters that are required to create a purchase request.</p>\n<h3 id=\"mandatory-parameters-in-the-request-body\"><strong>Mandatory parameters in the request body:</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Parameter</strong></th>\n<th><strong>Notes</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>client.email</td>\n<td>An Identifier for a user</td>\n</tr>\n<tr>\n<td>client.city</td>\n<td>An Identifier for a user</td>\n</tr>\n<tr>\n<td>client.country</td>\n<td>ISO-3166 Country Code. It must be upper case.  <br />This should be \"CA\" for Interac</td>\n</tr>\n<tr>\n<td>client.stateCode</td>\n<td>Example “AL”, “XZ”.. Must be in upper case.</td>\n</tr>\n<tr>\n<td>client.street_address</td>\n<td></td>\n</tr>\n<tr>\n<td>client.zip_code</td>\n<td></td>\n</tr>\n<tr>\n<td>client.phone</td>\n<td></td>\n</tr>\n<tr>\n<td>client.full_name</td>\n<td></td>\n</tr>\n<tr>\n<td>purchase.currency</td>\n<td>ISO 4217 code for currency you want to send the transaction in.  <br />This should be 'CAD' for Interac</td>\n</tr>\n<tr>\n<td>purchase.products.name</td>\n<td>name of the product or service</td>\n</tr>\n<tr>\n<td>purchase.products.price</td>\n<td>Price in decimal format.  <br />example 1:  <br />EUR 5 , should be sent as 5.00  <br />  <br />example 2:  <br />USD 10 and 37 cents , should be sent as 10.37</td>\n</tr>\n<tr>\n<td>brand_id</td>\n<td>Obtain from Dashboard section of your merchant account login.</td>\n</tr>\n<tr>\n<td>success_redirect</td>\n<td>URL to send the user if the transactions is successful</td>\n</tr>\n<tr>\n<td>failure_redirect</td>\n<td>URL to send the user if the transactions is UNSUCCESSFUL</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"optional-parameters\">Optional Parameters</h2>\n<h3 id=\"expireinmin\">expireInMin</h3>\n<p>The <code>purchase.expireInMin</code>, when passed in the PayIn request, sets the time window within which a customer should make the Interac payment through their bank's app. If a customer doesn't complete the payment within the configured time window, the status of the payment will be marked as 'EXPIRED' in Fundstream.</p>\n<p>However, in certain cases, a payment made outside of this window could still be successful i.e. customer's account may be debited which would result in inconsistencies among Fundstream's, merchant's and customer's status of the transaction. To avoid such cases it is advised to set the expiry time limit appropriately and advise the customers to make payment within this window. However, if there is an inconsistency between the status at Fundstream and at customer's Bank, the merchant and Fundstream will reconcile the amounts during the settlement.</p>\n<h3 id=\"merchantref\">merchantRef</h3>\n<p>The <code>merchantRef</code> parameter, although not mandatory, is strongly advised for merchants to specify. Its inclusion offers two significant advantages for the merchant:</p>\n<ol>\n<li><p><strong>Prevention of Duplicate Requests:</strong> When a <code>merchantRef</code> is utilized, it acts as a unique identifier. This means that if a second purchase request is made using the same <code>merchantRef</code> (reference number), the system will recognize it and prevent duplicate transactions from occurring. This prevents unintended or duplicate purchases.</p>\n</li>\n<li><p><strong>Facilitation of Transaction Retrieval:</strong> In situations where the response from the initial purchase request times out or the 'purchaseId' isn't received, having the <code>merchantRef</code> allows the merchant to retrieve detailed transaction information. This ensures they can track and access the specific purchase details related to that reference, even if the immediate response was not received.</p>\n</li>\n</ol>\n<p>However, if the merchant does not specify the 'merchantRef' parameter, the platform will automatically assign and use an internal 'purchaseId' as a reference for that transaction.</p>\n<h3 id=\"paymentmethod\">paymentMethod</h3>\n<p>The <code>paymentMethod</code> parameter identifies which payment solution merchant wants to use to perform a transaction. If parameter is provided, than Fundstream will perform direct payment with the selected payment method instead of loading Fundstream URL.</p>\n<h3 id=\"possible-error-messages\">Possible Error Messages</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Error Messages</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Invalid format of Date_of_Birth[allowed format: yyyy-mm-dd]</td>\n<td></td>\n</tr>\n<tr>\n<td>Enter Valid Email</td>\n<td></td>\n</tr>\n<tr>\n<td>Please submit Valid Alpha2 Country Code Ex:(AF,IN) in \\\"country\\\" parameter</td>\n<td></td>\n</tr>\n<tr>\n<td>Please pass Valid State Code</td>\n<td></td>\n</tr>\n<tr>\n<td>Please pass valid street address in \\\"street_address\\\" parameter</td>\n<td></td>\n</tr>\n<tr>\n<td>Please pass valid city name in \\\"city\\\" parameter</td>\n<td></td>\n</tr>\n<tr>\n<td>Please pass valid postal Code name in \\\"zip_code\\\" parameter</td>\n<td></td>\n</tr>\n<tr>\n<td>You are not Allowed for Live Transaction</td>\n<td></td>\n</tr>\n<tr>\n<td>Minimum amount is not set for this merchant</td>\n<td></td>\n</tr>\n<tr>\n<td>success_redirect/failure_redirect/brand_id is missing</td>\n<td></td>\n</tr>\n<tr>\n<td>brand_id cannot be null</td>\n<td></td>\n</tr>\n<tr>\n<td>success_redirect cannot be null</td>\n<td></td>\n</tr>\n<tr>\n<td>failure_redirect cannot be null</td>\n<td></td>\n</tr>\n<tr>\n<td>Invalid failure_redirect: minimum 10 characters</td>\n<td></td>\n</tr>\n<tr>\n<td>purchase.products.price cannot be null</td>\n<td></td>\n</tr>\n<tr>\n<td>purchase.products[0].name/purchase.products[0].price are missing</td>\n<td></td>\n</tr>\n<tr>\n<td>Your charges setting is incomplete .Plese Contact to Administrator.</td>\n<td></td>\n</tr>\n<tr>\n<td>Currency \"{curr_name}\" is Not Allowed</td>\n<td></td>\n</tr>\n<tr>\n<td>Transaction amount must be equal or greater to minimum trans amount</td>\n<td></td>\n</tr>\n<tr>\n<td>Allowed Limit for this card for particular time period has been consumed</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Note:</strong> For certain use cases, in addition to long format purchase Id, Fundstream also provides a 7 digit unique code for each purchase starting with digit 4, eg 4000001</p>\n<p><em>“purchaseIdShortCode”: “4000013\"</em></p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}},"urlObject":{"path":["purchases",""],"host":["https://app.thefundstream.org/api/v1"],"query":[],"variable":[]}},"response":[{"id":"272be33e-5386-4bec-8e26-c8bc870419d3","name":"Purchase- success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer Token"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n       \"email\": \"seo2009@test.com\",\r\n        \"street_address\": \"10 New Burlington Street Apt. 214\",\r\n        \"city\": \"London\",\r\n        \"full_name\": \"Test test\",\r\n        \"zip_code\": \"W1S 3BE\",\r\n        \"country\": \"CA\",\r\n        \"stateCode\": \"QLD\",\r\n        \"phone\": \"+447755564318\"\r\n    },\r\n    \"purchase\": {\r\n        \"currency\" : \"CAD\", \r\n        \"expireInMin\" : \"80\",\r\n        \"products\": [\r\n            {\r\n                \"name\": \"test \",\r\n                \"price\": 100\r\n            }\r\n        ]\r\n    },\r\n    \"paymentMethod\" : \"INTERAC-ETRANSFER\",\r\n    \"brand_id\": \"f6aff7d7-bb40-4857-bc84-9b4c8310b043\",\r\n    \"success_redirect\": \"https://your.redirect.url/getResponse.jsp?success=true\",\r\n    \"failure_redirect\": \"https://your.redirect.url/getResponse.jsp?success=false\",\r\n    \"success_callback\": \"https://your.success.callback.url\",\r\n    \"failure_callback\": \"https://your.success.failure.url\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.fundstream.net/api/v1/purchases"},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\"purchaseId\":\"67efd0ff97be603f97a3a697\",\"client\":{\"customerId\":\"NA\",\"email\":\"ashishm.21190@gmail.com\",\"phone\":\"+447755564318\",\"full_name\":\"Test test\",\"date_of_birth\":\"1970-07-10\",\"street_address\":\"10 New Burlington Street Apt. 214\",\"country\":\"CA\",\"city\":\"London\",\"zip_code\":\"W1S 3BE\",\"cc\":[],\"bcc\":[],\"gender\":\"MALE\",\"avatarUrl\":\"https://res.cloudinary.com/w22/image/upload/v1663783641/photos/currencies/ngn.png\",\"stateCode\":\"QLD\"},\"updated_on\":1743769856,\"type\":\"purchase\",\"paymentMethod\":\"INTERAC-ETRANSFER\",\"amountUnit\":\"MAJOR\",\"errorMsg\":\"\",\"redirectType\":\"GET\",\"force_recurring\":false,\"created_on\":1743769855,\"merchantRef\":\"67efd0ff97be603f97a3a697\",\"merchantName\":\"arunsinghal\",\"purchase\":{\"currency\":\"CAD\",\"products\":[{\"name\":\"test\",\"quantity\":1.0,\"price\":1.0,\"discount\":0,\"tax_percent\":\"0.00\"}],\"total\":1.0,\"language\":\"en\",\"notes\":\"\",\"debt\":0,\"total_formatted\":1.0,\"expireInMin\":\"43200\",\"taxAmount\":0.0,\"taxPercent\":0.0,\"request_client_details\":[],\"email_message\":\"\"},\"payment\":{\"is_outgoing\":false,\"payment_type\":\"PURCHASE\",\"amount\":1.0,\"currency\":\"CAD\",\"net_amount\":1.0,\"fee_amount\":0.0,\"pending_amount\":0.0,\"pending_unfreeze_on\":null,\"description\":\"\",\"paid_on\":1743769855,\"remote_paid_on\":1743769855},\"issuer_details\":{\"website\":\"\",\"legal_street_address\":\"\",\"legal_country\":\"\",\"legal_city\":\"\",\"legal_zip_code\":\"\",\"bank_accounts\":[{}],\"legal_name\":\"test6\",\"brand_name\":\"test6\",\"registration_number\":\"\",\"tax_number\":\"\"},\"transaction_data\":{\"payment_method\":\"\",\"flow\":\"payform\",\"extra\":{\"amount\":1.0,\"masked_pan\":\"INTERAC-ETRANSFER\"},\"country\":\"\",\"attempts\":[{\"client_ip\":\"103.59.75.41, 162.158.88.44, 130.176.93.146\",\"type\":\"execute\",\"payment_method\":\"INTERAC-ETRANSFER\",\"flow\":\"payform\",\"successful\":true,\"country\":\"INTERAC-ETRANSFER\",\"processing_time\":1743769855,\"extra\":{\"amount\":1.0,\"masked_pan\":\"INTERAC-ETRANSFER\"}}]},\"status\":\"PAYMENT_IN_PROCESS\",\"status_history\":[{\"status\":\"created\",\"timestamp\":1743769855},{\"status\":\"pending_execute\",\"timestamp\":1743769855},{\"status\":\"payment_in_process\",\"timestamp\":1743769856},{\"status\":\"viewed\",\"timestamp\":1744026697}],\"viewedOn\":1744026697,\"is_test\":false,\"brand_id\":\"30f7ce6e-3b7e-46a2-9b50-484fc55be689\",\"send_receipt\":false,\"is_recurring_token\":false,\"skip_capture\":false,\"reference_generated\":\"PS620\",\"issued\":\"2025-04-04\",\"due\":1743769855,\"refund_upto\":0,\"cc_descriptor\":\"Africhange Technologies\",\"fraudScore\":\"NA\",\"trustScore\":\"NA\",\"payInDetails\":{\"name\":\"INTERAC\",\"emailAddress\":\"transfer@ieft.ca\",\"secretQA\":\"66a8c78af1fc2f768304bce4\",\"secretAnswer\":\"ps8766a8af\"},\"paidOn\":0,\"receivedAmt\":0.0,\"refund_availability\":\"NONE\",\"refundable_amount\":0.0,\"success_redirect\":\"https://your.redirect.url/getResponse.jsp?success=true\",\"failure_redirect\":\"https://your.redirect.url/getResponse.jsp?success=false\",\"cancel_redirect\":\"\",\"success_callback\":\"https://your.success.callback.url\",\"failure_callback\":\"https://your.success.failure.url\",\"platform\":\"API\",\"created_from_ip\":\"103.59.75.41, 162.158.88.44, 130.176.93.146\",\"checkout_url\":\"https://api.choicepay.ca/payments/67efd0ff97be603f97a3a697/\",\"payoutProcess\":false}"},{"id":"284f5eca-6ae8-4376-84bc-a9e1aadacdfa","name":"Create Purchase","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer Token"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n       \"email\": \"seo2009@test.com\",\r\n        \"street_address\": \"10 New Burlington Street Apt. 214\",\r\n        \"city\": \"London\",\r\n        \"full_name\": \"Test test\",\r\n        \"zip_code\": \"W1S 3BE\",\r\n        \"country\": \"CA\",\r\n        \"stateCode\": \"QLD\",\r\n        \"phone\": \"+447755564318\"\r\n    },\r\n    \"purchase\": {\r\n        \"currency\" : \"CAD\", \r\n        \"expireInMin\" : \"80\",\r\n        \"products\": [\r\n            {\r\n                \"name\": \"test \",\r\n                \"price\": 100\r\n            }\r\n        ]\r\n    },\r\n    \"paymentMethod\" : \"INTERAC-E-TRANSFER\",\r\n    \"brand_id\": \"cac5b505-eb49-49da-8f67-1ced8a4199da\",\r\n    \"success_redirect\": \"https://your.redirect.url/getResponse.jsp?success=true\",\r\n    \"failure_redirect\": \"https://your.redirect.url/getResponse.jsp?success=false\",\r\n    \"success_callback\": \"https://your.success.callback.url\",\r\n    \"failure_callback\": \"https://your.success.failure.url\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://app.thefundstream.org/api/v1/purchases/"},"status":"Accepted","code":202,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Tue, 29 Apr 2025 06:48:18 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"Referrer-Policy","value":"no-referrer"},{"key":"Vary","value":"Origin"},{"key":"Vary","value":"Access-Control-Request-Method"},{"key":"Vary","value":"Access-Control-Request-Headers"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Xss-Protection","value":"1; mode=block"},{"key":"Cache-Control","value":"no-cache, no-store, max-age=0, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Expires","value":"0"},{"key":"Strict-Transport-Security","value":"max-age=31536000 ; includeSubDomains"},{"key":"X-Cache","value":"Miss from cloudfront"},{"key":"Via","value":"1.1 6d8e926b94d2e9cafdd09c8878f4d934.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"BOM78-P2"},{"key":"X-Amz-Cf-Id","value":"kVRx0Z90lIhvPZs2aNTNzB_bH0m3713nHsUUgW5UtSvozdrkp4NHHw=="},{"key":"Cf-Cache-Status","value":"DYNAMIC"},{"key":"Server","value":"cloudflare"},{"key":"CF-RAY","value":"937cda41a9624932-BOM"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"purchaseId\": \"6810762ee9bb2f5864359666\",\n    \"client\": {\n        \"customerId\": \"NA\",\n        \"email\": \"seo2009@test.com\",\n        \"phone\": \"+447755564318\",\n        \"full_name\": \"Test test\",\n        \"date_of_birth\": \"1970-07-10\",\n        \"street_address\": \"10 New Burlington Street Apt. 214\",\n        \"country\": \"CA\",\n        \"city\": \"London\",\n        \"zip_code\": \"W1S 3BE\",\n        \"cc\": [],\n        \"bcc\": [],\n        \"stateCode\": \"QLD\"\n    },\n    \"updated_on\": 1745909298,\n    \"type\": \"purchase\",\n    \"paymentMethod\": \"INTERAC-E-TRANSFER\",\n    \"amountUnit\": \"MAJOR\",\n    \"errorMsg\": \"Failed.\",\n    \"redirectType\": \"POST\",\n    \"force_recurring\": false,\n    \"created_on\": 1745909294,\n    \"merchantRef\": \"6810762ee9bb2f5864359666\",\n    \"merchantName\": \"charvee1\",\n    \"purchase\": {\n        \"currency\": \"CAD\",\n        \"products\": [\n            {\n                \"name\": \"test\",\n                \"quantity\": 1,\n                \"price\": 100,\n                \"discount\": 0,\n                \"tax_percent\": \"0.00\"\n            }\n        ],\n        \"total\": 100,\n        \"language\": \"en\",\n        \"notes\": \"\",\n        \"debt\": 0,\n        \"total_formatted\": 1,\n        \"expireInMin\": \"1440\",\n        \"taxAmount\": 0,\n        \"taxPercent\": 0,\n        \"request_client_details\": [],\n        \"email_message\": \"\"\n    },\n    \"issuer_details\": {\n        \"website\": \"\",\n        \"legal_street_address\": \"\",\n        \"legal_country\": \"\",\n        \"legal_city\": \"\",\n        \"legal_zip_code\": \"\",\n        \"bank_accounts\": [\n            {}\n        ],\n        \"legal_name\": \"Live\",\n        \"brand_name\": \"Live\",\n        \"registration_number\": \"\",\n        \"tax_number\": \"\"\n    },\n    \"transaction_data\": {\n        \"payment_method\": \"\",\n        \"flow\": \"payform\",\n        \"extra\": {\n            \"amount\": 100,\n            \"masked_pan\": \"INTERAC-E-TRANSFER\"\n        },\n        \"country\": \"\",\n        \"attempts\": [\n            {\n                \"client_ip\": \"110.235.229.214, 172.69.87.99, 15.158.22.101\",\n                \"type\": \"execute\",\n                \"payment_method\": \"INTERAC-E-TRANSFER\",\n                \"flow\": \"payform\",\n                \"successful\": false,\n                \"country\": \"INTERAC-E-TRANSFER\",\n                \"processing_time\": 1745909294,\n                \"extra\": {\n                    \"amount\": 100,\n                    \"masked_pan\": \"INTERAC-E-TRANSFER\"\n                },\n                \"error\": {\n                    \"message\": \"Failed.\",\n                    \"code\": \"transaction_error\"\n                }\n            }\n        ]\n    },\n    \"status\": \"ERROR\",\n    \"status_history\": [\n        {\n            \"status\": \"created\",\n            \"timestamp\": 1745909294\n        },\n        {\n            \"status\": \"pending_execute\",\n            \"timestamp\": 1745909294\n        },\n        {\n            \"status\": \"error\",\n            \"timestamp\": 1745909298\n        }\n    ],\n    \"is_test\": false,\n    \"brand_id\": \"cac5b505-eb49-49da-8f67-1ced8a4199da\",\n    \"send_receipt\": false,\n    \"is_recurring_token\": false,\n    \"skip_capture\": false,\n    \"reference_generated\": \"PS34\",\n    \"issued\": \"2025-04-29\",\n    \"due\": 1745909294,\n    \"refund_upto\": 0,\n    \"cc_descriptor\": \"\",\n    \"fraudScore\": \"0\",\n    \"trustScore\": \"0\",\n    \"paidOn\": 0,\n    \"receivedAmt\": 0,\n    \"refund_availability\": \"NONE\",\n    \"refundable_amount\": 0,\n    \"success_redirect\": \"https://your.redirect.url/getResponse.jsp?success=true\",\n    \"failure_redirect\": \"https://your.redirect.url/getResponse.jsp?success=false\",\n    \"cancel_redirect\": \"\",\n    \"success_callback\": \"https://your.success.callback.url\",\n    \"failure_callback\": \"https://your.success.failure.url\",\n    \"platform\": \"API\",\n    \"created_from_ip\": \"110.235.229.214, 172.69.87.99, 15.158.22.101\",\n    \"checkout_url\": \"https://api.choicepay.ca/payments/6810762ee9bb2f5864359666/\",\n    \"payoutProcess\": false\n}"}],"_postman_id":"2e4a4c7c-711c-4c38-8082-b6995c1c3cd8"},{"name":"Get Status","id":"aa94808f-4730-4a99-a9b4-985b56951ec8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer Token","type":"text"}],"url":"https://app.thefundstream.org/api/v1/purchases/{purchaseId}/","description":"<p>This API tells you about all the details of a purchase (PayIn), including its history</p>\n<p><strong>Note:</strong> With respect to bank transfers, the purchase request is synonymous with the PayIn request.</p>\n<h3 id=\"mandatory\">Mandatory</h3>\n<p>you need to pass the <code>PurchaseID</code> in the API URL</p>\n<h3 id=\"possible-value-of-status\">Possible Value of Status</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Status</strong></th>\n<th><strong>Notes</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>paid</td>\n<td>Transaction Successful</td>\n</tr>\n<tr>\n<td>payment_in_process</td>\n<td>Payment is under Processing</td>\n</tr>\n<tr>\n<td>expired</td>\n<td>Purchase has Expired.</td>\n</tr>\n<tr>\n<td>error</td>\n<td>Transaction has Failed.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"response-examples\">Response Examples</h3>\n<p>In the response examples you can see instances of both <code>Paid</code> and <code>Error</code> Status purchases.</p>\n<h3 id=\"error-details\">Error Details</h3>\n<p>If there are any issues on the Purchase you can get more details from the <code>transaction_data.attempts.error</code> attribute of the response object</p>\n<h3 id=\"errors\">Errors</h3>\n<p>If there are any errors then it'll be in the format of :</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"descriptive error message\",\n    \"code\": \"error_code\"\n}\n\n</code></pre>\n<p>Please see the Status Code section for further details.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}},"urlObject":{"path":["purchases","{purchaseId}",""],"host":["https://app.thefundstream.org/api/v1"],"query":[],"variable":[]}},"response":[{"id":"5f79e6bc-50d0-4e33-94f5-7b8f99e04b69","name":"Purchases-success","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer Token"}],"url":"https://api.fundstream.net/api/v1/purchases/{purchaseId}/"},"status":"Accepted","code":202,"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"purchaseId\": \"6790e75fa46a5a5bb0b00e55\",\n    \"client\": {\n        \"customerId\": \"NA\",\n        \"email\": \"ashishm.21190@gmail.com\",\n        \"phone\": \"+14377717874\",\n        \"full_name\": \"Test test\",\n        \"date_of_birth\": \"1970-07-10\",\n        \"street_address\": \"10 New Burlington Street Apt. 214\",\n        \"country\": \"CA\",\n        \"city\": \"London\",\n        \"zip_code\": \"W1S 3BE\",\n        \"cc\": [],\n        \"bcc\": [],\n        \"gender\": \"MALE\",\n        \"stateCode\": \"QLD\"\n    },\n    \"updated_on\": 1737549752,\n    \"type\": \"purchase\",\n    \"paymentMethod\": \"INTERAC-ETRANSFER\",\n    \"amountUnit\": \"MAJOR\",\n    \"errorMsg\": \"Transaction succeeded-APPROVED\",\n    \"redirectType\": \"GET\",\n    \"force_recurring\": false,\n    \"created_on\": 1737549663,\n    \"merchantRef\": \"6790e75fa46a5a5bb0b00e55\",\n    \"merchantName\": \"arunsinghal\",\n    \"purchase\": {\n        \"currency\": \"CAD\",\n        \"products\": [\n            {\n                \"name\": \"test\",\n                \"quantity\": 1,\n                \"price\": 1,\n                \"discount\": 0,\n                \"tax_percent\": \"0.00\"\n            }\n        ],\n        \"total\": 2,\n        \"language\": \"en\",\n        \"notes\": \"\",\n        \"debt\": 0,\n        \"total_formatted\": 1,\n        \"expireInMin\": \"43200\",\n        \"request_client_details\": [],\n        \"email_message\": \"\"\n    },\n    \"payment\": {\n        \"is_outgoing\": false,\n        \"payment_type\": \"PURCHASE\",\n        \"amount\": 1,\n        \"currency\": \"CAD\",\n        \"net_amount\": 1,\n        \"fee_amount\": 0,\n        \"pending_amount\": 0,\n        \"pending_unfreeze_on\": null,\n        \"description\": \"\",\n        \"paid_on\": 1737549663,\n        \"remote_paid_on\": 1737549663\n    },\n    \"issuer_details\": {\n        \"website\": \"\",\n        \"legal_street_address\": \"\",\n        \"legal_country\": \"\",\n        \"legal_city\": \"\",\n        \"legal_zip_code\": \"\",\n        \"bank_accounts\": [\n            {}\n        ],\n        \"legal_name\": \"test6\",\n        \"brand_name\": \"test6\",\n        \"registration_number\": \"\",\n        \"tax_number\": \"\"\n    },\n    \"transaction_data\": {\n        \"payment_method\": \"\",\n        \"flow\": \"payform\",\n        \"extra\": {\n            \"amount\": 1,\n            \"masked_pan\": \"INTERAC-ETRANSFER\"\n        },\n        \"country\": \"\",\n        \"attempts\": [\n            {\n                \"client_ip\": \"103.59.75.42, 172.71.186.102, 130.176.183.14\",\n                \"type\": \"execute\",\n                \"payment_method\": \"INTERAC-ETRANSFER\",\n                \"flow\": \"payform\",\n                \"successful\": true,\n                \"country\": \"INTERAC\",\n                \"processing_time\": 1737549663,\n                \"extra\": {\n                    \"amount\": 1,\n                    \"masked_pan\": \"INTERAC-ETRANSFER\"\n                }\n            }\n        ]\n    },\n    \"status\": \"PAID\",\n    \"status_history\": [\n        {\n            \"status\": \"created\",\n            \"timestamp\": 1737549663\n        },\n        {\n            \"status\": \"pending_execute\",\n            \"timestamp\": 1737549663\n        },\n        {\n            \"status\": \"payment_in_process\",\n            \"timestamp\": 1737549664\n        },\n        {\n            \"status\": \"paid 2.0\",\n            \"timestamp\": 1737549752\n        },\n        {\n            \"status\": \"viewed\",\n            \"timestamp\": 1737549750\n        }\n    ],\n    \"viewedOn\": 1738749942,\n    \"is_test\": false,\n    \"brand_id\": \"30f7ce6e-3b7e-46a2-9b50-484fc55be689\",\n    \"send_receipt\": false,\n    \"is_recurring_token\": false,\n    \"skip_capture\": false,\n    \"reference_generated\": \"PS376\",\n    \"issued\": \"2025-01-22\",\n    \"due\": 1737549663,\n    \"refund_upto\": 0,\n    \"cc_descriptor\": \"Africhange Technologies\",\n    \"fraudScore\": \"NA\",\n    \"trustScore\": \"NA\",\n    \"payInDetails\": {\n        \"name\": \"INTERAC\",\n        \"emailAddress\": \"deposit@ieft.ca\",\n        \"secretQA\": \"66a8c78af1fc2f768304bce4\",\n        \"secretAnswer\": \"ps8766a8af\"\n    },\n    \"paidOn\": 1737549752,\n    \"receivedAmt\": 2,\n    \"refund_availability\": \"NONE\",\n    \"refundable_amount\": 0,\n    \"success_redirect\": \"https://your.redirect.url/getResponse.jsp?success=true\",\n    \"failure_redirect\": \"https://your.redirect.url/getResponse.jsp?success=false\",\n    \"cancel_redirect\": \"\",\n    \"success_callback\": \"https://webhook.site/83df9776-3590-4e25-9222-870e931ac868\",\n    \"failure_callback\": \"https://webhook.site/83df9776-3590-4e25-9222-870e931ac868\",\n    \"platform\": \"API\",\n    \"created_from_ip\": \"103.59.75.42, 172.71.186.102, 130.176.183.14\",\n    \"checkout_url\": \"https://api.choicepay.ca/payments/6790e75fa46a5a5bb0b00e55/\",\n    \"payoutProcess\": false\n}"},{"id":"0d0d859b-2f4e-42f4-922e-40fd4cee5d66","name":"Purchases Error","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer Token","type":"text"}],"url":"https://app.thefundstream.org/api/v1/purchases/{purchaseId}/"},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Error Message\",\n    \"code\": \"error_code\"\n}"}],"_postman_id":"aa94808f-4730-4a99-a9b4-985b56951ec8"}],"id":"53de1be2-6173-4def-9edf-010717ee467c","description":"<p><strong>API Flow</strong></p>\n<img src=\"https://lh7-us.googleusercontent.com/cfWw_RYZ9eZVEKzKjeRW4I_VwbBTyqH78LUrJG6ulp7FkE1pXVD6DZr9MnQXB9KH_oLFasJDb156naCsBc2bgotPaVY7LtGOJNifpTOb5uks3fjAKpgVhU4dsXQmQ7hFKNFIVhZEl2p8fCN1YufsRaA\" />\n\n<ol>\n<li><p>The merchant initiates the purchase via the create purchase API. If successful, they receive PayIn details along with a checkout URL in the response JSON</p>\n</li>\n<li><p>The merchant then has 2 options</p>\n<ol>\n<li><p>Redirect the end-user to the checkoutURL present in the response, where the customer is shown the following details required to make Interac payments:</p>\n<ol>\n<li><p>Payment Amount</p>\n</li>\n<li><p>Deposit email address</p>\n</li>\n<li><p>Secret Question</p>\n</li>\n<li><p>Secret Answer</p>\n</li>\n</ol>\n</li>\n<li><p>Retrieve the PayIn details in the response JSON (as shown below) to create a webpage within the merchant’s IT estate, and show to user the PayIn instruction</p>\n</li>\n</ol>\n</li>\n<li><p>After a successful or failed payment by the end user, an appropriate webhook would be sent to the merchant. If option 2a was employed, the user would be redirected to the appropriate success or failure redirect URL.</p>\n</li>\n</ol>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\"> \"payInDetails\": {\n        \"name\": \"INTERAC-ETRANSFER\",\n        \"emailAddress\": \"deposit@ieft.ca\",\n        \"secretQA\": \"6789df35bbefe612e3cb4641\",\n        \"secretAnswer\": \"PS7466835\"\n   }\n\n</code></pre>\n","_postman_id":"53de1be2-6173-4def-9edf-010717ee467c","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}}},{"name":"PayOut API","item":[{"name":"Create PayOut","id":"b95fbbf0-ac60-4325-9de7-69a3bf5e6163","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer Token"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n       \"email\": \"ashishm.21190@gmail.com\",\r\n       \"country\" : \"CA\",\r\n       \"phone\" : \"+14377717874\",\r\n       \"full_name\": \"Test Person-uk\"\r\n       \r\n    },\r\n    \"purpose\" : \"Transfer Reversed\",\r\n    \"currency\" : \"CAD\",\r\n    \"payoutMethod\" : \"PAYOUT-INTERAC-ETRANSFER\",\r\n    \"amount\" : 10,\r\n    \"success_callback\": \"https://success.com\",\r\n    \"failure_callback\": \"https://failure.com\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://app.thefundstream.org/api/v1/payout/","description":"<p>To Initiate a payment, the very first call to make is /payout/</p>\n<p>with the required data in the request body.</p>\n<p>To generate a Payout, you are required to provide the <code>API key</code> (in the header) can be located in the Dashboard section of your merchant account login.</p>\n<p>The request body structure is shown on the request body of the example request shown here.</p>\n<p>The following (see table below) are the mandatory parameters that are required to create a Payout request.</p>\n<h3 id=\"mandatory-parameters-in-the-request-body\"><strong>Mandatory parameters in the request body:</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Parameter</strong></th>\n<th><strong>Notes</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>client.email client.phone</td>\n<td>An Identifier for a user</td>\n</tr>\n<tr>\n<td>client.full_name</td>\n<td>An Identifier for a user</td>\n</tr>\n<tr>\n<td>client.country</td>\n<td>CA</td>\n</tr>\n<tr>\n<td>payoutMethod</td>\n<td>PAYOUT-INTERAC-ETRANSFER</td>\n</tr>\n<tr>\n<td>Currency</td>\n<td>CAD</td>\n</tr>\n<tr>\n<td>Amount</td>\n<td>Payout Amount</td>\n</tr>\n<tr>\n<td>Purpose</td>\n<td>Transfer Reversed</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}},"urlObject":{"path":["payout",""],"host":["https://app.thefundstream.org/api/v1"],"query":[{"disabled":true,"key":"","value":""},{"disabled":true,"key":null,"value":""}],"variable":[]}},"response":[{"id":"11785427-0cb8-4974-a901-d30861e1fdff","name":"create payout-success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer Token","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n       \"email\": \"ashishm.21190@gmail.com\",\r\n       \"country\" : \"CA\",\r\n       \"phone\" : \"+14377717874\",\r\n       \"full_name\": \"Test Person-uk\"\r\n       \r\n    },\r\n    \"purpose\" : \"test payout\",\r\n    \"currency\" : \"CAD\",\r\n    \"payoutMethod\" : \"PAYOUT-INTERAC-ETRANSFER\",\r\n    \"amount\" : 10,\r\n    \"success_callback\": \"https://success.com\",\r\n    \"failure_callback\": \"https://failure.com\"\r\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://api.fundstream.net/api/v1/payout/","protocol":"https","host":["api","fundstream","net"],"path":["api","v1","payout",""],"query":[{"key":"","value":null,"disabled":true},{"key":null,"value":"","disabled":true}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"payoutId\": \"67efc0586720dd3a164fe8b3\",\n    \"client\": {\n        \"customerId\": \"NA\",\n        \"email\": \"ajayqa77@gmail.com\",\n        \"phone\": \"+447755564318\",\n        \"full_name\": \"Test Person-uk\",\n        \"country\": \"CA\"\n    },\n    \"updated_on\": 1743765592,\n    \"payoutMethod\": \"PAYOUT-INTERAC-ETRANSFER\",\n    \"amountUnit\": \"MAJOR\",\n    \"amount\": 5,\n    \"errorMsg\": \"\",\n    \"purpose\": \"test payout\",\n    \"created_on\": 1743765592,\n    \"merchantRef\": \"67efc0586720dd3a164fe8b3\",\n    \"merchantName\": \"arunsinghal\",\n    \"status\": \"PAID\",\n    \"status_history\": [\n        {\n            \"status\": \"created\",\n            \"timestamp\": 1743765592\n        },\n        {\n            \"status\": \"paid\",\n            \"timestamp\": 1743765610\n        },\n        {\n            \"status\": \"viewed\",\n            \"timestamp\": 1744025266\n        }\n    ],\n    \"viewedOn\": 1744026844,\n    \"currency\": \"CAD\",\n    \"paymentOn\": 1743765610,\n    \"success_callback\": \"https://success.com\",\n    \"failure_callback\": \"https://failure.com\"\n}"},{"id":"e28ba89c-aede-476c-ba57-73296474052f","name":"create payout-error","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer Token","type":"text"}],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":{"raw":"https://app.thefundstream.org/api/v1/payout/","host":["https://app.thefundstream.org/api/v1"],"path":["payout",""],"query":[{"key":"","value":null,"disabled":true},{"key":null,"value":"","disabled":true}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Insufficient Balance [5.23]\",\n    \"code\": \"transaction_error\"\n}"}],"_postman_id":"b95fbbf0-ac60-4325-9de7-69a3bf5e6163"},{"name":"Get Status","id":"a7a2acd1-e4d5-4ee8-9297-4eed795a3723","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"example/getpayout/{payoutId}/","description":"<p>This API tells you about all the details of a Payout, including its history</p>\n<h3 id=\"mandatory\">Mandatory</h3>\n<p>you need to pass the payoutId in the API URL</p>\n<h3 id=\"possible-value-of-status\">Possible Value of Status</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Status</strong></th>\n<th><strong>Notes</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>paid</td>\n<td>Transaction Successful</td>\n</tr>\n<tr>\n<td>payout_in_process</td>\n<td>payout is under Processing.</td>\n</tr>\n<tr>\n<td>error</td>\n<td>Transaction has Failed.</td>\n</tr>\n</tbody>\n</table>\n</div><p>The webhook will only be triggered for paid transactions or errors.</p>\n<p>Paid: \"success_callback\": \"<a href=\"https://success.com\">https://success.com</a>\",</p>\n<p>Error: \"failure_callback\": “<a href=\"https://failure.com%E2%80%9D\">https://failure.com”</a></p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}},"urlObject":{"path":["getpayout","{payoutId}",""],"host":["example"],"query":[],"variable":[]}},"response":[{"id":"b521f07f-a74e-4b3d-ae9d-47e5d8c23a2f","name":"Get success Status","originalRequest":{"method":"GET","header":[],"url":"https://api.fundstream.net/api/v1/getpayout/{payoutId}/"},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"payoutId\": \"66bf2e76e3defc36cd575481\",\n    \"client\": {\n        \"customerId\": \"NA\",\n        \"email\": \"ashishm.21190@gmail.com\",\n        \"phone\": \"+14377717874\",\n        \"full_name\": \"Ashish Mistry\",\n        \"country\": \"CA\"\n    },\n    \"updated_on\": 1723805728,\n    \"payoutMethod\": \"PAYOUT-INTERAC-ETRANSFER\",\n    \"amountUnit\": \"MAJOR\",\n    \"amount\": 12,\n    \"errorMsg\": \"\",\n    \"purpose\": \"test payout\",\n    \"created_on\": 1723805302,\n    \"merchantRef\": \"66bf2e76e3defc36cd575481\",\n    \"merchantName\": \"arunsinghal\",\n    \"status\": \"PAID\",\n    \"status_history\": [\n        {\n            \"status\": \"created\",\n            \"timestamp\": 1723805302\n        },\n        {\n            \"status\": \"payout_in_process\",\n            \"timestamp\": 1723805310\n        },\n        {\n            \"status\": \"paid\",\n            \"timestamp\": 1723805728\n        },\n        {\n            \"status\": \"viewed\",\n            \"timestamp\": 1738750221\n        }\n    ],\n    \"viewedOn\": 1738750221,\n    \"currency\": \"USD\",\n    \"paymentOn\": 1723805728,\n    \"payOutDetails\": {\n        \"name\": \"INTERAC E-TRANSFER\",\n        \"emailAddress\": \"ashishm.21190@gmail.com\",\n        \"secretQA\": \"q66276336575481202\",\n        \"secretAnswer\": \"a66276336575481202\"\n    },\n    \"success_callback\": \"https://webhook.site/d7660184-d724-480c-bad0-cf0480f5518e\",\n    \"failure_callback\": \"https://webhook.site/d7660184-d724-480c-bad0-cf0480f5518e\"\n}"},{"id":"c807a114-531a-4414-9f81-a1cfeb634c2b","name":"Get Error Status","originalRequest":{"method":"GET","header":[],"url":"https://app.thefundstream.org/api/v1/getpayout/{payoutId}/"},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Error Message\",\n    \"code\": \"error_code\"\n}"}],"_postman_id":"a7a2acd1-e4d5-4ee8-9297-4eed795a3723"}],"id":"2408b477-8d64-4cd5-a4d8-cb98ee26289b","description":"<p><strong>API Flow</strong></p>\n<img src=\"https://lh7-us.googleusercontent.com/Uxy8jmp5RP-c360-oIMAZy2As8naqJdARgKsWU0x_BtszfJlwdRVM6-obffbtjTABfI9V0hxH4Ad-Ns96We42lIMdL434tTzLJ6aEQBt0dzX_ZXeM4RtG_kmEeem7WIsN520Zh5PS3xTFYNzOmks0ak\" />\n\n<ul>\n<li><p>The merchant initiates a PayOut via the payout API.</p>\n</li>\n<li><p>After a successful or failed payment attempt, the status is reflected on the response, and the details on the status history. You can also get the status through getStatus (purchases/{payID}) API.</p>\n</li>\n</ul>\n","_postman_id":"2408b477-8d64-4cd5-a4d8-cb98ee26289b","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}}},{"name":"Get Balance API","item":[{"name":"Checking Balance","id":"682abb94-756b-4563-bd02-25f79b7c3870","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer Token","type":"text"}],"body":{"mode":"raw","raw":"{ \r\n   \"paymentMethod\" : \"INTERAC-ETRANSFER\"\r\n\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"https://app.thefundstream.org/api/v1/getBalance","description":"<h2 id=\"api-for-checking-available-balance\"><strong>API for checking available balance</strong></h2>\n<ol>\n<li><p>URL :- /getBalance/</p>\n</li>\n<li><p>RequestType: POST</p>\n</li>\n<li><p>Request Body</p>\n</li>\n</ol>\n<p>Note: Currency is not a mandatory parameter. If no parameter is specified then all respective currency balances would be provided, if any specific currency parameter is provided then only that currency balance would be provided.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}},"urlObject":{"path":["getBalance"],"host":["https://app.thefundstream.org/api/v1"],"query":[],"variable":[]}},"response":[{"id":"eafb5ae2-cd45-43e9-b14a-f217963ecab7","name":"Checking Balance payout-success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{ \r\n   \"paymentMethod\" : \"INTERAC-ETRANSFER\"\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"https://app.thefundstream.org/api/v1/getBalance"},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"paymentMethod\": \"INTERAC-ETRANSFER\",\n    \"status\": \"success\",\n    \"data\": [\n        {\n            \"currency\": \"AUD\",\n            \"balance\": \"0.00\"\n        },\n        {\n            \"currency\": \"BRL\",\n            \"balance\": \"0.00\"\n        },\n        {\n            \"currency\": \"EUR\",\n            \"balance\": \"0.00\"\n        },\n        {\n            \"currency\": \"INR\",\n            \"balance\": \"0.00\"\n        },\n        {\n            \"currency\": \"JPY\",\n            \"balance\": \"0.00\"\n        },\n        {\n            \"currency\": \"USD\",\n            \"balance\": \"0.00\"\n        }\n    ]\n}"},{"id":"52021083-80e1-4eb1-bfe2-9748070d685e","name":"Checking Balance payout-error","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{ \r\n   \"paymentMethod\" : \"INTERAC-ETRANSFER\"\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"https://app.thefundstream.org/api/v1/getBalance"},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Error Message\",\n    \"code\": \"No currency account found\"\n}"}],"_postman_id":"682abb94-756b-4563-bd02-25f79b7c3870"}],"id":"1cceec21-0fe6-416c-9a22-6284e52b79ad","_postman_id":"1cceec21-0fe6-416c-9a22-6284e52b79ad","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}}}],"id":"6e6113e2-408e-4a97-abf4-010cb68fdaa1","_postman_id":"6e6113e2-408e-4a97-abf4-010cb68fdaa1","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}}},{"name":"🇨🇦 Interac Request Money","item":[{"name":"Concepts","item":[],"id":"61370070-f4e3-458b-8f98-2fc91e7e14f2","description":"<h2 id=\"payin-flows\"><strong>PayIn Flows</strong></h2>\n<h3 id=\"how-it-works\"><strong>How It Works</strong></h3>\n<p>With <strong>Interac Request Money</strong>, payments are made seamless and secure. Customers are provided with a deposit link upon initiating a transaction on the merchant's website. They are redirected to a secure payment page, where their bank is selected, and the payment is completed effortlessly. Payments are processed instantly, ensuring real-time confirmation and updates. This method enhances the checkout experience, builds customer trust, and increases conversions, making it an ideal choice for businesses seeking a reliable payment solution.</p>\n<h3 id=\"key-steps\"><strong>Key Steps</strong></h3>\n<img src=\"https://content.pstmn.io/746e51e2-8ff6-47bc-8a3b-ab3e7b6167c0/aW1hZ2UucG5n\" width=\"508\" height=\"266\" />\n\n<h3 id=\"flow\">Flow</h3>\n<ol>\n<li><p><strong>Initiate Transfer Request</strong>: Upon the custeomer's intent to pay, the merchant calls the <code>/purchases</code> API with <code>INTERAC-REQUEST-MONEY</code> in the Payment Method Param, to initiate a PayIn (deposit/collections) transaction. This request includes the customerʼs email address, mobile number, the amount to be collected, and an optional message. With this method, the customer do not need any security question and answer to proceed with the payment.</p>\n</li>\n<li><p><strong>Deposit Link</strong>:</p>\n<ol>\n<li>A unique deposit link is generated and presented to the customer. This link will be valid for 24 hrs. This time cannot be changed.</li>\n</ol>\n</li>\n<li><p><strong>Redirection to Payment Page</strong>:</p>\n<ol>\n<li><p>The customer is redirected to the deposit link and shown payment details:</p>\n<ol>\n<li><p>Amount due.</p>\n</li>\n<li><p>A list of supported banks.</p>\n</li>\n</ol>\n</li>\n</ol>\n</li>\n<li><p><strong>Bank Selection</strong>:</p>\n<ol>\n<li><p>The customer selects their bank from a dropdown menu.</p>\n</li>\n<li><p>They are redirected to their banking portal.</p>\n</li>\n</ol>\n</li>\n<li><p><strong>Payment Confirmation</strong>:</p>\n<ol>\n<li><p>The customer logs into their banking portal</p>\n</li>\n<li><p>Completes the payment on their banking app/website.</p>\n</li>\n<li><p>Instant payment confirmation is displayed on the merchant’s website.</p>\n</li>\n<li><p>The customer’s balance is updated.</p>\n</li>\n</ol>\n</li>\n</ol>\n<h2 id=\"payout-flows\"><strong>PayOut flows</strong></h2>\n<h3 id=\"how-it-works-1\"><strong>How it works</strong></h3>\n<p>Fundstream offers the ability to make payouts to customers', individuals', or<br />businesses' bank accounts using Interac e-Transfers. Whether for refunds,<br />rewards, or other types of disbursements, the Interac Payouts API ensures<br />efficient and reliable transactions, supporting real-time fund transfers and<br />comprehensive transaction tracking.</p>\n<h3 id=\"key-steps-1\"><strong>Key Steps</strong></h3>\n<img src=\"https://content.pstmn.io/62c34529-53e8-46b5-a53f-2df060982840/VW50aXRsZWQgZGVzaWduICgxKS5wbmc=\" width=\"527\" height=\"199\" />\n\n<h3 id=\"flow-1\"><strong>Flow</strong></h3>\n<ol>\n<li><p><strong>Initiate Payout Request</strong>: The merchant calls <code>/payout</code> API. This request includes the customerʼs email address or mobile number, the amount to be transferred, and an optional message. the Payout Method is <code>PAYOUT-INTERAC-REQUEST-MONEY.</code></p>\n</li>\n<li><p><strong>Generate Security Question &amp; Answer (Optional)</strong>: If necessary, the merchant can show the security question and answer (received in the response) that the customer may need to provide to receive the funds, adding an extra layer of security.</p>\n</li>\n<li><p><strong>Send Notification</strong>: The customer receives an email notification with payout instructions. If the customerʼs Interac auto deposit is turned on, the funds will automatically be deposited to the customerʼs designated account, without needing to enter the security question and answer.</p>\n<ol>\n<li><strong>If customer's auto-deposit is turned off,</strong> The customer logs into their banking portal, follow the payment instructions and completes the payment.</li>\n</ol>\n</li>\n<li><p><strong>Confirm Payout Completion</strong>: Upon successful payout, a success webhook will be received, with information about the transaction along with the status.</p>\n</li>\n<li><p><strong>Update Merchantʼs Account</strong>: The merchantʼs system updates the customerʼs account balance to reflect the withdrawn funds.</p>\n</li>\n</ol>\n<h2 id=\"transaction-limits\">Transaction Limits:</h2>\n<p>The limits outlined below are generally for personal accounts and can vary by financial institution and account type. For business accounts, higher limits may apply. It’s advisable to check with your bank for the most accurate limits pertaining to your account</p>\n<h2 id=\"pay-ins\">Pay Ins:</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Criteria</strong></th>\n<th><strong>Min Amount</strong></th>\n<th><strong>Max Amount</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Per Transaction</td>\n<td>0.01 CAD</td>\n<td>3,000 CAD</td>\n</tr>\n<tr>\n<td>Per Day</td>\n<td>0.01 CAD</td>\n<td>3,000 CAD</td>\n</tr>\n<tr>\n<td>Per User (over a 7 day rolling period)</td>\n<td>0.01 CAD</td>\n<td>10,000 CAD</td>\n</tr>\n<tr>\n<td>Per Month (over a 30 day rolling period)</td>\n<td>0.01 CAD</td>\n<td>20,000 CAD</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"pay-outs\">Pay Outs:</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Criteria</strong></th>\n<th><strong>Min Amount</strong></th>\n<th><strong>Max Amount</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Per Transaction</td>\n<td>10 CAD</td>\n<td>3,000 CAD</td>\n</tr>\n<tr>\n<td>Per Day</td>\n<td>10 CAD</td>\n<td>10,000 CAD</td>\n</tr>\n<tr>\n<td>Per User (over a 7 day rolling period)</td>\n<td>10 CAD</td>\n<td>70,000 CAD</td>\n</tr>\n<tr>\n<td>Per Month (over a 30 day rolling period)</td>\n<td>10 CAD</td>\n<td>100,000 CAD</td>\n</tr>\n</tbody>\n</table>\n</div>","_postman_id":"61370070-f4e3-458b-8f98-2fc91e7e14f2","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}}},{"name":"PayIn API","item":[{"name":"Create Purchase","id":"dffef5b5-1af1-4fb3-9d3c-d62ea6736d70","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer Token"}],"body":{"mode":"raw","raw":" {\r\n \"client\": {\r\n \"email\": \"ashishm.21190@gmail.com\",\r\n \"street_address\": \"10 New Burlington Street Apt. 214\",\r\n \"city\": \"London\",\r\n \"full_name\": \"Test test\",\r\n \"zip_code\": \"W1S 3BE\",\r\n \"country\": \"CA\",\r\n \"stateCode\": \"QLD\",\r\n \"phone\": \"+447755564318\",\r\n \"gender\": \"MALE\",\r\n \"date_of_birth\": \"1970-07-10\"\r\n },\r\n \"purchase\": {\r\n \"currency\" : \"CAD\",\r\n \"products\": [\r\n {\r\n \"name\": \"test \",\r\n \"price\": 1\r\n }\r\n ]\r\n },\r\n \"paymentMethod\" : \"INTERAC-REQUEST-MONEY\",\r\n \"brand_id\": \"0cea7af3-23b2-4278-ab94-acf4076cbee4\",\r\n \"success_redirect\": \"https://your.redirect.url/getResponse\",\r\n \"failure_redirect\": \"https://your.redirect.url/getResponse\",\r\n \"success_callback\": \"https://your.success.callback.url\",\r\n \"failure_callback\": \"https://your.success.failure.url\"}","options":{"raw":{"language":"json"}}},"url":"https://app.thefundstream.org/api/v1/purchases/","description":"<p>To Initiate a payment, the very first call to make is <code>/purchases</code> with the required data in the request body.</p>\n<p>To generate a Purchase, you are required to provide the <code>Brand ID</code> (in the request body) and <code>API key</code> (in the header) Both can be located in the Dashboard section of your merchant account login.</p>\n<p>The request body structure is shown on the request body of the example request shown here.</p>\n<p>The following (see table below) are the mandatory parameters that are required to create a purchase request.</p>\n<h3 id=\"mandatory-parameters-in-the-request-body\"><strong>Mandatory parameters in the request body:</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Parameter</strong></th>\n<th><strong>Notes</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>client.email</td>\n<td>An Identifier for a user</td>\n</tr>\n<tr>\n<td>client.city</td>\n<td></td>\n</tr>\n<tr>\n<td>client.country</td>\n<td>ISO-3166 Country Code. It must be upper case.  <br />This should be \"CA\" for Interac</td>\n</tr>\n<tr>\n<td>client.stateCode</td>\n<td>Example “AL”, “XZ”.. Must be in upper case.</td>\n</tr>\n<tr>\n<td>client.street_address</td>\n<td></td>\n</tr>\n<tr>\n<td>client.zip_code</td>\n<td></td>\n</tr>\n<tr>\n<td>client.phone</td>\n<td></td>\n</tr>\n<tr>\n<td>client.full_name</td>\n<td></td>\n</tr>\n<tr>\n<td>purchase.currency</td>\n<td>ISO 4217 code for currency you want to send the transaction in.  <br />This should be 'CAD' for Interac</td>\n</tr>\n<tr>\n<td>purchase.products.name</td>\n<td></td>\n</tr>\n<tr>\n<td>purchase.products.price</td>\n<td>Price in decimal format.  <br />example 1:  <br />EUR 5 , should be sent as 5.00  <br />  <br />example 2:  <br />USD 10 and 37 cents , should be sent as 10.37</td>\n</tr>\n<tr>\n<td>brand_id</td>\n<td>Obtain from Dashboard section of your merchant account login.</td>\n</tr>\n<tr>\n<td>success_redirect</td>\n<td>URL to send the user if the transactions is successful</td>\n</tr>\n<tr>\n<td>failure_redirect</td>\n<td>URL to send the user if the transactions is UNSUCCESSFUL</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"optional-parameters\">Optional Parameters</h2>\n<h3 id=\"expireinmin\">expireInMin</h3>\n<p>This parameter, when passed in the PayIn request, sets the time window within which a customer should make the Interac payment through their bank's app. If a customer doesn't complete the payment within the configured time window, the status of the payment will be marked as 'EXPIRED' in Fundstream.</p>\n<p>However, in certain cases, a payment made outside of this window could still be successful i.e. customer's account may be debited which would result in inconsistencies among Fundstream's, merchant's and customer's status of the transaction. To avoid such cases it is advised to set the expiry time limit appropriately and advise the customers to make payment within this window. However, if there is an inconsistency between the status at Fundstream and at customer's Bank, the merchant and Fundstream will reconcile the amounts during the settlement.</p>\n<h3 id=\"merchantref\">merchantRef</h3>\n<p>The <code>merchantRef</code> parameter, although not mandatory, is strongly advised for merchants to specify. Its inclusion offers two significant advantages for the merchant:</p>\n<ol>\n<li><p><strong>Prevention of Duplicate Requests:</strong> When a <code>merchantRef</code> is utilized, it acts as a unique identifier. This means that if a second purchase request is made using the same <code>merchantRef</code> (reference number), the system will recognize it and prevent duplicate transactions from occurring. This prevents unintended or duplicate purchases.</p>\n</li>\n<li><p><strong>Facilitation of Transaction Retrieval:</strong> In situations where the response from the initial purchase request times out or the 'purchaseId' isn't received, having the <code>merchantRef</code> allows the merchant to retrieve detailed transaction information. This ensures they can track and access the specific purchase details related to that reference, even if the immediate response was not received.</p>\n</li>\n</ol>\n<p>However, if the merchant does not specify the 'merchantRef' parameter, the platform will automatically assign and use an internal 'purchaseId' as a reference for that transaction.</p>\n<h3 id=\"paymentmethod\">paymentMethod</h3>\n<p>The <code>paymentMethod</code> parameter identifies which payment solution merchant wants to use to perform a transaction. If parameter is provided, than Fundstream will perform direct payment with the selected payment method instead of loading Fundstream URL.</p>\n<h3 id=\"possible-error-messages\">Possible Error Messages</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Error Messages</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Invalid format of Date_of_Birth[allowed format: yyyy-mm-dd]</td>\n<td></td>\n</tr>\n<tr>\n<td>Enter Valid Email</td>\n<td></td>\n</tr>\n<tr>\n<td>Please submit Valid Alpha2 Country Code Ex:(AF,IN) in \\\"country\\\" parameter</td>\n<td></td>\n</tr>\n<tr>\n<td>Please pass Valid State Code</td>\n<td></td>\n</tr>\n<tr>\n<td>Please pass valid street address in \\\"street_address\\\" parameter</td>\n<td></td>\n</tr>\n<tr>\n<td>Please pass valid city name in \\\"city\\\" parameter</td>\n<td></td>\n</tr>\n<tr>\n<td>Please pass valid postal Code name in \\\"zip_code\\\" parameter</td>\n<td></td>\n</tr>\n<tr>\n<td>You are not Allowed for Live Transaction</td>\n<td></td>\n</tr>\n<tr>\n<td>Minimum amount is not set for this merchant</td>\n<td></td>\n</tr>\n<tr>\n<td>success_redirect/failure_redirect/brand_id is missing</td>\n<td></td>\n</tr>\n<tr>\n<td>brand_id cannot be null</td>\n<td></td>\n</tr>\n<tr>\n<td>success_redirect cannot be null</td>\n<td></td>\n</tr>\n<tr>\n<td>failure_redirect cannot be null</td>\n<td></td>\n</tr>\n<tr>\n<td>Invalid failure_redirect: minimum 10 characters</td>\n<td></td>\n</tr>\n<tr>\n<td>purchase.products.price cannot be null</td>\n<td></td>\n</tr>\n<tr>\n<td>purchase.products[0].name/purchase.products[0].price are missing</td>\n<td></td>\n</tr>\n<tr>\n<td>Your charges setting is incomplete .Plese Contact to Administrator.</td>\n<td></td>\n</tr>\n<tr>\n<td>Currency \"{curr_name}\" is Not Allowed</td>\n<td></td>\n</tr>\n<tr>\n<td>Transaction amount must be equal or greater to minimum trans amount</td>\n<td></td>\n</tr>\n<tr>\n<td>Allowed Limit for this card for particular time period has been consumed</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Note:</strong> For certain use cases, in addition to long format purchase Id, Fundstream also provides a 7 digit unique code for each purchase starting with digit 4, eg 4000001</p>\n<p><em>“purchaseIdShortCode”: “4000013\"</em></p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}},"urlObject":{"path":["purchases",""],"host":["https://app.thefundstream.org/api/v1"],"query":[],"variable":[]}},"response":[{"id":"06a6d02b-a4df-49ab-aca4-8c5ba5c90128","name":"Purchase- success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer Token"}],"body":{"mode":"raw","raw":" {\r\n \"client\": {\r\n \"email\": \"ashishm.21190@gmail.com\",\r\n \"street_address\": \"10 New Burlington Street Apt. 214\",\r\n \"city\": \"London\",\r\n \"full_name\": \"Test test\",\r\n \"zip_code\": \"W1S 3BE\",\r\n \"country\": \"CA\",\r\n \"stateCode\": \"QLD\",\r\n \"phone\": \"+447755564318\",\r\n \"gender\": \"MALE\",\r\n \"date_of_birth\": \"1970-07-10\"\r\n },\r\n \"purchase\": {\r\n \"currency\" : \"CAD\",\r\n \"products\": [\r\n {\r\n \"name\": \"test \",\r\n \"price\": 1\r\n }\r\n ]\r\n },\r\n \"paymentMethod\" : \"Interac-e-Transfer\",\r\n \"brand_id\": \"0cea7af3-23b2-4278-ab94-acf4076cbee4\",\r\n \"success_redirect\": \"https://your.redirect.url/getResponse\",\r\n \"failure_redirect\": \"https://your.redirect.url/getResponse\",\r\n \"success_callback\": \"https://your.success.callback.url\",\r\n \"failure_callback\": \"https://your.success.failure.url\"}","options":{"raw":{"language":"json"}}},"url":"https://app.thefundstream.org/api/v1/purchases"},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"purchaseId\": \"670cb0affcc7f4706acb65e0\",\n    \"client\": {\n        \"email\": \"ashishm.21190@gmail.com\",\n        \"phone\": \"+447755564318\",\n        \"full_name\": \"Test test\",\n        \"date_of_birth\": \"1970-07-10\",\n        \"street_address\": \"10 New Burlington Street Apt. 214\",\n        \"country\": \"CA\",\n        \"city\": \"London\",\n        \"zip_code\": \"W1S 3BE\",\n        \"cc\": [],\n        \"bcc\": [],\n        \"gender\": \"MALE\",\n        \"avatarUrl\": \"https://res.cloudinary.com/w22/image/upload/v1663783641/photos/currencies/ngn.png\",\n        \"stateCode\": \"QLD\"\n    },\n    \"updated_on\": 1728884911,\n    \"type\": \"purchase\",\n    \"paymentMethod\": \"INTERAC-REQUEST-MONEY\",\n    \"amountUnit\": \"MAJOR\",\n    \"errorMsg\": \"\",\n    \"redirectType\": \"POST\",\n    \"force_recurring\": false,\n    \"created_on\": 1728884911,\n    \"merchantRef\": \"670cb0affcc7f4706acb65e0\",\n    \"merchantName\": \"ajay03\",\n    \"purchase\": {\n        \"currency\": \"CAD\",\n        \"products\": [\n            {\n                \"name\": \"test\",\n                \"quantity\": 1,\n                \"price\": 1,\n                \"discount\": 0,\n                \"tax_percent\": \"0.00\"\n            }\n        ],\n        \"total\": 1,\n        \"language\": \"en\",\n        \"notes\": \"\",\n        \"debt\": 0,\n        \"total_formatted\": 1,\n        \"expireInMin\": \"1440\",\n        \"request_client_details\": [],\n        \"email_message\": \"\"\n    },\n    \"payment\": {\n        \"is_outgoing\": false,\n        \"payment_type\": \"PURCHASE\",\n        \"amount\": 1,\n        \"currency\": \"CAD\",\n        \"net_amount\": 1,\n        \"fee_amount\": 0,\n        \"pending_amount\": 0,\n        \"pending_unfreeze_on\": null,\n        \"description\": \"\",\n        \"paid_on\": 1728884911,\n        \"remote_paid_on\": 1728884911\n    },\n    \"issuer_details\": {\n        \"website\": \"\",\n        \"legal_street_address\": \"\",\n        \"legal_country\": \"\",\n        \"legal_city\": \"\",\n        \"legal_zip_code\": \"\",\n        \"bank_accounts\": [\n            {}\n        ],\n        \"legal_name\": \"r4\",\n        \"brand_name\": \"r4\",\n        \"registration_number\": \"\",\n        \"tax_number\": \"\"\n    },\n    \"transaction_data\": {\n        \"payment_method\": \"\",\n        \"flow\": \"payform\",\n        \"extra\": {\n            \"amount\": 1,\n            \"masked_pan\": \"INTERAC-DEBIT\"\n        },\n        \"country\": \"\",\n        \"attempts\": [\n            {\n                \"client_ip\": \"110.235.229.9\",\n                \"type\": \"execute\",\n                \"payment_method\": \"INTERAC-DEBIT\",\n                \"flow\": \"payform\",\n                \"successful\": true,\n                \"country\": \"INTERAC-DEBIT\",\n                \"processing_time\": 1728884911,\n                \"extra\": {\n                    \"amount\": 1,\n                    \"masked_pan\": \"INTERAC-DEBIT\"\n                }\n            }\n        ]\n    },\n    \"status\": \"PAYMENT_IN_PROCESS\",\n    \"status_history\": [\n        {\n            \"status\": \"created\",\n            \"timestamp\": 1728884911\n        },\n        {\n            \"status\": \"pending_execute\",\n            \"timestamp\": 1728884911\n        },\n        {\n            \"status\": \"payment_in_process\",\n            \"timestamp\": 1728884911\n        }\n    ],\n    \"is_test\": false,\n    \"brand_id\": \"0cea7af3-23b2-4278-ab94-acf4076cbee4\",\n    \"send_receipt\": false,\n    \"is_recurring_token\": false,\n    \"skip_capture\": false,\n    \"reference_generated\": \"PS3\",\n    \"issued\": \"2024-10-14\",\n    \"due\": 1728884911,\n    \"refund_upto\": 1744433315,\n    \"cc_descriptor\": \"\",\n    \"fraudScore\": \"NA\",\n    \"trustScore\": \"NA\",\n    \"refund_availability\": \"NONE\",\n    \"refundable_amount\": 1,\n    \"success_redirect\": \"https://your.redirect.url/getResponse.jsp?success=true\",\n    \"failure_redirect\": \"https://your.redirect.url/getResponse.jsp?success=false\",\n    \"cancel_redirect\": \"\",\n    \"success_callback\": \"https://your.success.callback.url\",\n    \"failure_callback\": \"https://your.success.failure.url\",\n    \"platform\": \"API\",\n    \"created_from_ip\": \"110.235.229.9\",\n    \"checkout_url\": \"https://app.thefundstream.org/payments/670cb0affcc7f4706acb65e0/\",\n    \"payoutProcess\": false\n}"},{"id":"f3e7dc69-fe5e-445c-a99a-4dc57a585f79","name":"Create Purchase","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer Token"}],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"https://app.thefundstream.org/api/v1/purchases"},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Error Message\",\n    \"code\": \"error_code\"\n}"}],"_postman_id":"dffef5b5-1af1-4fb3-9d3c-d62ea6736d70"},{"name":"Get Status","id":"b4007653-363d-4a81-ac17-5d6b3f6d53ce","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer Token","type":"text"}],"url":"https://app.thefundstream.org/api/v1/purchases/{purchaseId}/","description":"<p>This API tells you about all the details of a purchase (PayIn), including its history</p>\n<p><strong>Note:</strong> With respect to bank transfers, the purchase request is synonymous with the PayIn request.</p>\n<h3 id=\"mandatory\">Mandatory</h3>\n<p>you need to pass the <code>PurchaseID</code> in the API URL</p>\n<h3 id=\"possible-value-of-status\">Possible Value of Status</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Status</strong></th>\n<th><strong>Notes</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>paid</td>\n<td>Transaction Successful</td>\n</tr>\n<tr>\n<td>payment_in_process</td>\n<td>Payment is under Processing</td>\n</tr>\n<tr>\n<td>expired</td>\n<td>Purchase has Expired.</td>\n</tr>\n<tr>\n<td>error</td>\n<td>Transaction has Failed.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"response-examples\">Response Examples</h3>\n<p>In the response examples you can see instances of both <code>Paid</code> and <code>Error</code> Status purchases.</p>\n<h3 id=\"error-details\">Error Details</h3>\n<p>If there are any issues on the Purchase you can get more details from the <code>transaction_data.attempts.error</code> attribute of the response object</p>\n<h3 id=\"errors\">Errors</h3>\n<p>If there are any errors then it'll be in the format of :</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"descriptive error message\",\n    \"code\": \"error_code\"\n}\n\n</code></pre>\n<p>Please see the Status Code section for further details.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}},"urlObject":{"path":["purchases","{purchaseId}",""],"host":["https://app.thefundstream.org/api/v1"],"query":[],"variable":[]}},"response":[{"id":"f0147256-4843-4161-9730-a2aec404d0b5","name":"Purchases-success","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer Token"}],"url":"https://app.thefundstream.org/api/v1/purchases/{purchaseId}/"},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\r\n    \"purchaseId\": \"670dfe26de28c320be6d8a5e\",\r\n    \"client\": {\r\n        \"email\": \"ashishm.21190@gmail.com\",\r\n        \"phone\": \"+447755564318\",\r\n        \"full_name\": \"Test test\",\r\n        \"date_of_birth\": \"1970-07-10\",\r\n        \"street_address\": \"10 New Burlington Street Apt. 214\",\r\n        \"country\": \"CA\",\r\n        \"city\": \"London\",\r\n        \"zip_code\": \"W1S 3BE\",\r\n        \"cc\": [],\r\n        \"bcc\": [],\r\n        \"gender\": \"MALE\",\r\n        \"stateCode\": \"QLD\"\r\n    },\r\n    \"updated_on\": 1728971531,\r\n    \"type\": \"purchase\",\r\n    \"paymentMethod\": \"INTERAC-E-TRANSFER\",\r\n    \"amountUnit\": \"MAJOR\",\r\n    \"errorMsg\": \"Transaction succeeded-APPROVED\",\r\n    \"redirectType\": \"GET\",\r\n    \"force_recurring\": false,\r\n    \"created_on\": 1728970278,\r\n    \"merchantRef\": \"670dfe26de28c320be6d8a5e\",\r\n    \"merchantName\": \"merchant002\",\r\n    \"purchase\": {\r\n        \"currency\": \"CAD\",\r\n        \"products\": [\r\n            {\r\n                \"name\": \"test\",\r\n                \"quantity\": 1.0,\r\n                \"price\": 1.0,\r\n                \"discount\": 0,\r\n                \"tax_percent\": \"0.00\"\r\n            }\r\n        ],\r\n        \"total\": 1.0,\r\n        \"language\": \"en\",\r\n        \"notes\": \"\",\r\n        \"debt\": 0,\r\n        \"total_formatted\": 1.0,\r\n        \"expireInMin\": \"1440\",\r\n        \"request_client_details\": [],\r\n        \"timezone\": \"MIT\",\r\n        \"email_message\": \"\"\r\n    },\r\n    \"payment\": {\r\n        \"is_outgoing\": false,\r\n        \"payment_type\": \"PURCHASE\",\r\n        \"amount\": 1.0,\r\n        \"currency\": \"CAD\",\r\n        \"net_amount\": 1.0,\r\n        \"fee_amount\": 0.0,\r\n        \"pending_amount\": 0.0,\r\n        \"pending_unfreeze_on\": null,\r\n        \"description\": \"\",\r\n        \"paid_on\": 1728970278,\r\n        \"remote_paid_on\": 1728970278\r\n    },\r\n    \"issuer_details\": {\r\n        \"website\": \"\",\r\n        \"legal_street_address\": \"\",\r\n        \"legal_country\": \"\",\r\n        \"legal_city\": \"\",\r\n        \"legal_zip_code\": \"\",\r\n        \"bank_accounts\": [\r\n            {}\r\n        ],\r\n        \"legal_name\": \"test6\",\r\n        \"brand_name\": \"test6\",\r\n        \"registration_number\": \"\",\r\n        \"tax_number\": \"\"\r\n    },\r\n    \"transaction_data\": {\r\n        \"payment_method\": \"\",\r\n        \"flow\": \"payform\",\r\n        \"extra\": {\r\n            \"amount\": 1.0,\r\n            \"masked_pan\": \"INTERAC-E-TRANSFER\"\r\n        },\r\n        \"country\": \"\",\r\n        \"attempts\": [\r\n            {\r\n                \"client_ip\": \"103.59.75.207\",\r\n                \"type\": \"execute\",\r\n                \"payment_method\": \"INTERAC-E-TRANSFER\",\r\n                \"flow\": \"payform\",\r\n                \"successful\": true,\r\n                \"country\": \"INTERAC-E-TRANSFER\",\r\n                \"processing_time\": 1728970278,\r\n                \"extra\": {\r\n                    \"amount\": 1.0,\r\n                    \"masked_pan\": \"INTERAC-E-TRANSFER\"\r\n                }\r\n            }\r\n        ]\r\n    },\r\n    \"status\": \"PAID\",\r\n    \"status_history\": [\r\n        {\r\n            \"status\": \"created\",\r\n            \"timestamp\": 1728970278\r\n        },\r\n        {\r\n            \"status\": \"pending_execute\",\r\n            \"timestamp\": 1728970278\r\n        },\r\n        {\r\n            \"status\": \"payment_in_process\",\r\n            \"timestamp\": 1728970278\r\n        },\r\n        {\r\n            \"status\": \"paid\",\r\n            \"timestamp\": 1728971531\r\n        },\r\n        {\r\n            \"status\": \"viewed\",\r\n            \"timestamp\": 1729154373\r\n        }\r\n    ],\r\n    \"viewedOn\": 1729154373,\r\n    \"is_test\": false,\r\n    \"brand_id\": \"c4003b2c-22d4-4dc1-ad0c-c6b54f8c9636\",\r\n    \"send_receipt\": false,\r\n    \"is_recurring_token\": false,\r\n    \"skip_capture\": false,\r\n    \"reference_generated\": \"PS11863\",\r\n    \"issued\": \"2024-10-15\",\r\n    \"due\": 1728970278,\r\n    \"refund_upto\": 1744518682,\r\n    \"cc_descriptor\": \"\",\r\n    \"fraudScore\": \"NA\",\r\n    \"trustScore\": \"NA\",\r\n    \"refund_availability\": \"NONE\",\r\n    \"refundable_amount\": 1.0,\r\n    \"success_redirect\": \"https://your.redirect.url/getResponse.jsp?success=true\",\r\n    \"failure_redirect\": \"https://your.redirect.url/getResponse.jsp?success=false\",\r\n    \"cancel_redirect\": \"\",\r\n    \"success_callback\": \"https://your.success.callback.url\",\r\n    \"failure_callback\": \"https://your.success.failure.url\",\r\n    \"platform\": \"API\",\r\n    \"created_from_ip\": \"103.59.75.207\",\r\n    \"checkout_url\": \"https://app.thefundstream.org/payments/670dfe26de28c320be6d8a5e/\",\r\n    \"payoutProcess\": false\r\n}{\r\n    \"purchaseId\": \"670dfe26de28c320be6d8a5e\",\r\n    \"client\": {\r\n        \"email\": \"ashishm.21190@gmail.com\",\r\n        \"phone\": \"+447755564318\",\r\n        \"full_name\": \"Test test\",\r\n        \"date_of_birth\": \"1970-07-10\",\r\n        \"street_address\": \"10 New Burlington Street Apt. 214\",\r\n        \"country\": \"CA\",\r\n        \"city\": \"London\",\r\n        \"zip_code\": \"W1S 3BE\",\r\n        \"cc\": [],\r\n        \"bcc\": [],\r\n        \"gender\": \"MALE\",\r\n        \"stateCode\": \"QLD\"\r\n    },\r\n    \"updated_on\": 1728971531,\r\n    \"type\": \"purchase\",\r\n    \"paymentMethod\": \"INTERAC-E-TRANSFER\",\r\n    \"amountUnit\": \"MAJOR\",\r\n    \"errorMsg\": \"Transaction succeeded-APPROVED\",\r\n    \"redirectType\": \"GET\",\r\n    \"force_recurring\": false,\r\n    \"created_on\": 1728970278,\r\n    \"merchantRef\": \"670dfe26de28c320be6d8a5e\",\r\n    \"merchantName\": \"merchant002\",\r\n    \"purchase\": {\r\n        \"currency\": \"CAD\",\r\n        \"products\": [\r\n            {\r\n                \"name\": \"test\",\r\n                \"quantity\": 1.0,\r\n                \"price\": 1.0,\r\n                \"discount\": 0,\r\n                \"tax_percent\": \"0.00\"\r\n            }\r\n        ],\r\n        \"total\": 1.0,\r\n        \"language\": \"en\",\r\n        \"notes\": \"\",\r\n        \"debt\": 0,\r\n        \"total_formatted\": 1.0,\r\n        \"expireInMin\": \"1440\",\r\n        \"request_client_details\": [],\r\n        \"timezone\": \"MIT\",\r\n        \"email_message\": \"\"\r\n    },\r\n    \"payment\": {\r\n        \"is_outgoing\": false,\r\n        \"payment_type\": \"PURCHASE\",\r\n        \"amount\": 1.0,\r\n        \"currency\": \"CAD\",\r\n        \"net_amount\": 1.0,\r\n        \"fee_amount\": 0.0,\r\n        \"pending_amount\": 0.0,\r\n        \"pending_unfreeze_on\": null,\r\n        \"description\": \"\",\r\n        \"paid_on\": 1728970278,\r\n        \"remote_paid_on\": 1728970278\r\n    },\r\n    \"issuer_details\": {\r\n        \"website\": \"\",\r\n        \"legal_street_address\": \"\",\r\n        \"legal_country\": \"\",\r\n        \"legal_city\": \"\",\r\n        \"legal_zip_code\": \"\",\r\n        \"bank_accounts\": [\r\n            {}\r\n        ],\r\n        \"legal_name\": \"test6\",\r\n        \"brand_name\": \"test6\",\r\n        \"registration_number\": \"\",\r\n        \"tax_number\": \"\"\r\n    },\r\n    \"transaction_data\": {\r\n        \"payment_method\": \"\",\r\n        \"flow\": \"payform\",\r\n        \"extra\": {\r\n            \"amount\": 1.0,\r\n            \"masked_pan\": \"INTERAC-E-TRANSFER\"\r\n        },\r\n        \"country\": \"\",\r\n        \"attempts\": [\r\n            {\r\n                \"client_ip\": \"103.59.75.207\",\r\n                \"type\": \"execute\",\r\n                \"payment_method\": \"INTERAC-E-TRANSFER\",\r\n                \"flow\": \"payform\",\r\n                \"successful\": true,\r\n                \"country\": \"INTERAC-E-TRANSFER\",\r\n                \"processing_time\": 1728970278,\r\n                \"extra\": {\r\n                    \"amount\": 1.0,\r\n                    \"masked_pan\": \"INTERAC-E-TRANSFER\"\r\n                }\r\n            }\r\n        ]\r\n    },\r\n    \"status\": \"PAID\",\r\n    \"status_history\": [\r\n        {\r\n            \"status\": \"created\",\r\n            \"timestamp\": 1728970278\r\n        },\r\n        {\r\n            \"status\": \"pending_execute\",\r\n            \"timestamp\": 1728970278\r\n        },\r\n        {\r\n            \"status\": \"payment_in_process\",\r\n            \"timestamp\": 1728970278\r\n        },\r\n        {\r\n            \"status\": \"paid\",\r\n            \"timestamp\": 1728971531\r\n        },\r\n        {\r\n            \"status\": \"viewed\",\r\n            \"timestamp\": 1729154373\r\n        }\r\n    ],\r\n    \"viewedOn\": 1729154373,\r\n    \"is_test\": false,\r\n    \"brand_id\": \"c4003b2c-22d4-4dc1-ad0c-c6b54f8c9636\",\r\n    \"send_receipt\": false,\r\n    \"is_recurring_token\": false,\r\n    \"skip_capture\": false,\r\n    \"reference_generated\": \"PS11863\",\r\n    \"issued\": \"2024-10-15\",\r\n    \"due\": 1728970278,\r\n    \"refund_upto\": 1744518682,\r\n    \"cc_descriptor\": \"\",\r\n    \"fraudScore\": \"NA\",\r\n    \"trustScore\": \"NA\",\r\n    \"refund_availability\": \"NONE\",\r\n    \"refundable_amount\": 1.0,\r\n    \"success_redirect\": \"https://your.redirect.url/getResponse.jsp?success=true\",\r\n    \"failure_redirect\": \"https://your.redirect.url/getResponse.jsp?success=false\",\r\n    \"cancel_redirect\": \"\",\r\n    \"success_callback\": \"https://your.success.callback.url\",\r\n    \"failure_callback\": \"https://your.success.failure.url\",\r\n    \"platform\": \"API\",\r\n    \"created_from_ip\": \"103.59.75.207\",\r\n    \"checkout_url\": \"https://app.thefundstream.org/payments/670dfe26de28c320be6d8a5e/\",\r\n    \"payoutProcess\": false\r\n}"},{"id":"58e7ad67-2f31-4b8d-9df5-fdce0c6c4816","name":"Purchases","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer Token","type":"text"}],"url":"https://app.thefundstream.org/api/v1/purchases/{purchaseId}/"},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Error Message\",\n    \"code\": \"error_code\"\n}"}],"_postman_id":"b4007653-363d-4a81-ac17-5d6b3f6d53ce"}],"id":"9dd51cc4-a761-4cd7-87fa-056d1b05b58a","description":"<p><strong>API Flow</strong></p>\n<img src=\"https://content.pstmn.io/f3b53540-b97f-49ee-b71d-377315760fba/V2hhdHNBcHAgSW1hZ2UgMjAyNC0xMi0wOSBhdCAxMS4wNi4yMi5qcGVn\" />\n\n<ol>\n<li><p>The merchant calls the INTERAC-REQUEST-MONEY /purchases API to initiate a Payin (deposit/collections) transaction.</p>\n</li>\n<li><p>Payment link is generated, and customer is redirected to follow the payment instructions.</p>\n</li>\n<li><p>After successful or failed payment by the end user, an appropriate webhook would be sent back to the merchant.</p>\n</li>\n</ol>\n","_postman_id":"9dd51cc4-a761-4cd7-87fa-056d1b05b58a","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}}},{"name":"PayOut API","item":[{"name":"Create PayOut","id":"a4670525-bd88-4471-9316-dbc67726077f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer Token"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n       \"email\": \"ashishm.21190@gmail.com\",\r\n       \"country\" : \"CA\",\r\n       \"phone\" : \"+14377717874\",\r\n       \"full_name\": \"Ashish Mistry\"\r\n    },\r\n    \"purpose\" : \"Transfer Reversed\",\r\n    \"currency\" : \"CAD\",\r\n    \"payoutMethod\" : \"PAYOUT-INTERAC-REQUEST-MONEY\",\r\n    \"amount\" : 1,\r\n    \"success_callback\": \"https://webhook.site/d7660184-d724-480c-bad0-cf0480f5518e\",\r\n    \"failure_callback\": \"https://webhook.site/d7660184-d724-480c-bad0-cf0480f5518e\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://app.thefundstream.org/api/v1/payout/","description":"<p>To Initiate a payment, the very first call to make is/payout/</p>\n<p>with the required data in the request body.</p>\n<p>To generate a Payout, you are required to provide the <code>API key</code> (in the header) can be located in the Dashboard section of your merchant account login.</p>\n<p>The request body structure is shown on the request body of the example request shown here.</p>\n<p>The following (see table below) are the mandatory parameters that are required to create a Payout request.</p>\n<h3 id=\"mandatory-parameters-in-the-request-body\"><strong>Mandatory parameters in the request body:</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Parameter</strong></th>\n<th><strong>Notes</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>client.email or client.phone</td>\n<td>An Identifier for a user</td>\n</tr>\n<tr>\n<td>client.full_name</td>\n<td></td>\n</tr>\n<tr>\n<td>client.country</td>\n<td>CA</td>\n</tr>\n<tr>\n<td>payoutMethod</td>\n<td>PAYOUT-INTERAC-REQUEST-MONEY</td>\n</tr>\n<tr>\n<td>Currency</td>\n<td>Note this is currency account for which you have balance</td>\n</tr>\n<tr>\n<td>Amount</td>\n<td></td>\n</tr>\n<tr>\n<td>Purpose</td>\n<td>eg. \"Transfer Reversed\"</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}},"urlObject":{"path":["payout",""],"host":["https://app.thefundstream.org/api/v1"],"query":[{"disabled":true,"key":"","value":""},{"disabled":true,"key":null,"value":""}],"variable":[]}},"response":[{"id":"a03a3b28-9758-417d-ad7b-2287badd710e","name":"create payout-success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer Token","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n       \"email\": \"ashishm.21190@gmail.com\",\r\n       \"country\" : \"CA\",\r\n       \"phone\" : \"+14377717874\",\r\n       \"full_name\": \"Test Person-uk\"\r\n       \r\n    },\r\n    \"purpose\" : \"test payout\",\r\n    \"currency\" : \"CAD\",\r\n    \"payoutMethod\" : \"PAYOUT-INTERAC-REQUEST-MONEY\",\r\n    \"amount\" : 10,\r\n    \"success_callback\": \"https://success.com\",\r\n    \"failure_callback\": \"https://failure.com\"\r\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://app.thefundstream.org/api/v1/payout/","host":["https://app.thefundstream.org/api/v1"],"path":["payout",""],"query":[{"key":"","value":null,"disabled":true},{"key":null,"value":"","disabled":true}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"payoutId\": \"670cb200fcc7f4706acb6759\",\n    \"client\": {\n        \"email\": \"ashishm.21190@gmail.com\",\n        \"phone\": \"+14377717874\",\n        \"full_name\": \"Ashish Mistry\",\n        \"country\": \"CA\"\n    },\n    \"updated_on\": 1728885248,\n    \"payoutMethod\": \"PAYOUT-INTERAC-DEBIT\",\n    \"amountUnit\": \"MAJOR\",\n    \"amount\": 1,\n    \"errorMsg\": \"\",\n    \"purpose\": \"test payout\",\n    \"created_on\": 1728885248,\n    \"merchantRef\": \"670cb200fcc7f4706acb6759\",\n    \"status\": \"PAYOUT_IN_PROCESS\",\n    \"status_history\": [\n        {\n            \"status\": \"created\",\n            \"timestamp\": 1728885248\n        },\n        {\n            \"status\": \"payout_in_process\",\n            \"timestamp\": 1728885253\n        }\n    ],\n    \"currency\": \"CAD\",\n    \"paymentOn\": 0,\n    \"payOutDetails\": {\n        \"emailAddress\": \"ashishm.21190@gmail.com\",\n        \"secretQA\": \"q670200747066759362\",\n        \"secretAnswer\": \"a670200747066759362\"\n    },\n    \"success_callback\": \"https://webhook.site/d7660184-d724-480c-bad0-cf0480f5518e\",\n    \"failure_callback\": \"https://webhook.site/d7660184-d724-480c-bad0-cf0480f5518e\"\n}"},{"id":"0013db5b-2f25-4fb9-9fab-1c564dd4e65e","name":"create payout-error","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer Token","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n       \"email\": \"ashishm.21190@gmail.com\",\r\n       \"country\" : \"CA\",\r\n       \"phone\" : \"+14377717874\",\r\n       \"full_name\": \"Test Person-uk\"\r\n       \r\n    },\r\n    \"purpose\" : \"test payout\",\r\n    \"currency\" : \"CAD\",\r\n    \"payoutMethod\" : \"PAYOUT-INTERAC-REQUEST-MONEY\",\r\n    \"amount\" : 10,\r\n    \"success_callback\": \"https://success.com\",\r\n    \"failure_callback\": \"https://failure.com\"\r\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://app.thefundstream.org/api/v1/payout/","host":["https://app.thefundstream.org/api/v1"],"path":["payout",""],"query":[{"key":"","value":null,"disabled":true},{"key":null,"value":"","disabled":true}]}},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Error Message\",\n    \"code\": \"error_code\"\n}"}],"_postman_id":"a4670525-bd88-4471-9316-dbc67726077f"},{"name":"Get Status","id":"2c1e2064-528c-4648-81ee-ebc3d1199293","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://app.thefundstream.org/api/v1/getpayout/{payoutId}/","description":"<p>This API tells you about all the details of a Payout, including its history</p>\n<h3 id=\"mandatory\">Mandatory</h3>\n<p>you need to pass the payoutId in the API URL</p>\n<h3 id=\"possible-value-of-status\">Possible Value of Status</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Status</strong></th>\n<th><strong>Notes</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>paid</td>\n<td>Transaction Successful</td>\n</tr>\n<tr>\n<td>payout_in_process</td>\n<td>payout is under Processing.</td>\n</tr>\n<tr>\n<td>error</td>\n<td>Transaction has Failed.</td>\n</tr>\n</tbody>\n</table>\n</div><p>The webhook will only be triggered for paid transactions or errors.</p>\n<p>Paid: \"success_callback\": \"<a href=\"https://success.com\">https://success.com</a>\",</p>\n<p>Error: \"failure_callback\": “<a href=\"https://failure.com%E2%80%9D\">https://failure.com”</a></p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}},"urlObject":{"path":["getpayout","{payoutId}",""],"host":["https://app.thefundstream.org/api/v1"],"query":[],"variable":[]}},"response":[{"id":"0b315a92-0cd3-44cc-8a15-24a0181c6564","name":"Get success Status","originalRequest":{"method":"GET","header":[],"url":"https://app.thefundstream.org/api/v1/getpayout/{payoutId}/"},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"payoutId\": \"670926784600a76f8d8a1b43\",\n    \"client\": {\n        \"email\": \"ashishm.21190@gmail.com\",\n        \"phone\": \"+14377717874\",\n        \"full_name\": \"Ashish Mistry\",\n        \"country\": \"CA\"\n    },\n    \"updated_on\": 1728653103,\n    \"payoutMethod\": \"PAYOUT-INTERAC-DEBIT\",\n    \"amountUnit\": \"MAJOR\",\n    \"amount\": 1,\n    \"errorMsg\": \"\",\n    \"purpose\": \"test payout\",\n    \"created_on\": 1728652920,\n    \"merchantRef\": \"670926784600a76f8d8a1b43\",\n    \"merchantName\": \"Ajay002\",\n    \"status\": \"PAID\",\n    \"status_history\": [\n        {\n            \"status\": \"created\",\n            \"timestamp\": 1728652920\n        },\n        {\n            \"status\": \"payout_in_process\",\n            \"timestamp\": 1728652924\n        },\n        {\n            \"status\": \"paid\",\n            \"timestamp\": 1728653103\n        },\n        {\n            \"status\": \"viewed\",\n            \"timestamp\": 1729154507\n        }\n    ],\n    \"viewedOn\": 1729154507,\n    \"currency\": \"CAD\",\n    \"paymentOn\": 1728653103,\n    \"payOutDetails\": {\n        \"emailAddress\": \"ashishm.21190@gmail.com\",\n        \"secretQA\": \"q6709267846007688143362\",\n        \"secretAnswer\": \"a6709267846007688143362\"\n    },\n    \"success_callback\": \"https://webhook.site/d7660184-d724-480c-bad0-cf0480f5518e\",\n    \"failure_callback\": \"https://webhook.site/d7660184-d724-480c-bad0-cf0480f5518e\"\n}"},{"id":"3614ecb0-ba60-40ff-bc0c-2f3767514fd2","name":"Get Error Status","originalRequest":{"method":"GET","header":[],"url":"https://app.thefundstream.org/api/v1/getpayout/{payoutId}/"},"_postman_previewlanguage":"json","header":[{"key":"Content-Type","value":"application/json","description":"","type":"text"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Error Message\",\n    \"code\": \"error_code\"\n}"}],"_postman_id":"2c1e2064-528c-4648-81ee-ebc3d1199293"}],"id":"fcec7778-f7dc-495a-87f7-56dfa5af134d","description":"<p><strong>API Flow</strong></p>\n<img src=\"https://lh7-us.googleusercontent.com/Uxy8jmp5RP-c360-oIMAZy2As8naqJdARgKsWU0x_BtszfJlwdRVM6-obffbtjTABfI9V0hxH4Ad-Ns96We42lIMdL434tTzLJ6aEQBt0dzX_ZXeM4RtG_kmEeem7WIsN520Zh5PS3xTFYNzOmks0ak\" />\n\n<ul>\n<li><p>The merchant initiates a PayOut via the payout API.</p>\n</li>\n<li><p>Retrieve the PayOut details in the response JSON, where the customer is shown the following details required to make Interac payout: Security Question, Security Answer</p>\n</li>\n<li><p>After a successful or failed payment attempt, the status is reflected on the response, and the details of the status history. You can also get the status through getStatus (purchases/{payID}) API.</p>\n</li>\n</ul>\n","_postman_id":"fcec7778-f7dc-495a-87f7-56dfa5af134d","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}}},{"name":"Get Balance API","item":[{"name":"Checking Balance","id":"d711b7e5-6a51-40eb-b928-81281d78c282","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer Token","type":"text"}],"body":{"mode":"raw","raw":"{ \r\n   \"paymentMethod\" : \"INTERAC-REQUEST-MONEY\"\r\n} \r\n","options":{"raw":{"language":"json"}}},"url":"https://app.thefundstream.org/api/v1/getBalance","description":"<h2 id=\"api-for-checking-balance-payout\"><strong>API for Checking Balance payout</strong></h2>\n<ol>\n<li><p>URL :- /getBalance/</p>\n</li>\n<li><p>RequestType: POST</p>\n</li>\n<li><p>Request Body</p>\n</li>\n</ol>\n<p>Note: Currency is not a mandatory parameter. If no parameter is specified then all respective currency balances would be provided, if any specific currency parameter is provided then only that currency balance would be provided.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}},"urlObject":{"path":["getBalance"],"host":["https://app.thefundstream.org/api/v1"],"query":[],"variable":[]}},"response":[{"id":"e96e2f94-d509-4b75-a019-799b7c65df58","name":"Checking Balance payout-success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{ \r\n   \"paymentMethod\" : \"Interac-e-Transfer\"\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"https://app.thefundstream.org/api/v1/getBalance"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"currency\": \"CAD\",\r\n    \"balance\": \"2.22\",\r\n    \"paymentMethod\": \"Interac-e-Transfer\",\r\n    \"status\": \"success\"\r\n}"},{"id":"1d486774-607e-4b13-a058-236c982edaca","name":"Checking Balance payout-error","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"\r\n","options":{"raw":{"language":"json"}}},"url":"https://app.thefundstream.org/api/v1/getBalance"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"message\": \"Error Message\",\r\n    \"code\": \"No currency account found\"\r\n}\r\n"}],"_postman_id":"d711b7e5-6a51-40eb-b928-81281d78c282"}],"id":"58fbc1f5-12d9-4db3-a0b0-d4dd1224f7c7","_postman_id":"58fbc1f5-12d9-4db3-a0b0-d4dd1224f7c7","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}}}],"id":"17ee2db7-1e5b-44f2-a8d4-8e291fd57044","description":"<h2 id=\"interac-request-money-overview\">Interac Request Money Overview</h2>\n<p>Interac is a leading Canadian payment network that facilitates secure, real-time transactions between bank accounts. It offers multiple payment methods, including Request Money.</p>\n<p>Interac Request Money method allows users to send and receive money directly between bank accounts using payment link. It provides a fast, secure, and convenient alternative to traditional payment methods, accessible through most Canadian banks' online and mobile banking platforms.</p>\n<h3 id=\"interac-request-money-payment-suite-enables-merchants-to-initiate\"><strong>Interac Request Money payment suite enables merchants to initiate:</strong></h3>\n<ul>\n<li><p><strong>PayIns:</strong> Consumers can utilise Interac e-Transfer to transfer funds from their bank account, through their bank’s app or website.</p>\n</li>\n<li><p><strong>Payouts:</strong> Facilitate real-time disbursements directly to consumers' accounts.</p>\n</li>\n</ul>\n","_postman_id":"17ee2db7-1e5b-44f2-a8d4-8e291fd57044","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}}},{"name":"🇧🇷 PIX","item":[{"name":"Concepts","item":[],"id":"420e068e-7063-4ded-8995-818e69f7ba7b","description":"<h2 id=\"payin-flows\">PayIn Flows</h2>\n<p><strong>How it works</strong><br />To initiate a PIX payment, a payer can scan the code using their PIX payment app<br />(such as Itau, NuBank, etc.).<br />These codes comply with BCB’s infrastructure requirements to ensure that the<br />merchant's details are stored securely and there are no errors during the<br />payment journey</p>\n<p><strong>Key Steps</strong></p>\n<img src=\"https://lh7-us.googleusercontent.com/UcxDawvzgu9zw6gCa8i_KrzNRn2baEIsJOJfAkuyBWu9yl3Hky5JyA0xQnNrT18ovLe4Lwl2sdD0kjKMFQUrYUMvnKimvRbxLio0pd5xjNy63PlYeV4phxMspF6sYGLug0OHaw__oWW8UE8m2Nt-3XA\" />\n\n<p><strong>Flow</strong></p>\n<ul>\n<li><p><strong>Merchant platforms can create a dynamic QR code by passing the relevant parameter using Fundstream's API.</strong></p>\n</li>\n<li><p><strong>The platform can display the dynamic QR code on its app or any website at checkout or on a third-party app.</strong></p>\n</li>\n<li><p><strong>The payer scans the QR code from the PIX app of their choice on their mobile.</strong></p>\n</li>\n<li><p><strong>The payer authorizes the transaction on the app by entering a valid PIN.</strong></p>\n</li>\n<li><p><strong>Once the payment is done, the merchant platform receives a transaction status callback from Fundstream to a pre-configured endpoint.</strong></p>\n</li>\n<li><p><strong>The platform can also check the request status using the reference ID generated from the collection request using the Check Payment Status API.</strong></p>\n</li>\n</ul>\n<h2 id=\"payout-flows\"><strong>PayOut flows</strong></h2>\n<p><strong>How it works</strong></p>\n<p>To initiate a payout, the merchant has to give Fundstream the PIX details such as the recipient's PIX key (e.g., CPF/CNPJ, phone number, or email), amount, and any additional information.</p>\n<p>If the merchant has enough balance, then the transaction amount will be deducted from the merchant balance and sent to the user.</p>\n<p><strong>Key Steps</strong></p>\n<img src=\"https://content.pstmn.io/de776d12-fb26-409d-b259-65ab1d8a45a6/VW50aXRsZWQgZGVzaWduLnBuZw==\" />\n\n<p><strong>Flow</strong></p>\n<ul>\n<li><p><strong>Initiation:</strong></p>\n<ul>\n<li><p><strong>User initiates: The process starts with a user requesting payout from the merchant.</strong></p>\n</li>\n<li><p><strong>Merchant approval - if everything is OK, the merchant approves payout request</strong></p>\n</li>\n</ul>\n</li>\n<li><p><strong>Processing:</strong></p>\n<ul>\n<li><p><strong>Payment details: Using Fundstream's API, the merchant provides the recipient's Pix key (which can be a phone number, email, CPF/CNPJ, or random key) and the transfer amount.</strong></p>\n</li>\n<li><p><strong>Funds check: Fundstream</strong> <strong>verifies if sufficient funds are available in the merchant account to cover the transfer.</strong></p>\n</li>\n<li><p><strong>Processing &amp; Key mapping: the recipient's Pix key is validated using the DICT (Transactional Identifier Directory). This central database links Pix keys with users' bank accounts.</strong></p>\n</li>\n</ul>\n</li>\n<li><p><strong>Payout:</strong></p>\n<ul>\n<li><strong>Instant transfer: If everything checks out, the payer's bank instantly transfers the funds to the recipient's bank account. The recipient typically receives confirmation messages from their respective bank about the successful transaction.</strong></li>\n</ul>\n</li>\n</ul>\n","_postman_id":"420e068e-7063-4ded-8995-818e69f7ba7b","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}}},{"name":"PayIn API","item":[{"name":"Create Purchase","id":"2389936d-8a0e-4b55-901a-8a8f822f7044","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer Token"}],"body":{"mode":"raw","raw":"{\r\n   \"client\": {\r\n       \"email\": \"test@gmail.com\",\r\n       \"full_name\": \"test test\",\r\n       \"tax_number\": \"39933551809\"\r\n   },\r\n   \"purchase\": {\r\n       \"currency\": \"BRL\",\r\n       \"products\": [\r\n           {\r\n               \"name\": \"test \",\r\n               \"price\": 10\r\n           }\r\n       ]\r\n   },\r\n   \"paymentMethod\": \"PIX\",\r\n   \"merchantRef\": \"test12\",\r\n   \"brand_id\": \"90ed108b-6753-465d-8a21-e2cc604ff814 \",\r\n   \"success_redirect\": \"https://test.com/getResponse.jsp?success=true\",\r\n   \"failure_redirect\": \"https://test.com/getResponse.jsp?success=false\",\r\n   \"success_callback\": \"https://test1.com\",\r\n   \"failure_callback\": \"https://test2.com\"\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"https://app.thefundstream.org/api/v1/purchases/","description":"<p>To Initiate a payment, the very first call to make is <code>/purchases</code> with the required data in the request body.</p>\n<p>To generate a Purchase, you are required to provide the <code>Brand ID</code> (in the request body) and <code>API key</code> (in the header) Both can be located in the Dashboard section of your merchant account login.</p>\n<p>The request body structure is shown on the request body of the example request shown here.</p>\n<p>The following (see table below) are the mandatory parameters that are required to create a purchase request.</p>\n<h3 id=\"mandatory-parameters-in-the-request-body\"><strong>Mandatory parameters in the request body:</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Parameter</strong></th>\n<th><strong>Notes</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>client.full_name</td>\n<td></td>\n</tr>\n<tr>\n<td>client.email</td>\n<td></td>\n</tr>\n<tr>\n<td>client.tax_number</td>\n<td>CPF (Brazilian tax identification number of customer), must contain 11 digits</td>\n</tr>\n<tr>\n<td>paymentMethod</td>\n<td>PIX</td>\n</tr>\n<tr>\n<td>purchase.products.name</td>\n<td></td>\n</tr>\n<tr>\n<td>purchase.currency</td>\n<td>ISO 4217 code for currency you want to send the transaction in.  <br />This should be 'BRL' for PIX</td>\n</tr>\n<tr>\n<td>purchase.products.price</td>\n<td>Price in decimal format.  <br />example 1:  <br />EUR 5 , should be sent as 5.00  <br />  <br />example 2:  <br />USD 10 and 37 cents , should be sent as 10.37</td>\n</tr>\n<tr>\n<td>brand_id</td>\n<td>Obtain from Dashboard section of your merchant account login.</td>\n</tr>\n<tr>\n<td>success_redirect</td>\n<td>URL to send the user if the transactions is successful</td>\n</tr>\n<tr>\n<td>failure_redirect</td>\n<td>URL to send the user if the transactions is UNSUCCESSFUL</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Note:</strong> the object “pix_payload.payload” contains all the necessary fields to create a page containing a QR code and other information on the merchant portal. The field “pix_payload.qr_code” value is in Base64. This can be used to show the QR code image.</p>\n<h2 id=\"essential-optional-parameters\">Essential Optional Parameters</h2>\n<h3 id=\"merchantref\">merchantRef</h3>\n<p>The <code>merchantRef</code> parameter, although not mandatory, is strongly advised for merchants to specify. Its inclusion offers two significant advantages for the merchant:</p>\n<ol>\n<li><p><strong>Prevention of Duplicate Requests:</strong> When a <code>merchantRef</code> is utilized, it acts as a unique identifier. This means that if a second purchase request is made using the same <code>merchantRef</code> (reference number), the system will recognize it and prevent duplicate transactions from occurring. This prevents unintended or duplicate purchases.</p>\n</li>\n<li><p><strong>Facilitation of Transaction Retrieval:</strong> In situations where the response from the initial purchase request times out or the 'purchaseId' isn't received, having the <code>merchantRef</code> allows the merchant to retrieve detailed transaction information. This ensures they can track and access the specific purchase details related to that reference, even if the immediate response was not received.</p>\n</li>\n</ol>\n<p>However, if the merchant does not specify the 'merchantRef' parameter, the platform will automatically assign and use an internal 'purchaseId' as a reference for that transaction.</p>\n<h3 id=\"paymentmethod\">paymentMethod</h3>\n<p>The <code>paymentMethod</code> parameter identifies which payment solution merchant wants to use to perform a transaction. If parameter is provided, than Fundstream will perform direct payment with the selected payment method instead of loading Fundstream URL.</p>\n<h3 id=\"possible-error-messages\">Possible Error Messages</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Error Messages</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Allowed Limit for this card for particular time period has been consumed</td>\n<td></td>\n</tr>\n<tr>\n<td>some Mandatory Parameter are missing</td>\n<td></td>\n</tr>\n<tr>\n<td>Invalid format of Date_of_Birth[allowed format: yyyy-mm-dd]</td>\n<td></td>\n</tr>\n<tr>\n<td>Invalid Email Format</td>\n<td></td>\n</tr>\n<tr>\n<td>Please submit Valid Alpha2 Country Code Ex:(AF,IN) in \\\"country\\\" parameter</td>\n<td></td>\n</tr>\n<tr>\n<td>Please pass Valid State Code</td>\n<td></td>\n</tr>\n<tr>\n<td>Please pass valid street address in \\\"street_address\\\" parameter</td>\n<td></td>\n</tr>\n<tr>\n<td>Please pass valid city name in \\\"city\\\" parameter</td>\n<td></td>\n</tr>\n<tr>\n<td>Please pass valid postal Code name in \\\"zip_code\\\" parameter</td>\n<td></td>\n</tr>\n<tr>\n<td>You are not Allowed for Live Transaction</td>\n<td></td>\n</tr>\n<tr>\n<td>Merchant Limit is not set</td>\n<td></td>\n</tr>\n<tr>\n<td>Minimum amount is not set for this merchant</td>\n<td></td>\n</tr>\n<tr>\n<td>Brand not found!</td>\n<td></td>\n</tr>\n<tr>\n<td>Your charges setting is incomplete .Plese Contact to Administrator.</td>\n<td></td>\n</tr>\n<tr>\n<td>Only <code>“{curr_name}\"</code> currency is allowed</td>\n<td></td>\n</tr>\n<tr>\n<td>Transaction amount must be equal or greater to minimum trans amount</td>\n<td></td>\n</tr>\n<tr>\n<td>Invalid_Parameter</td>\n<td>You'd usually get it when one or more mandatory parameters are not present in the request.</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}},"urlObject":{"path":["purchases",""],"host":["https://app.thefundstream.org/api/v1"],"query":[],"variable":[]}},"response":[{"id":"aa358aee-505f-4016-bb78-0cdfd07d024c","name":"Purchase- success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer Token","type":"text"}],"body":{"mode":"raw","raw":"{\r\n   \"client\": {\r\n       \"email\": \"test@gmail.com\",\r\n       \"full_name\": \"test test\",\r\n       \"tax_number\": \"39933551809\"\r\n   },\r\n   \"purchase\": {\r\n       \"currency\": \"BRL\",\r\n       \"products\": [\r\n           {\r\n               \"name\": \"test \",\r\n               \"price\": 10\r\n           }\r\n       ]\r\n   },\r\n   \"paymentMethod\": \"PIX\",\r\n   \"merchantRef\": \"test12\",\r\n   \"brand_id\": \"90ed108b-6753-465d-8a21-e2cc604ff814 \",\r\n   \"success_redirect\": \"https://test.com/getResponse.jsp?success=true\",\r\n   \"failure_redirect\": \"https://test.com/getResponse.jsp?success=false\",\r\n   \"success_callback\": \"https://test1.com\",\r\n   \"failure_callback\": \"https://test2.com\"\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"https://api.fundstream.net/api/v1/purchases"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n   \"purchaseId\": \"65f9368cb905381ba207b3c4\",\r\n   \"client\": {\r\n       \"email\": \"test@gmail.com\",\r\n       \"full_name\": \"Test test\",\r\n       \"tax_number\": \"39933551809\"\r\n   },\r\n   \"updated_on\": 1710831244,\r\n   \"type\": \"purchase\",\r\n   \"paymentMethod\": \"PIX\",\r\n   \"amountUnit\": \"MAJOR\",\r\n   \"errorMsg\": \"\",\r\n   \"redirectType\": \"POST\",\r\n   \"force_recurring\": false,\r\n   \"created_on\": 1710831244,\r\n   \"merchantRef\": \"65f9368cb905381ba207b3c4\",\r\n   \"merchantName\": \"test\",\r\n   \"purchase\": {\r\n       \"currency\": \"USD\",\r\n       \"products\": [\r\n           {\r\n               \"price\": 10.0\r\n           }\r\n       ],\r\n       \"total\": 10.0,\r\n       \"language\": \"en\",\r\n       \"total_formatted\": 1.0,\r\n       \"timezone\": \"MIT\"\r\n   },\r\n   \"issuer_details\": {\r\n       \"bank_accounts\": [\r\n           {\r\n               \"bank_account\": \"\",\r\n               \"bank_code\": \"\"\r\n           }\r\n       ],\r\n       \"legal_name\": \"newbrand\",\r\n       \"brand_name\": \"newbrand\"\r\n   },\r\n   \"transaction_data\": {},\r\n   \"status\": \"CREATED\",\r\n   \"status_history\": [\r\n       {\r\n           \"status\": \"created\",\r\n           \"timestamp\": 1710831244\r\n       }\r\n   ],\r\n   \"pix_payload\": {\r\n       \"payload\": \"00020101021226800014br.gov.bcb.pix2558pix.asaas.com/qr/cobv/e3eb36eb-7e9b-404d-9bd3-b486a42da3445204000053039865802BR5925A55 CONSULTORIA EM CREDIT6009Sao Paulo61080455202062070503***630451CA\",\r\n       \"qr_code\": \"iVBORw0KGgoAAAANSUhEUgAAAZ8AAAGfCAIAAAAPgEjDAAAP4UlEQVR42u3bUY7cSA4EUN … ..\",\r\n       \"expiration_date\": \"2025-03-27 23:59:59\"\r\n   },\r\n   \"is_test\": false,\r\n   \"brand_id\": \"90ed108b-6753-465d-8a21-e2cc604ff814\",\r\n   \"send_receipt\": false,\r\n   \"is_recurring_token\": false,\r\n   \"skip_capture\": false,\r\n   \"reference_generated\": \"PS2696\",\r\n   \"issued\": \"2024-03-19\",\r\n   \"due\": 1710831244,\r\n   \"refund_upto\": 0,\r\n   \"cc_descriptor\": \"\",\r\n   \"fraudScore\": \"NA\",\r\n   \"trustScore\": \"NA\",\r\n   \"refund_availability\": \"NONE\",\r\n   \"refundable_amount\": 0.0,\r\n   \"success_redirect\": \"https://test.com/getResponse.jsp?success=true\",\r\n   \"failure_redirect\": \"https://test.com/getResponse.jsp?success=false\",\r\n   \"cancel_redirect\": \"\",\r\n   \"success_callback\": \"https://test1.com\",\r\n   \"failure_callback\": \"https://test2.com\",\r\n   \"platform\": \"API\",\r\n   \"created_from_ip\": \"223.182.100.34\",\r\n   \"checkout_url\": \"https://app.thefundstream.org/payments/65f9368cb905381ba207b3c4/\"\r\n}\r\n"},{"id":"0aad66fd-076c-4c8e-b459-8ae9d550f460","name":"Purchase-error","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer Token","type":"text"}],"body":{"mode":"raw","raw":"{\r\n   \"client\": {\r\n       \"email\": \"test@gmail.com\",\r\n       \"street_address\": \"10 New Burlington Street Apt. 214\",\r\n       \"city\": \"London\",\r\n       \"full_name\": \"Test test\",\r\n       \"zip_code\": \"W1S 3BE\",\r\n       \"country\": \"GB\",\r\n       \"date_of_birth\": \"1970-07-10\",\r\n       \"stateCode\": \"QLD\",\r\n       \"phone\": \"+447755564318\"\r\n   },\r\n   \"purchase\": {\r\n       \"currency\": \"USD\",\r\n       \"products\": [\r\n           {\r\n               \"name\": \"test \",\r\n               \"price\": 10\r\n           }\r\n       ]\r\n   },\r\n   \"paymentMethod\": \"BANKTRANSFER\",\r\n   \"brand_id\": \"{{SriTrustScoreTestBrandID}}\",\r\n   \"success_redirect\": \"https://test.com/getResponse.jsp?success=true\",\r\n   \"failure_redirect\": \"https://test.com/getResponse.jsp?success=false\",\r\n   \"success_callback\": \"https://test1.com\",\r\n   \"failure_callback\": \"https://test2.com\"\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"https://app.thefundstream.org/api/v1/purchases"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":""}],"_postman_id":"2389936d-8a0e-4b55-901a-8a8f822f7044"},{"name":"Purchases","id":"85a0245d-8b7c-4319-9388-78be17447f94","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer Token","type":"text"}],"url":"https://app.thefundstream.org/api/v1/purchases/{purchaseId}/","description":"<p>This API tells you about all the details of a purchase, including its history</p>\n<h3 id=\"mandatory\">Mandatory</h3>\n<p>you need to pass the <code>PurchaseID</code> in the API URL</p>\n<h3 id=\"possible-value-of-status\">Possible Value of Status</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Status</strong></th>\n<th><strong>Notes</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>paid</td>\n<td>Transaction Successful</td>\n</tr>\n<tr>\n<td>payment_in_process</td>\n<td>Payment is under Processing</td>\n</tr>\n<tr>\n<td>expired</td>\n<td>The purchase has Expired.</td>\n</tr>\n<tr>\n<td>error</td>\n<td>Transaction has Failed.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"response-examples\">Response Examples</h3>\n<p>In the response examples you can see instances of both <code>Paid</code> and <code>Error</code> Status purchases.</p>\n<h3 id=\"error-details\">Error Details</h3>\n<p>If there are any issues on the Purchase you can get more details from the <code>transaction_data.attempts.error</code> attribute of the response object</p>\n<h3 id=\"errors\">Errors</h3>\n<p>If there are any errors then it'll be in the format of :</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"descriptive error message\",\n    \"code\": \"error_code\"\n}\n\n</code></pre>\n<p>Please see the Status Code section for further details.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}},"urlObject":{"path":["purchases","{purchaseId}",""],"host":["https://app.thefundstream.org/api/v1"],"query":[],"variable":[]}},"response":[{"id":"e8efedb0-26db-400e-b02f-8963b8eb9697","name":"Purchases-success","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer Token","type":"text"}],"url":"https://app.thefundstream.org/api/v1/purchases/{purchaseId}/"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n   \"purchaseId\": \"65f9368cb905381ba207b3c4\",\r\n   \"client\": {\r\n       \"email\": \"test@gmail.com\",\r\n       \"full_name\": \"Test test\",\r\n       \"tax_number\": \"39933551809\"\r\n   },\r\n   \"updated_on\": 1710831244,\r\n   \"type\": \"purchase\",\r\n   \"paymentMethod\": \"PIX\",\r\n   \"amountUnit\": \"MAJOR\",\r\n   \"errorMsg\": \"\",\r\n   \"redirectType\": \"POST\",\r\n   \"force_recurring\": false,\r\n   \"created_on\": 1710831244,\r\n   \"merchantRef\": \"65f9368cb905381ba207b3c4\",\r\n   \"merchantName\": \"test\",\r\n   \"purchase\": {\r\n       \"currency\": \"USD\",\r\n       \"products\": [\r\n           {\r\n               \"price\": 10.0\r\n           }\r\n       ],\r\n       \"total\": 10.0,\r\n       \"language\": \"en\",\r\n       \"total_formatted\": 1.0,\r\n       \"timezone\": \"MIT\"\r\n   },\r\n   \"issuer_details\": {\r\n       \"bank_accounts\": [\r\n           {\r\n               \"bank_account\": \"\",\r\n               \"bank_code\": \"\"\r\n           }\r\n       ],\r\n       \"legal_name\": \"newbrand\",\r\n       \"brand_name\": \"newbrand\"\r\n   },\r\n   \"transaction_data\": {},\r\n   \"status\": \"CREATED\",\r\n   \"status_history\": [\r\n       {\r\n           \"status\": \"created\",\r\n           \"timestamp\": 1710831244\r\n       }\r\n   ],\r\n   \"is_test\": false,\r\n   \"brand_id\": \"90ed108b-6753-465d-8a21-e2cc604ff814\",\r\n   \"send_receipt\": false,\r\n   \"is_recurring_token\": false,\r\n   \"skip_capture\": false,\r\n   \"reference_generated\": \"PS2696\",\r\n   \"issued\": \"2024-03-19\",\r\n   \"due\": 1710831244,\r\n   \"refund_upto\": 0,\r\n   \"cc_descriptor\": \"\",\r\n   \"fraudScore\": \"NA\",\r\n   \"trustScore\": \"NA\",\r\n   \"refund_availability\": \"NONE\",\r\n   \"refundable_amount\": 0.0,\r\n   \"success_redirect\": \"https://test.com/getResponse.jsp?success=true\",\r\n   \"failure_redirect\": \"https://test.com/getResponse.jsp?success=false\",\r\n   \"cancel_redirect\": \"\",\r\n   \"success_callback\": \"https://test1.com\",\r\n   \"failure_callback\": \"https://test2.com\",\r\n   \"platform\": \"API\",\r\n   \"created_from_ip\": \"223.182.100.34\",\r\n   \"checkout_url\": \"https://app.thefundstream.org/payments/65f9368cb905381ba207b3c4/\"\r\n}\r\n"},{"id":"c1eae176-24ca-43d6-9350-4463ff80061d","name":"Purchases","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer Token","type":"text"}],"url":"https://app.thefundstream.org/api/v1/purchases/{purchaseId}/"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"message\": \"Error Message\",\r\n    \"code\": \"error_code\"\r\n}\r\n"}],"_postman_id":"85a0245d-8b7c-4319-9388-78be17447f94"}],"id":"a2b25ecc-9404-4f71-9122-1221221620fa","description":"<p><strong>API Flow</strong></p>\n<img src=\"https://lh7-us.googleusercontent.com/QiIrZmMWISniXvk4h0Wpq5y4QDrWlUNK8cVUra7HhfDL9B12sdZv7kwGJ24R8Hs6AKPLRKZJafk1p5S3jCikw0V1lIBTVUy67hEgNRNNjH5Q2HysOP-3HlHZAjZiVvPsohyopIwZA48ejeFF0Ul1PX4\" alt />\n\n<ol>\n<li><p><strong>Initiate Purchase: The merchant calls the create purchase API to start the purchase process.</strong></p>\n</li>\n<li><p><strong>Get Checkout URL: If the API call is successful, the response body contains a checkout URL.</strong></p>\n</li>\n<li><p><strong>Redirect Client: The merchant redirects the client to the checkout URL received.</strong></p>\n</li>\n<li><p><strong>Client Payment: The client is presented with a QR code to complete the payment.</strong></p>\n<ol>\n<li><strong>Please note that instead of redirecting to the checkout URL, the information to create a page on the merchant’s digital estate itself containing the QR code and other information can be achieved by utilizing the data on the “pix_payload“ object in the response.</strong></li>\n</ol>\n</li>\n<li><p><strong>Payment Outcome: After the payment attempt, the client is redirected to a URL indicating success or failure, which was specified in the create purchase API.</strong></p>\n</li>\n<li><p><strong>Callback Posting: Upon successful or failed payment, the entire payload of the transaction is posted to designated success or failure callback URLs.</strong></p>\n</li>\n</ol>\n","_postman_id":"a2b25ecc-9404-4f71-9122-1221221620fa","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}}},{"name":"PayOut API","item":[{"name":"Create PayOut","id":"99e6bc27-18ef-435f-982f-6e6934baf4de","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer Token"}],"body":{"mode":"raw","raw":"{\r\n   \"client\": {\r\n       \"email\": \"test@gmail.com\",\r\n       \"full_name\": \"Test test\",\r\n       \"documentId\": \" 97c1c590-554b-4449-a0f1-8da9f9756937\",\r\n       \"documentType\": \"evp\"\r\n   },\r\n   \"purpose\": \"payout to test\",\r\n   \"payoutMethod\": \"Payout-PIX\",\r\n   \"amount\": 10,\r\n   \"currency\": \"BRL\",\r\n   \"success_callback\": \"https://Success.com\",\r\n   \"failure_callback\": \"https://failure.com\"\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"https://app.thefundstream.org/api/v1/payout/","description":"<p>To Initiate a payout, the very first call to make is/payout/</p>\n<p>with the required data in the request body.</p>\n<p>To generate a PayOut, you are required to provide the <code>API key</code> (in the header), which can be located in the Dashboard section of your merchant account login.</p>\n<p>The request body structure is shown on the request body of the example request shown here.</p>\n<p>The following (see table below) are the mandatory parameters that are required to create a purchase request.</p>\n<h3 id=\"mandatory-parameters-in-the-request-body\"><strong>Mandatory parameters in the request body:</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Parameter</strong></th>\n<th><strong>Notes</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>client.full_name</td>\n<td></td>\n</tr>\n<tr>\n<td>client.documentId</td>\n<td>Document Type Supported  <br />cpf='tax_id Brazil',  <br />cnpj='tax_id Brazil company',  <br />evp='random key generated by the bank',  <br />email='email as key to receive pix',  <br />phone='phone as key to receive pix' )</td>\n</tr>\n<tr>\n<td>client.documentType</td>\n<td></td>\n</tr>\n<tr>\n<td>payoutMethod</td>\n<td></td>\n</tr>\n<tr>\n<td>Amount</td>\n<td></td>\n</tr>\n<tr>\n<td>Currency</td>\n<td>Note this is currency account for which you have balance</td>\n</tr>\n<tr>\n<td>success_redirect</td>\n<td>URL to send the user if the transactions is successful</td>\n</tr>\n<tr>\n<td>failure_redirect</td>\n<td>URL to send the user if the transactions is UNSUCCESSFUL</td>\n</tr>\n<tr>\n<td>Purpose</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}},"urlObject":{"path":["payout",""],"host":["https://app.thefundstream.org/api/v1"],"query":[{"disabled":true,"key":"","value":""},{"disabled":true,"key":null,"value":""}],"variable":[]}},"response":[{"id":"691ef2a9-25dd-4760-a75c-34a7bccb1071","name":"create payout-success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer Token"}],"body":{"mode":"raw","raw":"{\r\n   \"client\": {\r\n       \"email\": \"test@gmail.com\",\r\n       \"full_name\": \"Test test\",\r\n       \"documentId\": \" 97c1c590-554b-4449-a0f1-8da9f9756937\",\r\n       \"documentType\": \"evp\"\r\n   },\r\n   \"purpose\": \"payout to test\",\r\n   \"payoutMethod\": \"Payout-PIX\",\r\n   \"amount\": 10,\r\n   \"currency\": \"BRL\",\r\n   \"success_callback\": \"https://Success.com\",\r\n   \"failure_callback\": \"https://failure.com\"\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":{"raw":"https://app.thefundstream.org/api/v1/payout/","host":["https://app.thefundstream.org/api/v1"],"path":["payout",""],"query":[{"key":"","value":null,"disabled":true},{"key":null,"value":"","disabled":true}]}},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n   \"payoutId\": \"65f93895c96bae142f7b1765\",\r\n   \"client\": {\r\n       \"email\": \" test@gmail.com \",\r\n       \"full_name\": \"Test test\",\r\n       \"documentId\": \"97c1c590-554b-4449-a0f1-8da9f9756937\",\r\n       \"documentType\": \"evp\",\r\n   },\r\n   \"updated_on\": 1710831765,\r\n   \"payoutMethod\": \"Payout-PIX\",\r\n   \"amountUnit\": \"MAJOR\",\r\n   \"amount\": 20.0,\r\n   \"errorMsg\": \"errors.wallet.transfer_balance_insufficient\",\r\n   \"created_on\": 1710831768,\r\n   \"merchantRef\": \"65f93895c96bae142f7b1765\",\r\n   \"merchantName\": \"test\",\r\n   \"status\": \"ERROR\",\r\n   \"status_history\": [\r\n       {\r\n           \"status\": \"created\",\r\n           \"timestamp\": 1710831765\r\n       },\r\n       {\r\n           \"status\": \"error\",\r\n           \"timestamp\": 1710831768\r\n       }\r\n   ],\r\n   \"currency\": \"BRL\",\r\n   \"success_callback\": https: //Success.com\r\n   \"failure_callback\": \"https://failure.com\"\r\n}\r\n"},{"id":"794bbeb4-2156-4f64-a34c-350fdd0b706c","name":"create payout-error","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer Token"}],"body":{"mode":"raw","raw":"{\r\n   \"client\": {\r\n       \"email\": \"test@gmail.com\",\r\n       \"full_name\": \"Test test\",\r\n       \"documentId\": \" 97c1c590-554b-4449-a0f1-8da9f9756937\",\r\n       \"documentType\": \"evp\"\r\n   },\r\n   \"purpose\": \"payout to test\",\r\n   \"payoutMethod\": \"Payout-PIX\",\r\n   \"amount\": 10,\r\n   \"currency\": \"BRL\",\r\n   \"success_callback\": \"https://Success.com\",\r\n   \"failure_callback\": \"https://failure.com\"\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":{"raw":"https://app.thefundstream.org/api/v1/payout/","host":["https://app.thefundstream.org/api/v1"],"path":["payout",""],"query":[{"key":"","value":null,"disabled":true},{"key":null,"value":"","disabled":true}]}},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":" {\r\n    \"message\": \"Error Message\",\r\n    \"code\": \"error_code\"\r\n}\r\n"}],"_postman_id":"99e6bc27-18ef-435f-982f-6e6934baf4de"},{"name":"Get Status","id":"2d04ace7-8b96-49b7-9baf-84f8a8d56bf2","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://app.thefundstream.org/api/v1/getpayout/{payoutId}/","description":"<p>This API tells you about all the details of a Payout, including its history</p>\n<h3 id=\"mandatory\">Mandatory</h3>\n<p>you need to pass the payoutId in the API URL</p>\n<h3 id=\"possible-value-of-status\">Possible Value of Status</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Status</strong></th>\n<th><strong>Notes</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>paid</td>\n<td>Transaction Successful</td>\n</tr>\n<tr>\n<td>payout_in_process</td>\n<td>payout is under Processing.</td>\n</tr>\n<tr>\n<td>error</td>\n<td>Transaction has Failed.</td>\n</tr>\n</tbody>\n</table>\n</div><p>The webhook will only be triggered for paid transactions or errors.</p>\n<p>Paid: \"success_callback\": \"<a href=\"https://success.com\">https://success.com</a>\",</p>\n<p>Error: \"failure_callback\": “<a href=\"https://failure.com%E2%80%9D\">https://failure.com”</a></p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}},"urlObject":{"path":["getpayout","{payoutId}",""],"host":["https://app.thefundstream.org/api/v1"],"query":[],"variable":[]}},"response":[{"id":"503823a1-a6a0-46ee-a940-d1e386ab65c2","name":"Get Status","originalRequest":{"method":"GET","header":[],"url":"https://api.fundstream.net/api/v1/getpayout/{payoutId}/"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n   \"payoutId\": \"65f93895c96bae142f7b1765\",\r\n   \"client\": {\r\n       \"email\": \"customer141@email.uk\",\r\n       \"full_name\": \"Test Person-uk\",\r\n       \"documentId\": \"97c1c590-554b-4449-a0f1-8da9f9756937\",\r\n       \"documentType\": \"evp\",\r\n   },\r\n   \"updated_on\": 1710831765,\r\n   \"payoutMethod\": \"Payout-PIX\",\r\n   \"amountUnit\": \"MAJOR\",\r\n   \"amount\": 20.0,\r\n   \"errorMsg\": \"errors.wallet.transfer_balance_insufficient\",\r\n   \"created_on\": 1710831768,\r\n   \"merchantRef\": \"65f93895c96bae142f7b1765\",\r\n   \"merchantName\": \"test\",\r\n   \"status\": \"ERROR\",\r\n   \"status_history\": [\r\n       {\r\n           \"status\": \"created\",\r\n           \"timestamp\": 1710831765\r\n       },\r\n       {\r\n           \"status\": \"error\",\r\n           \"timestamp\": 1710831768\r\n       }\r\n   ],\r\n   \"currency\": \"EUR\",\r\n   \"success_callback\": https: //Success.com\r\n   \"failure_callback\": \"https://failure.com\"\r\n}\r\n"},{"id":"2de58cc1-c441-458a-bfad-2ac911a7b6dd","name":"Get Status-error","originalRequest":{"method":"GET","header":[],"url":"https://app.thefundstream.org/api/v1/getpayout/{payoutId}/"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":""}],"_postman_id":"2d04ace7-8b96-49b7-9baf-84f8a8d56bf2"}],"id":"8423d490-127c-4957-a48c-df9de24d63f0","description":"<p><strong>Payout API Flow</strong></p>\n<img src=\"https://lh7-us.googleusercontent.com/C3wVvecNtQw4_DB4-8CRpFabuqko5aLMycrWTkTjyCTHPuK1Of3lNOiyyTV2wKCwT0gLmsFZkfAgJ4sa6NHBp3ea0l6dD9gJAX2FQhOTG4p7pa-YZzQRXY5aHsYOB8uGk76XIcBZ7rLq9G4gHbHnYqU\" alt />\n\n<p><strong>API Steps</strong></p>\n<ul>\n<li><p><strong>The merchant initiates a PayOut via the payout API.</strong> </p>\n</li>\n<li><p><strong>After a successful or failed payment attempt, the status is reflected on the response and the details of the status history.</strong> </p>\n</li>\n<li><p><strong>To get the status of the transaction, call “/purchases/{purchaseId}/” API.</strong></p>\n</li>\n</ul>\n","_postman_id":"8423d490-127c-4957-a48c-df9de24d63f0","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}}},{"name":"Get Balance API","item":[{"name":"Checking Balance","id":"828c7286-f75f-4f1b-b473-f8fcab8fa626","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer Token","type":"text"}],"body":{"mode":"raw","raw":"{ \r\n   \"paymentMethod\" : \"\"\r\n\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"https://app.thefundstream.org/api/v1/getBalance","description":"<h2 id=\"api-for-checking-balance-payout\"><strong>API for Checking Balance payout</strong></h2>\n<ol>\n<li><p>URL :- /getBalance/</p>\n</li>\n<li><p>RequestType: POST</p>\n</li>\n<li><p>Request Body</p>\n</li>\n</ol>\n<p>Note: Currency is not a mandatory parameter. If no parameter is specified then all respective currency balances would be provided, if any specific currency parameter is provided then only that currency balance would be provided.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}},"urlObject":{"path":["getBalance"],"host":["https://app.thefundstream.org/api/v1"],"query":[],"variable":[]}},"response":[{"id":"04925772-3b80-44d1-9a54-58123ea0f088","name":"Checking Balance payout-success","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{ \r\n   \"paymentMethod\" : \"PIX\"\r\n\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"https://api.fundstream.net/api/v1/getBalance"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"paymentMethod\": \"PIX\",\r\n    \"status\": \"success\",\r\n    \"data\": [\r\n        {\r\n            \"currency\": \"BRL\",\r\n            \"balance\": \"0.00\"\r\n        },\r\n        {\r\n            \"currency\": \"USD\",\r\n            \"balance\": \"0.00\"\r\n        },\r\n        {\r\n            \"currency\": \"JPY\",\r\n            \"balance\": \"0.00\"\r\n        }\r\n    ]\r\n}\r\n"},{"id":"c04e7053-d897-4e02-909a-b1e1755872b5","name":"Checking Balance payout-error","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{ \r\n   \"paymentMethod\" : \"PIX\"\r\n\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"https://app.thefundstream.org/api/v1/getBalance"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"message\": \"Error Message\",\r\n    \"code\": \"No currency account found\"\r\n}\r\n"}],"_postman_id":"828c7286-f75f-4f1b-b473-f8fcab8fa626"}],"id":"7522281f-50a0-4db8-9941-183a5e48d873","_postman_id":"7522281f-50a0-4db8-9941-183a5e48d873","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}}}],"id":"46b40944-0290-46f9-956e-bda5806aac4a","_postman_id":"46b40944-0290-46f9-956e-bda5806aac4a","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}}},{"name":"🇪🇬 FawryPay","item":[{"name":"Concepts","item":[],"id":"bfd5c226-2ada-4f1a-889c-31adf1a12402","description":"<h2 id=\"fawry-overview\">Fawry Overview</h2>\n<p>Fawry is a leading Egyptian payment network that facilitates secure, online and offline transactions across various financial services. It offers multiple payment options, including Fawry Pay, enabling seamless transactions between businesses and consumers.</p>\n<p>Fawry Pay allows users to make and receive payments directly through various channels, such as retail points, mobile apps, and online platforms. It provides a fast, secure, and convenient alternative to traditional payment methods, accessible through numerous banks and financial institutions in Egypt.</p>\n<h3 id=\"fundstreams-fawry-product-suite-enables-merchants-to-initiate\">Fundstream's <strong>Fawry product suite enables merchants to initiate:</strong></h3>\n<ul>\n<li><p>PayIns: Consumers can use Fawry Pay to transfer funds from their bank account or via Fawry’s extensive network of retail locations and online services.</p>\n</li>\n<li><p>Payouts*: Facilitate real-time disbursements directly to consumers' accounts or through Fawry's network.</p>\n</li>\n</ul>\n<p>*Note: Payouts APIs are under development and will be availabe soon</p>\n<h2 id=\"payin-flows\">PayIn Flows</h2>\n<p><strong>How it works</strong></p>\n<p>Fundstream's Fawry PayIn leverages Fawry’s payment network to support a wide range of collection scenarios. Merchants can initiate payment requests via various channels such as mobile apps, online platforms, or physical retail points, providing secure, efficient, and flexible options for collecting payments from customers.</p>\n<p><strong>Key Steps</strong></p>\n<img src=\"https://content.pstmn.io/f6db7c5d-71f5-4e5e-aeb8-e238de5cff02/aW1hZ2UucG5n\" width=\"1351\" height=\"472\" />\n\n<p><strong>PayIn Flow</strong></p>\n<ul>\n<li><p>Initiate Payment: The customer initiates a payment by clicking on a ”Pay with FAWRY” button and selecting the deposit amount on the merchant’s website or app.</p>\n</li>\n<li><p>Receive Unique Reference Code: The customer is provided with a unique reference code for the payment.</p>\n</li>\n<li><p>Go to Fawry Agent: The customer visits a Fawry agent, which can be any shop or retail location within Fawry’s extensive network.</p>\n</li>\n<li><p>Provide Reference Code: The customer provides the unique reference code to the Fawry agent.</p>\n</li>\n<li><p>Make Payment: The customer pays the amount due in cash or through available electronic payment methods at the Fawry agent.</p>\n</li>\n<li><p>Receive Confirmation: The customer receives a confirmation message indicating that the payment was successful, either via SMS, email, or app notification.</p>\n</li>\n</ul>\n<h2 id=\"transaction-limits\">Transaction Limits:</h2>\n<h3 id=\"pay-ins\">Pay Ins:</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Criteria</strong></th>\n<th><strong>Min Amount</strong></th>\n<th><strong>Max Amount</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Per Transaction</td>\n<td>10 EGP</td>\n<td>100,000 EGP</td>\n</tr>\n<tr>\n<td>Per Day</td>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>Per User</td>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>Per Month</td>\n<td></td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"pay-outs\">Pay Outs:</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Criteria</strong></th>\n<th><strong>Min Amount</strong></th>\n<th><strong>Max Amount</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Per Transaction</td>\n<td>100 EGP</td>\n<td>150,000 EGP</td>\n</tr>\n<tr>\n<td>Per Day</td>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>Per User</td>\n<td></td>\n<td></td>\n</tr>\n<tr>\n<td>Per Month</td>\n<td></td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","_postman_id":"bfd5c226-2ada-4f1a-889c-31adf1a12402","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}}},{"name":"PayIn API","item":[{"name":"Create Purchase","id":"98810d8e-0b0f-4b16-afa2-8bd808fbc2ff","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer Token"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n       \"email\": \"DEEPAKDEEPAKSINGHAL@gmail.com\",\r\n        \"street_address\": \"10 New Burlington Street Apt. 214\",\r\n        \"city\": \"London\",\r\n        \"full_name\": \"Test test\",\r\n        \"zip_code\": \"W1S 3BE\",\r\n        \"country\": \"EG\",\r\n        \"stateCode\": \"QLD\",\r\n        \"phone\": \"+447755564318\"\r\n    },\r\n    \"purchase\": {\r\n        \"currency\" : \"EGP\",\r\n        \"products\": [\r\n            {\r\n                \"name\": \"test \",\r\n                \"price\": 10\r\n            }\r\n        ]\r\n    },\r\n    \"paymentMethod\" : \"FawryPay\",\r\n    \"brand_id\": \"{{brand_id}}\",\r\n    \"success_redirect\": \"https://your.success.redirect.com/getResponse.jsp?success=true\",\r\n  \"failure_redirect\": \"https://your.failure.redirect.com/getResponse.jsp?success=false\",\r\n  \"success_callback\": \"https://your.success.callback.com\",\r\n  \"failure_callback\": \"https://your.failure.callback.com\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://app.thefundstream.org/api/v1/purchases/","description":"<p>To Initiate a payment, the very first call to make is <code>/purchases</code> with the required data in the request body.</p>\n<p>To generate a Purchase, you are required to provide the <code>Brand ID</code> (in the request body) and <code>API key</code> (in the header) Both can be located in the Dashboard section of your merchant account login.</p>\n<p>The request body structure is shown on the request body of the example request shown here.</p>\n<p>The following (see table below) are the mandatory parameters that are required to create a purchase request.</p>\n<h3 id=\"mandatory-parameters-in-the-request-body\"><strong>Mandatory parameters in the request body:</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Parameter</strong></th>\n<th><strong>Notes</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>client.email</td>\n<td>An Identifier for a user</td>\n</tr>\n<tr>\n<td>client.city</td>\n<td></td>\n</tr>\n<tr>\n<td>client.country</td>\n<td>ISO-3166 Country Code. It must be upper case. Example “SG” (Alpha2)</td>\n</tr>\n<tr>\n<td>client.stateCode</td>\n<td>Example “AL”, “XZ”.. Must be in upper case.</td>\n</tr>\n<tr>\n<td>client.street_address</td>\n<td></td>\n</tr>\n<tr>\n<td>client.zip_code</td>\n<td></td>\n</tr>\n<tr>\n<td>client.phone</td>\n<td></td>\n</tr>\n<tr>\n<td>client.full_name</td>\n<td></td>\n</tr>\n<tr>\n<td>purchase.currency</td>\n<td>ISO 4217 code for currency you want to send the transaction in.  <br />Please note, the currency has to be enbaled by the account manager for your account.</td>\n</tr>\n<tr>\n<td>purchase.products.name</td>\n<td></td>\n</tr>\n<tr>\n<td>purchase.products.price</td>\n<td>Price in decimal format.  <br />example 1:  <br />EUR 5 , should be sent as 5.00  <br />  <br />example 2:  <br />USD 10 and 37 cents , should be sent as 10.37</td>\n</tr>\n<tr>\n<td>brand_id</td>\n<td>Obtain from Dashboard section of your merchant account login.</td>\n</tr>\n<tr>\n<td>success_redirect</td>\n<td>URL to send the user if the transactions is successful</td>\n</tr>\n<tr>\n<td>failure_redirect</td>\n<td>URL to send the user if the transactions is UNSUCCESSFUL</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"optional-parameters\">Optional Parameters</h2>\n<h3 id=\"merchantref\">merchantRef</h3>\n<p>The <code>merchantRef</code> parameter, although not mandatory, is strongly advised for merchants to specify. Its inclusion offers two significant advantages for the merchant:</p>\n<ol>\n<li><p><strong>Prevention of Duplicate Requests:</strong> When a <code>merchantRef</code> is utilized, it acts as a unique identifier. This means that if a second purchase request is made using the same <code>merchantRef</code> (reference number), the system will recognize it and prevent duplicate transactions from occurring. This prevents unintended or duplicate purchases.</p>\n</li>\n<li><p><strong>Facilitation of Transaction Retrieval:</strong> In situations where the response from the initial purchase request times out or the 'purchaseId' isn't received, having the <code>merchantRef</code> allows the merchant to retrieve detailed transaction information. This ensures they can track and access the specific purchase details related to that reference, even if the immediate response was not received.</p>\n</li>\n</ol>\n<p>However, if the merchant does not specify the 'merchantRef' parameter, the platform will automatically assign and use an internal 'purchaseId' as a reference for that transaction.</p>\n<h3 id=\"paymentmethod\">paymentMethod</h3>\n<p>The <code>paymentMethod</code> parameter identifies which payment solution merchant wants to use to perform a transaction. If parameter is provided, than Fundstream will perform direct payment with the selected payment method instead of loading Fundstream URL.</p>\n<h3 id=\"possible-error-messages\">Possible Error Messages</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Error Messages</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Invalid format of Date_of_Birth[allowed format: yyyy-mm-dd]</td>\n<td></td>\n</tr>\n<tr>\n<td>Enter Valid Email</td>\n<td></td>\n</tr>\n<tr>\n<td>Please submit Valid Alpha2 Country Code Ex:(AF,IN) in \\\"country\\\" parameter</td>\n<td></td>\n</tr>\n<tr>\n<td>Please pass Valid State Code</td>\n<td></td>\n</tr>\n<tr>\n<td>Please pass valid street address in \\\"street_address\\\" parameter</td>\n<td></td>\n</tr>\n<tr>\n<td>Please pass valid city name in \\\"city\\\" parameter</td>\n<td></td>\n</tr>\n<tr>\n<td>Please pass valid postal Code name in \\\"zip_code\\\" parameter</td>\n<td></td>\n</tr>\n<tr>\n<td>You are not Allowed for Live Transaction</td>\n<td></td>\n</tr>\n<tr>\n<td>Minimum amount is not set for this merchant</td>\n<td></td>\n</tr>\n<tr>\n<td>success_redirect/failure_redirect/brand_id is missing</td>\n<td></td>\n</tr>\n<tr>\n<td>brand_id cannot be null</td>\n<td></td>\n</tr>\n<tr>\n<td>success_redirect cannot be null</td>\n<td></td>\n</tr>\n<tr>\n<td>failure_redirect cannot be null</td>\n<td></td>\n</tr>\n<tr>\n<td>Invalid failure_redirect: minimum 10 characters</td>\n<td></td>\n</tr>\n<tr>\n<td>purchase.products.price cannot be null</td>\n<td></td>\n</tr>\n<tr>\n<td>purchase.products[0].name/purchase.products[0].price are missing</td>\n<td></td>\n</tr>\n<tr>\n<td>Your charges setting is incomplete .Plese Contact to Administrator.</td>\n<td></td>\n</tr>\n<tr>\n<td>Currency \"{curr_name}\" is Not Allowed</td>\n<td></td>\n</tr>\n<tr>\n<td>Transaction amount must be equal or greater to minimum trans amount</td>\n<td></td>\n</tr>\n<tr>\n<td>Allowed Limit for this card for particular time period has been consumed</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Note:</strong> For certain use cases, in addition to long format purchase Id, Fundstream also provides a 7 digit unique code for each purchase starting with digit 4, eg 4000001</p>\n<p><em>“purchaseIdShortCode”: “4000013\"</em></p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}},"urlObject":{"path":["purchases",""],"host":["https://app.thefundstream.org/api/v1"],"query":[],"variable":[]}},"response":[{"id":"b2196e92-0042-4466-8d3c-ddae02116666","name":"Purchase- success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer Token"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n       \"email\": \"DEEPAKDEEPAKSINGHAL@gmail.com\",\r\n        \"street_address\": \"10 New Burlington Street Apt. 214\",\r\n        \"city\": \"London\",\r\n        \"full_name\": \"Test test\",\r\n        \"zip_code\": \"W1S 3BE\",\r\n        \"country\": \"EG\",\r\n        \"stateCode\": \"QLD\",\r\n        \"phone\": \"+447755564318\"\r\n    },\r\n    \"purchase\": {\r\n        \"currency\" : \"EGP\",\r\n        \"products\": [\r\n            {\r\n                \"name\": \"test \",\r\n                \"price\": 10\r\n            }\r\n        ]\r\n    },\r\n    \"paymentMethod\" : \"FawryPay\",\r\n    \"brand_id\": \"{{brand_id}}\",\r\n    \"success_redirect\": \"https://your.success.redirect.com/getResponse.jsp?success=true\",\r\n  \"failure_redirect\": \"https://your.failure.redirect.com/getResponse.jsp?success=false\",\r\n  \"success_callback\": \"https://your.success.callback.com\",\r\n  \"failure_callback\": \"https://your.failure.callback.com\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.fundstream.net/api/v1/purchases"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"purchaseId\": \"667cfb2cf0bd8d672c8fc562\",\r\n    \"client\": {\r\n        \"email\": \"deepakdeepaksinghal@gmail.com\",\r\n        \"phone\": \"+447755564318\",\r\n        \"full_name\": \"Test test\",\r\n        \"date_of_birth\": \"1970-07-10\",\r\n        \"street_address\": \"10 New Burlington Street Apt. 214\",\r\n        \"country\": \"EG\",\r\n        \"city\": \"London\",\r\n        \"zip_code\": \"W1S 3BE\",\r\n        \"cc\": [],\r\n        \"bcc\": [],\r\n        \"stateCode\": \"QLD\"\r\n    },\r\n    \"updated_on\": 1719466796,\r\n    \"type\": \"purchase\",\r\n    \"paymentMethod\": \"FAWRYPAY\",\r\n    \"amountUnit\": \"MAJOR\",\r\n    \"errorMsg\": \"\",\r\n    \"redirectType\": \"POST\",\r\n    \"force_recurring\": false,\r\n    \"created_on\": 1719466796,\r\n    \"merchantRef\": \"667cfb2cf0bd8d672c8fc562\",\r\n    \"instruction\": \"Please use the reference number 9350804722 to pay 10 EGP for this order at Fawrypay store. Complete the payment before 6/29/2024 5:39:59 AM +00:00\",\r\n    \"merchantName\": \"merchant002\",\r\n    \"purchase\": {\r\n        \"currency\": \"EGP\",\r\n        \"products\": [\r\n            {\r\n                \"name\": \"test\",\r\n                \"quantity\": 1.0,\r\n                \"price\": 10.0,\r\n                \"discount\": 0,\r\n                \"tax_percent\": \"0.00\"\r\n            }\r\n        ],\r\n        \"total\": 10.0,\r\n        \"language\": \"en\",\r\n        \"notes\": \"\",\r\n        \"debt\": 0,\r\n        \"total_formatted\": 1.0,\r\n        \"request_client_details\": [],\r\n        \"timezone\": \"MIT\",\r\n        \"email_message\": \"\"\r\n    },\r\n    \"payment\": {\r\n        \"is_outgoing\": false,\r\n        \"payment_type\": \"PURCHASE\",\r\n        \"amount\": 10.0,\r\n        \"currency\": \"EGP\",\r\n        \"net_amount\": 10.0,\r\n        \"fee_amount\": 0.0,\r\n        \"pending_amount\": 0.0,\r\n        \"pending_unfreeze_on\": null,\r\n        \"description\": \"\",\r\n        \"paid_on\": 1719466796,\r\n        \"remote_paid_on\": 1719466796\r\n    },\r\n    \"issuer_details\": {\r\n        \"website\": \"\",\r\n        \"legal_street_address\": \"\",\r\n        \"legal_country\": \"\",\r\n        \"legal_city\": \"\",\r\n        \"legal_zip_code\": \"\",\r\n        \"bank_accounts\": [\r\n            {}\r\n        ],\r\n        \"legal_name\": \"test6\",\r\n        \"brand_name\": \"test6\",\r\n        \"registration_number\": \"\",\r\n        \"tax_number\": \"\"\r\n    },\r\n    \"transaction_data\": {\r\n        \"payment_method\": \"\",\r\n        \"flow\": \"payform\",\r\n        \"extra\": {\r\n            \"amount\": 10.0,\r\n            \"masked_pan\": \"FAWRYPAY\"\r\n        },\r\n        \"country\": \"\",\r\n        \"attempts\": [\r\n            {\r\n                \"client_ip\": \"110.235.229.106\",\r\n                \"type\": \"execute\",\r\n                \"payment_method\": \"FAWRYPAY\",\r\n                \"flow\": \"payform\",\r\n                \"successful\": true,\r\n                \"country\": \"FAWRYPAY\",\r\n                \"processing_time\": 1719466796,\r\n                \"extra\": {\r\n                    \"amount\": 10.0,\r\n                    \"masked_pan\": \"FAWRYPAY\"\r\n                }\r\n            }\r\n        ]\r\n    },\r\n    \"status\": \"PAYMENT_IN_PROCESS\",\r\n    \"status_history\": [\r\n        {\r\n            \"status\": \"created\",\r\n            \"timestamp\": 1719466796\r\n        },\r\n        {\r\n            \"status\": \"pending_execute\",\r\n            \"timestamp\": 1719466796\r\n        },\r\n        {\r\n            \"status\": \"payment_in_process\",\r\n            \"timestamp\": 1719466796\r\n        }\r\n    ],\r\n    \"is_test\": false,\r\n    \"brand_id\": \"c4003b2c-22d4-4dc1-ad0c-c6b54f8c9636\",\r\n    \"send_receipt\": false,\r\n    \"is_recurring_token\": false,\r\n    \"skip_capture\": false,\r\n    \"reference_generated\": \"PS10252\",\r\n    \"issued\": \"2024-06-27\",\r\n    \"due\": 1719466796,\r\n    \"refund_upto\": 1735015199,\r\n    \"cc_descriptor\": \"\",\r\n    \"fraudScore\": \"NA\",\r\n    \"trustScore\": \"NA\",\r\n    \"payInDetails\": {\r\n        \"reference_number\": \"9350804722\",\r\n        \"payment_method\": \"PAYATFAWRY\",\r\n        \"transaction_expiry\": \"29 Jun 2024 05:39:59:054 +0000\"\r\n    },\r\n    \"refund_availability\": \"NONE\",\r\n    \"refundable_amount\": 10.0,\r\n    \"success_redirect\": \"https://your.success.redirect.com/getResponse.jsp?success=true\",\r\n    \"failure_redirect\": \"https://your.failure.redirect.com/getResponse.jsp?success=false\",\r\n    \"cancel_redirect\": \"\",\r\n    \"success_callback\": \"https://your.success.callback.com\",\r\n  \"failure_callback\": \"https://your.failure.callback.com\",\r\n    \"platform\": \"API\",\r\n    \"created_from_ip\": \"110.235.229.106\",\r\n    \"checkout_url\": \"https://app.thefundstream.org/payments/667cfb2cf0bd8d672c8fc562/\"\r\n}"},{"id":"8e7f8f3f-99cf-484f-984d-7123ce15ffac","name":"Create Purchase","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer Token"}],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"https://app.thefundstream.org/api/v1/purchases"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"message\": \"Error Message\",\r\n    \"code\": \"error_code\"\r\n}\r\n"}],"_postman_id":"98810d8e-0b0f-4b16-afa2-8bd808fbc2ff"},{"name":"Get Status","id":"4a124f8f-d544-4f3a-a17c-b1679e7e23a3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer Token","type":"text"}],"url":"https://app.thefundstream.org/api/v1/purchases/{purchaseId}/","description":"<p>This API tells you about all the details of a purchase (PayIn), including its history</p>\n<p><strong>Note:</strong> With respect to bank transfers, the purchase request is synonymous with the PayIn request.</p>\n<h3 id=\"mandatory\">Mandatory</h3>\n<p>you need to pass the <code>PurchaseID</code> in the API URL</p>\n<h3 id=\"possible-value-of-status\">Possible Value of Status</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Status</strong></th>\n<th><strong>Notes</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>paid</td>\n<td>Transaction Successful</td>\n</tr>\n<tr>\n<td>payment_in_process</td>\n<td>Payment is under Processing</td>\n</tr>\n<tr>\n<td>expired</td>\n<td>Purchase has Expired.</td>\n</tr>\n<tr>\n<td>error</td>\n<td>Transaction has Failed.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"response-examples\">Response Examples</h3>\n<p>In the response examples you can see instances of both <code>Paid</code> and <code>Error</code> Status purchases.</p>\n<h3 id=\"error-details\">Error Details</h3>\n<p>If there are any issues on the Purchase you can get more details from the <code>transaction_data.attempts.error</code> attribute of the response object</p>\n<h3 id=\"errors\">Errors</h3>\n<p>If there are any errors then it'll be in the format of :</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"descriptive error message\",\n    \"code\": \"error_code\"\n}\n\n</code></pre>\n<p>Please see the Status Code section for further details.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}},"urlObject":{"path":["purchases","{purchaseId}",""],"host":["https://app.thefundstream.org/api/v1"],"query":[],"variable":[]}},"response":[{"id":"c9e7fcc0-682a-42e3-9f06-ec47cb7ed922","name":"Purchases-success","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer Token"}],"url":"https://api.example.net/api/v1/purchases/{purchaseId}/"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"purchaseId\": \"667cfc59f0bd8d672c8fc6c8\",\r\n    \"client\": {\r\n        \"email\": \"deepakdeepaksinghal@gmail.com\",\r\n        \"phone\": \"+447755564318\",\r\n        \"full_name\": \"Test test\",\r\n        \"date_of_birth\": \"1970-07-10\",\r\n        \"street_address\": \"10 New Burlington Street Apt. 214\",\r\n        \"country\": \"EG\",\r\n        \"city\": \"London\",\r\n        \"zip_code\": \"W1S 3BE\",\r\n        \"cc\": [],\r\n        \"bcc\": [],\r\n        \"stateCode\": \"QLD\"\r\n    },\r\n    \"updated_on\": 1719467097,\r\n    \"type\": \"purchase\",\r\n    \"paymentMethod\": \"FAWRYPAY\",\r\n    \"amountUnit\": \"MAJOR\",\r\n    \"errorMsg\": \"\",\r\n    \"redirectType\": \"POST\",\r\n    \"force_recurring\": false,\r\n    \"created_on\": 1719467097,\r\n    \"merchantRef\": \"667cfc59f0bd8d672c8fc6c8\",\r\n    \"instruction\": \"Please use the reference number 9350717665 to pay 10 EGP for this order at Fawrypay store. Complete the payment before 6/29/2024 5:45:00 AM +00:00\",\r\n    \"merchantName\": \"merchant002\",\r\n    \"purchase\": {\r\n        \"currency\": \"EGP\",\r\n        \"products\": [\r\n            {\r\n                \"name\": \"test\",\r\n                \"quantity\": 1.0,\r\n                \"price\": 10.0,\r\n                \"discount\": 0,\r\n                \"tax_percent\": \"0.00\"\r\n            }\r\n        ],\r\n        \"total\": 10.0,\r\n        \"language\": \"en\",\r\n        \"notes\": \"\",\r\n        \"debt\": 0,\r\n        \"total_formatted\": 1.0,\r\n        \"request_client_details\": [],\r\n        \"timezone\": \"MIT\",\r\n        \"email_message\": \"\"\r\n    },\r\n    \"payment\": {\r\n        \"is_outgoing\": false,\r\n        \"payment_type\": \"PURCHASE\",\r\n        \"amount\": 10.0,\r\n        \"currency\": \"EGP\",\r\n        \"net_amount\": 10.0,\r\n        \"fee_amount\": 0.0,\r\n        \"pending_amount\": 0.0,\r\n        \"pending_unfreeze_on\": null,\r\n        \"description\": \"\",\r\n        \"paid_on\": 1719467097,\r\n        \"remote_paid_on\": 1719467097\r\n    },\r\n    \"issuer_details\": {\r\n        \"website\": \"\",\r\n        \"legal_street_address\": \"\",\r\n        \"legal_country\": \"\",\r\n        \"legal_city\": \"\",\r\n        \"legal_zip_code\": \"\",\r\n        \"bank_accounts\": [\r\n            {}\r\n        ],\r\n        \"legal_name\": \"test6\",\r\n        \"brand_name\": \"test6\",\r\n        \"registration_number\": \"\",\r\n        \"tax_number\": \"\"\r\n    },\r\n    \"transaction_data\": {\r\n        \"payment_method\": \"\",\r\n        \"flow\": \"payform\",\r\n        \"extra\": {\r\n            \"amount\": 10.0,\r\n            \"masked_pan\": \"FAWRYPAY\"\r\n        },\r\n        \"country\": \"\",\r\n        \"attempts\": [\r\n            {\r\n                \"client_ip\": \"110.235.229.106\",\r\n                \"type\": \"execute\",\r\n                \"payment_method\": \"FAWRYPAY\",\r\n                \"flow\": \"payform\",\r\n                \"successful\": true,\r\n                \"country\": \"FAWRYPAY\",\r\n                \"processing_time\": 1719467097,\r\n                \"extra\": {\r\n                    \"amount\": 10.0,\r\n                    \"masked_pan\": \"FAWRYPAY\"\r\n                }\r\n            }\r\n        ]\r\n    },\r\n    \"status\": \"PAYMENT_IN_PROCESS\",\r\n    \"status_history\": [\r\n        {\r\n            \"status\": \"created\",\r\n            \"timestamp\": 1719467097\r\n        },\r\n        {\r\n            \"status\": \"pending_execute\",\r\n            \"timestamp\": 1719467097\r\n        },\r\n        {\r\n            \"status\": \"payment_in_process\",\r\n            \"timestamp\": 1719467097\r\n        },\r\n        {\r\n            \"status\": \"viewed\",\r\n            \"timestamp\": 1719467160\r\n        }\r\n    ],\r\n    \"viewedOn\": 1719467160,\r\n    \"is_test\": false,\r\n    \"brand_id\": \"c4003b2c-22d4-4dc1-ad0c-c6b54f8c9636\",\r\n    \"send_receipt\": false,\r\n    \"is_recurring_token\": false,\r\n    \"skip_capture\": false,\r\n    \"reference_generated\": \"PS10253\",\r\n    \"issued\": \"2024-06-27\",\r\n    \"due\": 1719467097,\r\n    \"refund_upto\": 1735015500,\r\n    \"cc_descriptor\": \"\",\r\n    \"fraudScore\": \"NA\",\r\n    \"trustScore\": \"NA\",\r\n    \"payInDetails\": {\r\n        \"reference_number\": \"9350717665\",\r\n        \"payment_method\": \"PAYATFAWRY\",\r\n        \"transaction_expiry\": \"29 Jun 2024 05:45:00:245 +0000\"\r\n    },\r\n    \"refund_availability\": \"NONE\",\r\n    \"refundable_amount\": 10.0,\r\n     \"success_redirect\": \"https://your.success.redirect.com/getResponse.jsp?success=true\",\r\n    \"failure_redirect\": \"https://your.failure.redirect.com/getResponse.jsp?success=false\",\r\n    \"cancel_redirect\": \"\",\r\n     \"success_callback\": \"https://your.success.callback.com\",\r\n  \"failure_callback\": \"https://your.failure.callback.com\",\r\n    \"platform\": \"API\",\r\n    \"created_from_ip\": \"110.235.229.106\",\r\n     \"checkout_url\": \"https://app.thefundstream.org/payments/667cfb2cf0bd8d672c8fc562/\"\r\n}"},{"id":"6c3cdd2f-833d-4eb3-963c-55d5a0446057","name":"Purchases","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer Token","type":"text"}],"url":"https://app.thefundstream.org/api/v1/purchases/{purchaseId}/"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"message\": \"Error Message\",\r\n    \"code\": \"error_code\"\r\n}\r\n"}],"_postman_id":"4a124f8f-d544-4f3a-a17c-b1679e7e23a3"}],"id":"0970ef1b-c446-4548-b899-73b6de89aa94","description":"<p><strong>API Flow</strong></p>\n<img src=\"https://lh7-us.googleusercontent.com/cfWw_RYZ9eZVEKzKjeRW4I_VwbBTyqH78LUrJG6ulp7FkE1pXVD6DZr9MnQXB9KH_oLFasJDb156naCsBc2bgotPaVY7LtGOJNifpTOb5uks3fjAKpgVhU4dsXQmQ7hFKNFIVhZEl2p8fCN1YufsRaA\" />\n\n<ol>\n<li><p>The merchant initiates the purchase via the create purchase API. If successful, they receive PayIn details (Unique Ref Code) along with a checkout URL in the response JSON</p>\n</li>\n<li><p>The merchant then has 2 options</p>\n<ol>\n<li><p>Use the PayIn details in the JSON to create a webpage within the merchant’s IT estate, and show to user the PayIn instruction</p>\n</li>\n<li><p>Or direct the end-user to our checkout URL, where the client sees bank details for payment.</p>\n</li>\n</ol>\n</li>\n<li><p>After a successful or failed payment by the end user, an appropriate webhook would be sent to the merchant. If option 2b was the method employed, the user would be redirected to the appropriate redirect URL.</p>\n</li>\n</ol>\n","_postman_id":"0970ef1b-c446-4548-b899-73b6de89aa94","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}}},{"name":"PayOut API","item":[{"name":"Create PayOut","id":"3110011d-d6ea-4f24-9a27-009b86940648","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer Token"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n    \"email\": \"test@gmail.com\",\r\n       \"country\" : \"EG\",\r\n \"phone\" : \"9586445444\",\r\n\"full_name\": \"Test Person-uk\",\r\n\"documentId\":\"29206260104051\"\r\n    },\r\n    \"purpose\" : \"test payout\",\r\n    \"currency\" : \"EGP\",\r\n    \"payoutMethod\" : \"Payout-fawrypay\",\r\n    \"amount\" : 20,\r\n    \"success_callback\": \"https://success.com\",\r\n    \"failure_callback\": \"https://failure.com\"\r\n    \r\n}","options":{"raw":{"language":"json"}}},"url":"https://app.thefundstream.org/api/v1/payout/","description":"<p>To Initiate a payment, the very first call to make is/payout/</p>\n<p>with the required data in the request body.</p>\n<p>To generate a Payout, you are required to provide the <code>API key</code> (in the header) can be located in the Dashboard section of your merchant account login.</p>\n<p>The request body structure is shown on the request body of the example request shown here.</p>\n<p>The following (see table below) are the mandatory parameters that are required to create a Payout request.</p>\n<h3 id=\"mandatory-parameters-in-the-request-body\"><strong>Mandatory parameters in the request body:</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Parameter</strong></th>\n<th><strong>Notes</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>client.email or client.phone</td>\n<td>An Identifier for a user</td>\n</tr>\n<tr>\n<td>client.full_name</td>\n<td></td>\n</tr>\n<tr>\n<td>client.country</td>\n<td></td>\n</tr>\n<tr>\n<td>payoutMethod</td>\n<td></td>\n</tr>\n<tr>\n<td>Currency</td>\n<td>Note this is currency account for which you have balance</td>\n</tr>\n<tr>\n<td>Amount</td>\n<td></td>\n</tr>\n<tr>\n<td>Purpose</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}},"urlObject":{"path":["payout",""],"host":["https://app.thefundstream.org/api/v1"],"query":[{"disabled":true,"key":"","value":""},{"disabled":true,"key":null,"value":""}],"variable":[]}},"response":[{"id":"2418256c-7e00-4fbe-a27d-8853c0906d15","name":"create payout-success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer Token","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n    \"email\": \"test@gmail.com\",\r\n       \"country\" : \"EG\",\r\n \"phone\" : \"9586445444\",\r\n\"full_name\": \"Test Person-uk\",\r\n\"documentId\":\"29206260104051\"\r\n    },\r\n    \"purpose\" : \"test payout\",\r\n    \"currency\" : \"EGP\",\r\n    \"payoutMethod\" : \"Payout-fawrypay\",\r\n    \"amount\" : 20,\r\n    \"success_callback\": \"https://success.com\",\r\n    \"failure_callback\": \"https://failure.com\"\r\n    \r\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://api.fundstream.net/api/v1/payout/","protocol":"https","host":["api","fundstream","net"],"path":["api","v1","payout",""],"query":[{"key":"","value":null,"disabled":true},{"key":null,"value":"","disabled":true}]}},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"payoutId\": \"6687d86dde5d5c0feecf7621\",\r\n    \"client\": {\r\n        \"email\": \"test@gmail.com\",\r\n        \"phone\": \"9586445444\",\r\n        \"full_name\": \"Test Person-uk\",\r\n        \"country\": \"EG\",\r\n        \"documentId\": \"29206260104051\"\r\n    },\r\n    \"updated_on\": 1720178797,\r\n    \"payoutMethod\": \"PAYOUT-FAWRYPAY\",\r\n    \"amountUnit\": \"MAJOR\",\r\n    \"amount\": 20.0,\r\n    \"errorMsg\": \"\",\r\n    \"purpose\": \"test payout\",\r\n    \"created_on\": 1720178797,\r\n    \"merchantRef\": \"6687d86dde5d5c0feecf7621\",\r\n    \"status\": \"PAYOUT_IN_PROCESS\",\r\n    \"status_history\": [\r\n        {\r\n            \"status\": \"created\",\r\n            \"timestamp\": 1720178797\r\n        },\r\n        {\r\n            \"status\": \"payout_in_process\",\r\n            \"timestamp\": 1720178799\r\n        }\r\n    ],\r\n    \"currency\": \"EGP\",\r\n    \"paymentOn\": 0,\r\n    \"payOutDetails\": {\r\n        \"instruction\": \"Please use transaction reference 20514294 with the BTC 77361 at any Fawry store to get cashout within 72 hrs\"\r\n    },\r\n    \"success_callback\": \"https://success.com\",\r\n    \"failure_callback\": \"https://failure.com\"\r\n}"},{"id":"4c59d3be-3450-42b1-b0fa-1f21b577e7ec","name":"create payout-error","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer Token","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n    \"email\": \"test@gmail.com\",\r\n       \"country\" : \"EG\",\r\n \"phone\" : \"9586445444\",\r\n\"full_name\": \"Test Person-uk\",\r\n\"documentId\":\"29206260104051\"\r\n    },\r\n    \"purpose\" : \"test payout\",\r\n    \"currency\" : \"EGP\",\r\n    \"payoutMethod\" : \"Payout-fawrypay\",\r\n    \"amount\" : 20,\r\n    \"success_callback\": \"https://success.com\",\r\n    \"failure_callback\": \"https://failure.com\"\r\n    \r\n}","options":{"raw":{"language":"json"}}},"url":{"raw":"https://app.thefundstream.org/api/v1/payout/","host":["https://app.thefundstream.org/api/v1"],"path":["payout",""],"query":[{"key":"","value":null,"disabled":true},{"key":null,"value":"","disabled":true}]}},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":" {\r\n    \"message\": \"Error Message\",\r\n    \"code\": \"error_code\"\r\n}\r\n"}],"_postman_id":"3110011d-d6ea-4f24-9a27-009b86940648"},{"name":"Get Status","id":"acd56f61-08e8-4238-b1db-f6740765b8aa","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://app.thefundstream.org/api/v1/getpayout/{payoutId}/","description":"<p>This API tells you about all the details of a Payout, including its history</p>\n<h3 id=\"mandatory\">Mandatory</h3>\n<p>you need to pass the payoutId in the API URL</p>\n<h3 id=\"possible-value-of-status\">Possible Value of Status</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Status</strong></th>\n<th><strong>Notes</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>paid</td>\n<td>Transaction Successful</td>\n</tr>\n<tr>\n<td>payout_in_process</td>\n<td>payout is under Processing.</td>\n</tr>\n<tr>\n<td>error</td>\n<td>Transaction has Failed.</td>\n</tr>\n</tbody>\n</table>\n</div><p>The webhook will only be triggered for paid transactions or errors.</p>\n<p>Paid: \"success_callback\": \"<a href=\"https://success.com\">https://success.com</a>\",</p>\n<p>Error: \"failure_callback\": “<a href=\"https://failure.com%E2%80%9D\">https://failure.com”</a></p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}},"urlObject":{"path":["getpayout","{payoutId}",""],"host":["https://app.thefundstream.org/api/v1"],"query":[],"variable":[]}},"response":[{"id":"33da5357-b2fb-413e-ab10-6478eff72763","name":"Get success Status","originalRequest":{"method":"GET","header":[],"url":"https://api.fundstream.net/api/v1/getpayout/{payoutId}/"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"payoutId\": \"6685467c0e5b201a73f91256\",\r\n    \"client\": {\r\n        \"email\": \"test@gmail.com\",\r\n        \"phone\": \"9586445444\",\r\n        \"full_name\": \"Test Person-uk\",\r\n        \"country\": \"EG\",\r\n        \"documentId\": \"29206260104051\"\r\n    },\r\n    \"updated_on\": 1720010823,\r\n    \"payoutMethod\": \"PAYOUT-FAWRYPAY\",\r\n    \"beneficiaryDetail\": {\r\n        \"bankAccountNumber\": \"123456789011\",\r\n        \"upi\": \"charles.babbage@okhdfc\",\r\n        \"transferType\": \"IMPS\",\r\n        \"ifscCode\": \"SBIN0001077\",\r\n        \"payeeName\": \"deepak singhal\"\r\n    },\r\n    \"amountUnit\": \"MAJOR\",\r\n    \"amount\": 20.0,\r\n    \"errorMsg\": \"\",\r\n    \"purpose\": \"test payout\",\r\n    \"created_on\": 1720010364,\r\n    \"merchantRef\": \"6685467c0e5b201a73f91256\",\r\n    \"merchantName\": \"test\",\r\n    \"status\": \"PAID\",\r\n    \"status_history\": [\r\n        {\r\n            \"status\": \"created\",\r\n            \"timestamp\": 1720010364\r\n        },\r\n        {\r\n            \"status\": \"payout_in_process\",\r\n            \"timestamp\": 1720010367\r\n        },\r\n        {\r\n            \"status\": \"viewed\",\r\n            \"timestamp\": 1720010582\r\n        },\r\n        {\r\n            \"status\": \"paid\",\r\n            \"timestamp\": 1720010823\r\n        }\r\n    ],\r\n    \"viewedOn\": 1720179568,\r\n    \"currency\": \"EGP\",\r\n    \"paymentOn\": 1720010823,\r\n    \"success_callback\": \"https://success.com\",\r\n    \"failure_callback\": \"https://failure.com\"\r\n}"},{"id":"136fd075-afcc-43e6-ae4e-edf1e64f6232","name":"Get Error Status","originalRequest":{"method":"GET","header":[],"url":"https://app.thefundstream.org/api/v1/getpayout/{payoutId}/"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"message\": \"Error Message\",\r\n    \"code\": \"error_code\"\r\n}"}],"_postman_id":"acd56f61-08e8-4238-b1db-f6740765b8aa"}],"id":"2a8bb826-7d10-4542-ac9d-95c803853912","description":"<p><strong>API Flow</strong></p>\n<img src=\"https://lh7-us.googleusercontent.com/Uxy8jmp5RP-c360-oIMAZy2As8naqJdARgKsWU0x_BtszfJlwdRVM6-obffbtjTABfI9V0hxH4Ad-Ns96We42lIMdL434tTzLJ6aEQBt0dzX_ZXeM4RtG_kmEeem7WIsN520Zh5PS3xTFYNzOmks0ak\" />\n\n<ul>\n<li><p>The merchant initiates a PayOut via the payout API.</p>\n</li>\n<li><p>After a successful or failed payment attempt, the status is reflected on the response, and the details on the status history. You can also get the status through getStatus (purchases/{payID}) API.</p>\n</li>\n</ul>\n","_postman_id":"2a8bb826-7d10-4542-ac9d-95c803853912","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}}},{"name":"Get Balance API","item":[{"name":"Checking Balance","id":"0d689acf-291b-4808-89c6-d5ea3e32bd08","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer Token","type":"text"}],"body":{"mode":"raw","raw":"{ \r\n   \"paymentMethod\" : \"INTERAC\"\r\n\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"https://app.thefundstream.org/api/v1/getBalance","description":"<h2 id=\"api-for-checking-balance-payout\"><strong>API for Checking Balance payout</strong></h2>\n<ol>\n<li><p>URL :- /getBalance/</p>\n</li>\n<li><p>RequestType: POST</p>\n</li>\n<li><p>Request Body</p>\n</li>\n</ol>\n<p>Note: Currency is not a mandatory parameter. If no parameter is specified then all respective currency balances would be provided, if any specific currency parameter is provided then only that currency balance would be provided.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}},"urlObject":{"path":["getBalance"],"host":["https://app.thefundstream.org/api/v1"],"query":[],"variable":[]}},"response":[{"id":"138b58c8-df56-4e90-8f14-2dd4c9e290de","name":"Checking Balance payout-success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{ \r\n   \"paymentMethod\" : \"INTERAC\"\r\n\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"https://api.fundstream.net/api/v1/getBalance"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"paymentMethod\": \"FAWRYPAY\",\r\n    \"status\": \"success\",\r\n    \"data\": [\r\n        {\r\n            \"currency\": \"AUD\",\r\n            \"balance\": \"0.00\"\r\n        },\r\n        {\r\n            \"currency\": \"CAD\",\r\n            \"balance\": \"0.00\"\r\n        },\r\n        {\r\n            \"currency\": \"EGP\",\r\n            \"balance\": \"-1.20\"\r\n        },\r\n        {\r\n            \"currency\": \"EUR\",\r\n            \"balance\": \"0.00\"\r\n        },\r\n        {\r\n            \"currency\": \"GBP\",\r\n            \"balance\": \"0.00\"\r\n        },\r\n        {\r\n            \"currency\": \"INR\",\r\n            \"balance\": \"0.00\"\r\n        },\r\n        {\r\n            \"currency\": \"NGN\",\r\n            \"balance\": \"0.00\"\r\n        },\r\n        {\r\n            \"currency\": \"USD\",\r\n            \"balance\": \"0.00\"\r\n        },\r\n        {\r\n            \"currency\": \"ZAR\",\r\n            \"balance\": \"0.00\"\r\n        }\r\n    ]\r\n}\r\n"},{"id":"a0b569a4-b24d-4522-b1b9-1eedbbf96a59","name":"Checking Balance payout-error","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{ \r\n   \"paymentMethod\" : \"INTERAC\"\r\n\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"https://app.thefundstream.org/api/v1/getBalance"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"message\": \"Error Message\",\r\n    \"code\": \"No currency account found\"\r\n}\r\n"}],"_postman_id":"0d689acf-291b-4808-89c6-d5ea3e32bd08"}],"id":"e6a24159-1d6c-4fdc-8156-38b8e027cbda","_postman_id":"e6a24159-1d6c-4fdc-8156-38b8e027cbda","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}}}],"id":"40ef9210-91da-4901-8ea4-d7121f96b0a2","_postman_id":"40ef9210-91da-4901-8ea4-d7121f96b0a2","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}}},{"name":"🇮🇳 UPI","item":[{"name":"Concepts","item":[],"id":"de20e0e3-9264-46c1-8139-a13635d8fc3d","description":"<h2 id=\"upi-overview\">UPI Overview</h2>\n<p>The Unified Payments Interface (UPI) technology unifies various banking functions, smooth fund routing, and merchant payments under one roof by enabling numerous bank accounts into a single mobile application (of any participating bank).</p>\n<h3 id=\"fundstreams-upi-product-suite-enables-merchants-to-initiate\">Fundstream's <strong>UPI product suite enables merchants to initiate:</strong></h3>\n<ul>\n<li><p><strong>PayIns:</strong> Consumers can utilise UPI to transfer funds from their bank account, through their bank’s app or website.</p>\n</li>\n<li><p><strong>Payouts:</strong> Facilitate real-time disbursements directly to consumers' accounts by UPI ID, IMPS, RTGS,NEFT.</p>\n</li>\n</ul>\n<h2 id=\"payin-flows\">PayIn Flows</h2>\n<p><strong>How it works</strong></p>\n<p>Fundstream's UPI PayIn API lets the platforms collect funds from payers through intent flow/payment link without entering the payer's VPA. Suitable for app or mobile-based flows.</p>\n<p><strong>Key Steps</strong></p>\n<img src=\"https://content.pstmn.io/3c74812c-5c9f-405b-ad81-8d87f944ddb0/aW1hZ2UucG5n\" width=\"1244\" height=\"560\" />\n\n<p><strong>Flow</strong></p>\n<ul>\n<li><p>Initiate Transfer Request: The merchant sends a request to the UPI PayIn API to initiate a PayIn (deposit/collections) transaction. This request includes the customer’s email address or mobile number, the amount to be collected, and an optional message.</p>\n</li>\n<li><p>UPI payment options: The API generates a Multiple payment option (PayTM, GPay, PhonePe apps as well by scanning QR code) where end user can select any one payment option to complete the transaction.</p>\n</li>\n<li><p>User pays using their App: User will then pay the amount using their desired payment app and method through default UPI apps or by scanning the QR code via any bank app)</p>\n</li>\n<li><p>Confirm Transfer Completion: Once the transfer is completed by the end user, the Fundstream would send webhook of payment completion with the status. The balance of merchant would be updated to reflect the new transaction’s outcome.</p>\n</li>\n<li><p>Update Merchant’s Account: The merchant would then update (on the merchant’s system) the customer’s account balance to reflect the received funds.</p>\n</li>\n</ul>\n<h2 id=\"payout-flows\"><strong>PayOut flows</strong></h2>\n<p><strong>How it works</strong></p>\n<p>Our APIs enable UPI payouts through various channels, including IMPS, UPI, RTGS, and NEFT, to both bank accounts and UPI IDs (VPAs).</p>\n<p>Here are some common use cases, though not limited to these:</p>\n<ol>\n<li><p>Vendor Payouts: Quickly settle payments for goods or services with your vendors or distributors.</p>\n</li>\n<li><p>Payroll &amp; Reimbursements: Disburse salaries, ad-hoc payments, or employee reimbursements to staff or agents.</p>\n</li>\n<li><p>Disbursements: Facilitate loan or credit disbursements to merchants or consumers' bank accounts via your own or a lender's account.</p>\n</li>\n</ol>\n<p>*<em>Key Steps</em><em>*</em></p>\n<img src=\"https://content.pstmn.io/cf643e9b-6015-44b8-b0d1-587dd1a39e7f/VW50aXRsZWQgZGVzaWduICg0KS5wbmc=\" width=\"559\" height=\"207\" />\n\n<p><strong>Flow</strong></p>\n<ul>\n<li><p>We recommend that merchan't validate the bank accounts of their customer's bank accoiunt before doing payouts.</p>\n</li>\n<li><p>Ensure that enough balance is there in your merchant account do the payout. This can be ascertained by calling the \"GetBalance\" API.</p>\n</li>\n<li><p>The merchant platform initiates the creation of a payout by passing beneficiary details, along with payout details.</p>\n</li>\n<li><p>Beneficiary's bank details</p>\n<ul>\n<li><p>Beneficiary's transferType (IMPS, RTGS, NEFT, UPI)</p>\n</li>\n<li><p>Beneficiary's ifscCode (if transferType is either of IMPS, RTGS, or NEFT)</p>\n</li>\n<li><p>Beneficiary's payeeName (if transferType is either of IMPS, RTGS, or NEFT)</p>\n</li>\n<li><p>Beneficiary's bankAccountNumber (if transferType is either of IMPS, RTGS, or NEFT)</p>\n</li>\n<li><p>Beneficiary's UPIId (if transferType is UPI)</p>\n</li>\n</ul>\n</li>\n<li><p>Upon completion of the payout, reaching either a Success or Failure state, Fundstream notifies the merchant’s platform via webhook, providing the final status of the transaction and additional details.</p>\n</li>\n</ul>\n<h2 id=\"transaction-limits\">Transaction Limits:</h2>\n<p>The limits outlined below are generally for personal accounts and can vary by financial institution and account type. For business accounts, higher limits may apply. It’s advisable to check with your bank for the most accurate limits pertaining to your account</p>\n<h2 id=\"pay-ins\">Pay Ins:</h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Criteria</strong></th>\n<th><strong>Min Amount</strong></th>\n<th><strong>Max Amount</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Per Transaction</td>\n<td>100 INR</td>\n<td>100,000 INR  <br />Note:  <br />1. this is dependent on respective bank's limit. Diffferent banks will have different limits  <br />2. If the user saves the QR code image and scans the code using the camera then the limit would be INR 2,000</td>\n</tr>\n<tr>\n<td>Per Day</td>\n<td>100 INR</td>\n<td>100,000 INR  <br />Note:  <br />1. this is dependent on respective bank's limit. Diffferent banks will have different limits  <br />2. If the user saves the QR code image and scans the code using the camera then the limit would be INR 2,000</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"pay-outs\">Pay Outs:</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Criteria</strong></th>\n<th><strong>Min Amount</strong></th>\n<th><strong>Max Amount</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Per Transaction</td>\n<td>1000 INR</td>\n<td>100,000 INR</td>\n</tr>\n<tr>\n<td>Per Day</td>\n<td>3000 INR</td>\n<td>100,000 INR</td>\n</tr>\n</tbody>\n</table>\n</div>","_postman_id":"de20e0e3-9264-46c1-8139-a13635d8fc3d","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}}},{"name":"PayIn API","item":[{"name":"Create Purchase","id":"d1c95a99-cd40-4ac8-b419-b03af8fa5cb4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer Token"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n       \"email\": \"yogesh@gmail.com\",\r\n        \"street_address\": \"10 New Burlington Street Apt. 214\",\r\n        \"city\": \"London\",\r\n        \"zip_code\": \"W1S 3BE\",\r\n        \"country\": \"EG\",\r\n        \"stateCode\": \"QLD\"\r\n      \r\n     \r\n    },\r\n    \"purchase\": {\r\n        \"currency\" : \"INR\",\r\n        \"products\": [\r\n            {\r\n                \"name\": \"test \",\r\n                \"price\": 10\r\n            }\r\n        ]\r\n    },\r\n    \"paymentMethod\" : \"\",\r\n    \"brand_id\": \"{{merchant_brand_id}}\",\r\n   \"success_redirect\": \"https://webhook.site/58f36e6a-60bd-489d-90b7-9f4d191eb9a1?success=true\",\r\n    \"failure_redirect\": \"https://webhook.site/58f36e6a-60bd-489d-90b7-9f4d191eb9a1?success=false\",\r\n    \"success_callback\": \"https://api.example.net\",\r\n    \"failure_callback\": \"https://api.example.net\"\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"https://app.thefundstream.org/api/v1/purchases/","description":"<p>To Initiate a payment, the very first call to make is <code>/purchases</code> with the required data in the request body.</p>\n<p>To generate a Purchase, you are required to provide the <code>Brand ID</code> (in the request body) and <code>API key</code> (in the header) Both can be located in the Dashboard section of your merchant account login.</p>\n<p>The request body structure is shown on the request body of the example request shown here.</p>\n<p>The following (see table below) are the mandatory parameters that are required to create a purchase request.</p>\n<h3 id=\"mandatory-parameters-in-the-request-body\"><strong>Mandatory parameters in the request body:</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Parameter</strong></th>\n<th><strong>Notes</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>client.email</td>\n<td>An Identifier for a user</td>\n</tr>\n<tr>\n<td>client.city</td>\n<td></td>\n</tr>\n<tr>\n<td>client.country</td>\n<td>ISO-3166 Country Code. It must be upper case.  <br />This should be \"CA\" for Interac</td>\n</tr>\n<tr>\n<td>client.stateCode</td>\n<td>Example “AL”, “XZ”.. Must be in upper case.</td>\n</tr>\n<tr>\n<td>client.street_address</td>\n<td></td>\n</tr>\n<tr>\n<td>client.zip_code</td>\n<td></td>\n</tr>\n<tr>\n<td>client.full_name</td>\n<td></td>\n</tr>\n<tr>\n<td>purchase.currency</td>\n<td>ISO 4217 code for currency you want to send the transaction in.  <br />This should be 'CAD' for Interac</td>\n</tr>\n<tr>\n<td>purchase.products.name</td>\n<td></td>\n</tr>\n<tr>\n<td>purchase.products.price</td>\n<td>Price in decimal format.  <br />example 1:  <br />EUR 5 , should be sent as 5.00  <br />  <br />example 2:  <br />USD 10 and 37 cents , should be sent as 10.37</td>\n</tr>\n<tr>\n<td>brand_id</td>\n<td>Obtain from Dashboard section of your merchant account login.</td>\n</tr>\n<tr>\n<td>success_redirect</td>\n<td>URL to send the user if the transactions is successful</td>\n</tr>\n<tr>\n<td>failure_redirect</td>\n<td>URL to send the user if the transactions is UNSUCCESSFUL</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"optional-parameters\">Optional Parameters</h2>\n<h3 id=\"expireinmin\">expireInMin</h3>\n<p>This parameter, when passed in the PayIn request, sets the time window within which a customer should make the Interac payment through their bank's app. If a customer doesn't complete the payment within the configured time window, the status of the payment will be marked as 'EXPIRED' in Fundstream.</p>\n<p>However, in certain cases, a payment made outside of this window could still be successful i.e. customer's account may be debited which would result in inconsistencies among Fundstream's, merchant's and customer's status of the transaction. To avoid such cases it is advised to set the expiry time limit appropriately and advise the customers to make payment within this window. However, if there is an inconsistency between the status at Fundstream and at customer's Bank, the merchant and Fundstream will reconcile the amounts during the settlement.</p>\n<h3 id=\"merchantref\">merchantRef</h3>\n<p>The <code>merchantRef</code> parameter, although not mandatory, is strongly advised for merchants to specify. Its inclusion offers two significant advantages for the merchant:</p>\n<ol>\n<li><p><strong>Prevention of Duplicate Requests:</strong> When a <code>merchantRef</code> is utilized, it acts as a unique identifier. This means that if a second purchase request is made using the same <code>merchantRef</code> (reference number), the system will recognize it and prevent duplicate transactions from occurring. This prevents unintended or duplicate purchases.</p>\n</li>\n<li><p><strong>Facilitation of Transaction Retrieval:</strong> In situations where the response from the initial purchase request times out or the 'purchaseId' isn't received, having the <code>merchantRef</code> allows the merchant to retrieve detailed transaction information. This ensures they can track and access the specific purchase details related to that reference, even if the immediate response was not received.</p>\n</li>\n</ol>\n<p>However, if the merchant does not specify the 'merchantRef' parameter, the platform will automatically assign and use an internal 'purchaseId' as a reference for that transaction.</p>\n<h3 id=\"paymentmethod\">paymentMethod</h3>\n<p>The <code>paymentMethod</code> parameter identifies which payment solution merchant wants to use to perform a transaction. If parameter is provided, than Fundstream will perform direct payment with the selected payment method instead of loading Fundstream URL.</p>\n<h3 id=\"possible-error-messages\">Possible Error Messages</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Error Messages</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Invalid format of Date_of_Birth[allowed format: yyyy-mm-dd]</td>\n<td></td>\n</tr>\n<tr>\n<td>Enter Valid Email</td>\n<td></td>\n</tr>\n<tr>\n<td>Please submit Valid Alpha2 Country Code Ex:(AF,IN) in \\\"country\\\" parameter</td>\n<td></td>\n</tr>\n<tr>\n<td>Please pass Valid State Code</td>\n<td></td>\n</tr>\n<tr>\n<td>Please pass valid street address in \\\"street_address\\\" parameter</td>\n<td></td>\n</tr>\n<tr>\n<td>Please pass valid city name in \\\"city\\\" parameter</td>\n<td></td>\n</tr>\n<tr>\n<td>Please pass valid postal Code name in \\\"zip_code\\\" parameter</td>\n<td></td>\n</tr>\n<tr>\n<td>You are not Allowed for Live Transaction</td>\n<td></td>\n</tr>\n<tr>\n<td>Minimum amount is not set for this merchant</td>\n<td></td>\n</tr>\n<tr>\n<td>success_redirect/failure_redirect/brand_id is missing</td>\n<td></td>\n</tr>\n<tr>\n<td>brand_id cannot be null</td>\n<td></td>\n</tr>\n<tr>\n<td>success_redirect cannot be null</td>\n<td></td>\n</tr>\n<tr>\n<td>failure_redirect cannot be null</td>\n<td></td>\n</tr>\n<tr>\n<td>Invalid failure_redirect: minimum 10 characters</td>\n<td></td>\n</tr>\n<tr>\n<td>purchase.products.price cannot be null</td>\n<td></td>\n</tr>\n<tr>\n<td>purchase.products[0].name/purchase.products[0].price are missing</td>\n<td></td>\n</tr>\n<tr>\n<td>Your charges setting is incomplete .Plese Contact to Administrator.</td>\n<td></td>\n</tr>\n<tr>\n<td>Currency \"{curr_name}\" is Not Allowed</td>\n<td></td>\n</tr>\n<tr>\n<td>Transaction amount must be equal or greater to minimum trans amount</td>\n<td></td>\n</tr>\n<tr>\n<td>Allowed Limit for this card for particular time period has been consumed</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Note:</strong> For certain use cases, in addition to long format purchase Id, Fundstream also provides a 7 digit unique code for each purchase starting with digit 4, eg 4000001</p>\n<p><em>“purchaseIdShortCode”: “4000013\"</em></p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}},"urlObject":{"path":["purchases",""],"host":["https://app.thefundstream.org/api/v1"],"query":[],"variable":[]}},"response":[{"id":"7a191334-1c84-4531-b8eb-3923c26eb8bc","name":"Purchase- success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer Token"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n       \"email\": \"DEEPAKDEEPAKSINGHAL@gmail.com\",\r\n        \"street_address\": \"10 New Burlington Street Apt. 214\",\r\n        \"city\": \"London\",\r\n        \"zip_code\": \"W1S 3BE\",\r\n        \"country\": \"IN\",\r\n       \"stateCode\": \"QLD\"\r\n    },\r\n    \"purchase\": {\r\n        \"currency\" : \"INR\",\r\n        \"products\": [\r\n            {\r\n                \"name\": \"test \",\r\n                \"price\": 10\r\n            }\r\n        ]\r\n    },\r\n   \"paymentMethod\" : \"UPI\",\r\n    \"brand_id\": \"c4003b2c-22d4-4dc1-ad0c-c6b54f8c9636\",\r\n   \"success_redirect\": \"https://api.example.net/getResponse.jsp?success=true\",\r\n    \"failure_redirect\": \"https://api.example.net/getResponse.jsp?success=false\",\r\n    \"success_callback\": \"https://api.example.net\",\r\n    \"failure_callback\": \"https://api.example.net\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://app.thefundstream.org/api/v1/purchases"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"purchaseId\": \"6682942d5273633e7b8d30c8\",\r\n    \"client\": {\r\n        \"email\": \"deepakdeepaksinghal@gmail.com\",\r\n        \"date_of_birth\": \"1970-07-10\",\r\n        \"street_address\": \"10 New Burlington Street Apt. 214\",\r\n        \"country\": \"EG\",\r\n        \"city\": \"London\",\r\n        \"zip_code\": \"W1S 3BE\",\r\n        \"cc\": [],\r\n        \"bcc\": [],\r\n        \"stateCode\": \"QLD\"\r\n    },\r\n    \"updated_on\": 1719833645,\r\n    \"type\": \"purchase\",\r\n    \"paymentMethod\": \"UPI\",\r\n    \"amountUnit\": \"MAJOR\",\r\n    \"errorMsg\": \"\",\r\n    \"redirectType\": \"POST\",\r\n    \"force_recurring\": false,\r\n    \"created_on\": 1719833645,\r\n    \"merchantRef\": \"6682942d5273633e7b8d30c8\",\r\n    \"merchantName\": \"merchant002\",\r\n    \"purchase\": {\r\n        \"currency\": \"INR\",\r\n        \"products\": [\r\n            {\r\n                \"name\": \"test\",\r\n                \"quantity\": 1.0,\r\n                \"price\": 10.0,\r\n                \"discount\": 0,\r\n                \"tax_percent\": \"0.00\"\r\n            }\r\n        ],\r\n        \"total\": 10.0,\r\n        \"language\": \"en\",\r\n        \"notes\": \"\",\r\n        \"debt\": 0,\r\n        \"total_formatted\": 1.0,\r\n        \"request_client_details\": [],\r\n        \"timezone\": \"MIT\",\r\n        \"email_message\": \"\"\r\n    },\r\n    \"payment\": {\r\n        \"is_outgoing\": false,\r\n        \"payment_type\": \"PURCHASE\",\r\n        \"amount\": 10.0,\r\n        \"currency\": \"INR\",\r\n        \"net_amount\": 10.0,\r\n        \"fee_amount\": 0.0,\r\n        \"pending_amount\": 0.0,\r\n        \"pending_unfreeze_on\": null,\r\n        \"description\": \"\",\r\n        \"paid_on\": 1719833645,\r\n        \"remote_paid_on\": 1719833645\r\n    },\r\n    \"issuer_details\": {\r\n        \"website\": \"\",\r\n        \"legal_street_address\": \"\",\r\n        \"legal_country\": \"\",\r\n        \"legal_city\": \"\",\r\n        \"legal_zip_code\": \"\",\r\n        \"bank_accounts\": [\r\n            {}\r\n        ],\r\n        \"legal_name\": \"test6\",\r\n        \"brand_name\": \"test6\",\r\n        \"registration_number\": \"\",\r\n        \"tax_number\": \"\"\r\n    },\r\n    \"transaction_data\": {\r\n        \"payment_method\": \"\",\r\n        \"flow\": \"payform\",\r\n        \"extra\": {\r\n            \"amount\": 10.0,\r\n            \"masked_pan\": \"UPI\"\r\n        },\r\n        \"country\": \"\",\r\n        \"attempts\": [\r\n            {\r\n                \"client_ip\": \"110.235.229.42\",\r\n                \"type\": \"execute\",\r\n                \"payment_method\": \"UPI\",\r\n                \"flow\": \"payform\",\r\n                \"successful\": true,\r\n                \"country\": \"UPI\",\r\n                \"processing_time\": 1719833645,\r\n                \"extra\": {\r\n                    \"amount\": 10.0,\r\n                    \"masked_pan\": \"UPI\"\r\n                }\r\n            }\r\n        ]\r\n    },\r\n    \"status\": \"PAYMENT_IN_PROCESS\",\r\n    \"status_history\": [\r\n        {\r\n            \"status\": \"created\",\r\n            \"timestamp\": 1719833645\r\n        },\r\n        {\r\n            \"status\": \"pending_execute\",\r\n            \"timestamp\": 1719833645\r\n        },\r\n        {\r\n            \"status\": \"payment_in_process\",\r\n            \"timestamp\": 1719833645\r\n        }\r\n    ],\r\n    \"is_test\": false,\r\n    \"brand_id\": \"c4003b2c-22d4-4dc1-ad0c-c6b54f8c9636\",\r\n    \"send_receipt\": false,\r\n    \"is_recurring_token\": false,\r\n    \"skip_capture\": false,\r\n    \"reference_generated\": \"PS10421\",\r\n    \"issued\": \"2024-07-01\",\r\n    \"due\": 1719833645,\r\n    \"refund_upto\": 0,\r\n    \"cc_descriptor\": \"\",\r\n    \"fraudScore\": \"NA\",\r\n    \"trustScore\": \"NA\",\r\n    \"payInDetails\": {\r\n        \"qrCode\": \"iVBORw0KGgoAAAANSUhEUgAAAb0AAAG9AQAAAACpVZXpAAAH7UlEQVR4nO1cQY7qSgw0yiJLjpCbJBdDIhIXg5vkCCyzQPi7qtwkM2/zNcsYpIfeQFcvTNtdLtsx/9trtS/wC/wCv8A/AZ9mdnpevb9bt6zj+TWso3Uen17i33nGkgverotN/orP7FoHeHV/AG1nfnoZ+kfYrcdKv8ei/gEMvljxRkQZ4MVi5Ww2nm9LbBF/xnLYd7YVVu3dZ262hPUvA3+CUsCnDesJ39/PHhidtlg5cRFek9+WtSgwPO595ldGI4dTAohX/8ZpG2Hp8MdiQPnjEL7XIWJdEae6BfvgC0SxCGCx2Q2fvf5x5GMDGckRov7X2+8r4NhAvW6O82QrHBBeuGBHHjSHK7rDtDxtv8jD0YERv8PPwAHcRjogbv43/BF/wuZwytgHO9r4serxgbIg7vvzPNALY1GHzXDrwYJji2JgTsvOkY8PxGnDDYeVsPHcYjWoUtx6jF04cjPsa8PmjxWAroMWUbtbdPPHPuGZsOqdX8SfOJXGu26zagVgLILHraTWvOUDjRuuU4jq4a2xj8y9hLd6HaArFcMtD997gVoHJYCRwa8H2HzgWVxBDkoBxR5lraVHxIpgdWXEcjJKHrmw+S2Z071F8gLA+JSGCkwEbISoOFnJHiNtvSAhgc0RpyKmw/BeBqgUFUcJGIPWAZnjY1VXis+bUMdw93McHph0kXedfA/pBfMx5CKLlJCJ9n3+FEkOD1QSiuUyrSWaQfyuc0eS3UElm+m8ZYDNqrCbkQMgMMGWEcCQhdEB6a1Jsps/VgCGybASWTtOFu1Lz8SlD/lsgheepBXFupaUFQEiC4MXzozaRjYQrnhRAksioORDbx8doAAQkfwM3qzrP4MVI3lwRqeEOEgTgc37eyVg5zxFZNAuboR0HlkY5VZdbszbELtk6SpAk/DV44yBB2H5zFSWgR3KPAkSKIHZT3nt6EA4INgPmKJRim/1L1MljKI8zS0NbSwElG5qrX6DwsQkDQh5Kr91prI3V4jfqHUBYKfKH9jPQPbDCpchTkmop/xzgiYi9dULASm2863TQeuxGYuDYVUzmtFOm3tuxaDjA+Fi0AehAZFB0zOpfxikD4Uo7YOw9SFIBYAqkN4UyRnY4ZnNFWnfVlpX7WeTEI8PBGWepDvLZCDPopBZOQVVgj+CCNwaaaoBxP8p/zDloN5jZI/sQABGeYe7ctftyBUAPpmmozqBpAyZ/ArxmXmqfJTqIZVWbLGJJBWAtCXqN8rCqIN1rqh9N0qIs84dGzU2raMAkPEbJjMWt85atJg1fZXZhm7CURyqDvCpWpejnUci4QrxmWSSVQwqRGwT47qdEFQBOPCWpxeCPBulsl55KiyIOM96hiLWw+sAndSQB+1KqQxnjEBmIC+xb2NNjFnJp95RASjimEViKtAiTWoEM1bf1YHK2vKOPR4fiJuLyrIZuk0hNOP6Z9McsxJk8gsJEm44sYEqQHaghvF4fQk9ch+9MXR3aOdRJA9KsJVKDw9k1FbDE1WyiOkUghiwSQlQycmyz5mCRyWgZxAyFU2dJJvxm59RsgerlmS/XXMFgOzfYU3H1OFuSlaRnq288JyuyL5dhLJPB0IBIBa9mbCrOYxaqkqlqPwhlcU1B89Ud/wnklcABjdCmi4dEcoyo1Nrt2yVsDGrGGpqrgNUqY8siQblQXMeOcZv6Ijr1LpYdjWd4wM9h2yYcanE02gRxY3WmSHSxBKP1wFK4NFVz0i0jZUwO2Viz3PHA7nrfD4+8MlRLCRl4NITs42WxPdZxKGQdpXSah/aWQDo5IcJVB2ZhBrHi0UcmjY7eH/8HAWAraaTxMfSAU1ah9E9L8pAVD6tBGQnt/h1bMFGg3fLMdjUwvaMNfMOzCJtR+7wQPWucKBmZjjnV61DjJtxXkJpiO1qOhWAOV/TYhKcUpM2F91rxqGJVrHYdXcXAPIA5dDsIPXwnUZWOxRpgrMjEzORW8GrAnDO4tbE8QnORrCfBeeOMvSk3h/LLR6FgNtIIyui1OglaTAhYXNYamicufGdIx8eqFz9ZTkMYWy8dA1vqRp4Ir/2WcLINlBQAPgkIWQQz0c8OFvlkl8zA5lzGAeHz9+FgO6ii+y9QCRSowHdTtH9xOZTjWBn6asKUK2VvtBaUuFH+R62oAZkObLfKzM71wHCqhyVaFPpIs/emndV+mLfBmtivv85Dg9kAwajE+K3kg8lpq3YA0dlY48GAM+FgDklq7wDoVtUaVT/e/YdJDdiUcPrAHmeFJhemkBKMunZ/y6nZDeYGMKmzB8eCBshHW1T6VhuqdabzmI+P2Tpm1OWAWoei88uSBV+o9G7eimfN4O0f9e/enyg9PgL5Xk9tqDP9OKmKilbCNU0dxL6Wgr4aOlo/yGOagQ7yeZqwYRnXndlxArAnNHfRvbzXlML5ktJmWdij2rgsxAQVlVJMF2xaUCcGuUH6n9SpX3f9XR8IF7qQIiTlUWcznXf5/CRZfflqIGuaxkgDEVqaOyX4+VmnNvic2SyTCi5VRWfdgVUAF5dUVtj6KrpwL545dMX7TNg/LMaeHygnr7YxNM2JcEvVOLJrISKolk9oPpxW7ep+JJodLJqnkpN9Vs1IFxsarqzpLKHsrUXGaW1+vrFfj3w8+BA+iOHA1omrxbCJ9F67IP2oUK04+QFgC2Sq8U7x5CGTyVsaL3LLjIp9ywC/NPrC/wCv8Av8C/A/wCpreUSrYyOqQAAAABJRU5ErkJggg==\",\r\n        \"gpayUri\": \"gpay://upi/pay?ver=01&mode=15&am=5.00&mam=1.00&cu=INR&pa=npstpay@timecosmos&pn=NPST%20PAY&mc=6012&tr=NPST040120220010&tn=QR%20SIT%20testing&mid=NPSTPAY001&msid=NPSTPAY001-001&mtid=NPSTPAY001-001&category=02&url=http://google.com\",\r\n        \"phonepeUri\": \"phonepe://pay?ver=01&mode=15&am=5.00&mam=1.00&cu=INR&pa=npstpay@timecosmos&pn=NPST%20PAY&mc=6012&tr=NPST040120220010&tn=QR%20SIT%20testing&mid=NPSTPAY001&msid=NPSTPAY001-001&mtid=NPSTPAY001-001&category=02&url=http://google.com\",\r\n        \"paytmUri\": \"paytmmp://pay?ver=01&mode=15&am=5.00&mam=1.00&cu=INR&pa=npstpay@timecosmos&pn=NPST%20PAY&mc=6012&tr=NPST040120220010&tn=QR%20SIT%20testing&mid=NPSTPAY001&msid=NPSTPAY001-001&mtid=NPSTPAY001-001&category=02&url=http://google.com\",\r\n        \"generatedLink\": \"https://api.decf.in/pay/ndaszpvy7j\"\r\n    },\r\n    \"refund_availability\": \"NONE\",\r\n    \"refundable_amount\": 0.0,\r\n    \"success_redirect\": \"https://app.thefundstream.org/getResponse.jsp?success=true\",\r\n    \"failure_redirect\": \"https://app.thefundstream.org/getResponse.jsp?success=false\",\r\n    \"cancel_redirect\": \"\",\r\n    \"success_callback\": \"https://api.example.net\",\r\n    \"failure_callback\": \"https://api.example.net\",\r\n    \"platform\": \"API\",\r\n    \"created_from_ip\": \"110.235.229.42\",\r\n    \"checkout_url\": \"https://app.thefundstream.org/payments/6682942d5273633e7b8d30c8/\"\r\n}\r\n"},{"id":"c803dd8c-d421-4564-8e86-bd51d7a8c39b","name":"Create Purchase","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer Token"}],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"https://app.thefundstream.org/api/v1/purchases"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"message\": \"Error Message\",\r\n    \"code\": \"error_code\"\r\n}\r\n"}],"_postman_id":"d1c95a99-cd40-4ac8-b419-b03af8fa5cb4"},{"name":"Get Status","id":"4f12e85b-2ec6-46ac-a1f0-b6c02e4e9227","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer Token","type":"text"}],"url":"https://app.thefundstream.org/api/v1/purchases/{purchaseId}/","description":"<p>This API tells you about all the details of a purchase (PayIn), including its history</p>\n<p><strong>Note:</strong> With respect to bank transfers, the purchase request is synonymous with the PayIn request.</p>\n<h3 id=\"mandatory\">Mandatory</h3>\n<p>you need to pass the <code>PurchaseID</code> in the API URL</p>\n<h3 id=\"possible-value-of-status\">Possible Value of Status</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Status</strong></th>\n<th><strong>Notes</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>paid</td>\n<td>Transaction Successful</td>\n</tr>\n<tr>\n<td>payment_in_process</td>\n<td>Payment is under Processing</td>\n</tr>\n<tr>\n<td>expired</td>\n<td>Purchase has Expired.</td>\n</tr>\n<tr>\n<td>error</td>\n<td>Transaction has Failed.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"response-examples\">Response Examples</h3>\n<p>In the response examples you can see instances of both <code>Paid</code> and <code>Error</code> Status purchases.</p>\n<h3 id=\"error-details\">Error Details</h3>\n<p>If there are any issues on the Purchase you can get more details from the <code>transaction_data.attempts.error</code> attribute of the response object</p>\n<h3 id=\"errors\">Errors</h3>\n<p>If there are any errors then it'll be in the format of :</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"descriptive error message\",\n    \"code\": \"error_code\"\n}\n\n</code></pre>\n<p>Please see the Status Code section for further details.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}},"urlObject":{"path":["purchases","{purchaseId}",""],"host":["https://app.thefundstream.org/api/v1"],"query":[],"variable":[]}},"response":[{"id":"b0138895-9366-4a8a-a6ee-2fb26e72d412","name":"Purchases-success","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer Token"}],"url":"https://app.thefundstream.org/api/v1/purchases/{purchaseId}/"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"purchaseId\": \"66c4667bb993c970367c288a\",\r\n    \"client\": {\r\n        \"email\": \"deepakdeepaksinghal@gmail.com\",\r\n        \"date_of_birth\": \"1970-07-10\",\r\n        \"street_address\": \"10 New Burlington Street Apt. 214\",\r\n        \"country\": \"IN\",\r\n        \"city\": \"London\",\r\n        \"zip_code\": \"W1S 3BE\",\r\n        \"cc\": [],\r\n        \"bcc\": [],\r\n        \"stateCode\": \"QLD\"\r\n    },\r\n    \"updated_on\": 1724147324,\r\n    \"type\": \"purchase\",\r\n    \"paymentMethod\": \"UPI\",\r\n    \"amountUnit\": \"MAJOR\",\r\n    \"errorMsg\": \"\",\r\n    \"redirectType\": \"POST\",\r\n    \"force_recurring\": false,\r\n    \"created_on\": 1724147324,\r\n    \"merchantRef\": \"66c4667bb993c970367c288a\",\r\n    \"merchantName\": \"merchant002\",\r\n    \"purchase\": {\r\n        \"currency\": \"INR\",\r\n        \"products\": [\r\n            {\r\n                \"name\": \"test\",\r\n                \"quantity\": 1.0,\r\n                \"price\": 10.0,\r\n                \"discount\": 0,\r\n                \"tax_percent\": \"0.00\"\r\n            }\r\n        ],\r\n        \"total\": 10.0,\r\n        \"language\": \"en\",\r\n        \"notes\": \"\",\r\n        \"debt\": 0,\r\n        \"total_formatted\": 1.0,\r\n        \"expireInMin\": \"35\",\r\n        \"request_client_details\": [],\r\n        \"timezone\": \"MIT\",\r\n        \"email_message\": \"\"\r\n    },\r\n    \"payment\": {\r\n        \"is_outgoing\": false,\r\n        \"payment_type\": \"PURCHASE\",\r\n        \"amount\": 10.0,\r\n        \"currency\": \"INR\",\r\n        \"net_amount\": 10.0,\r\n        \"fee_amount\": 0.0,\r\n        \"pending_amount\": 0.0,\r\n        \"pending_unfreeze_on\": null,\r\n        \"description\": \"\",\r\n        \"paid_on\": 1724147324,\r\n        \"remote_paid_on\": 1724147324\r\n    },\r\n    \"issuer_details\": {\r\n        \"website\": \"\",\r\n        \"legal_street_address\": \"\",\r\n        \"legal_country\": \"\",\r\n        \"legal_city\": \"\",\r\n        \"legal_zip_code\": \"\",\r\n        \"bank_accounts\": [\r\n            {}\r\n        ],\r\n        \"legal_name\": \"test6\",\r\n        \"brand_name\": \"test6\",\r\n        \"registration_number\": \"\",\r\n        \"tax_number\": \"\"\r\n    },\r\n    \"transaction_data\": {\r\n        \"payment_method\": \"\",\r\n        \"flow\": \"payform\",\r\n        \"extra\": {\r\n            \"amount\": 10.0,\r\n            \"masked_pan\": \"UPI\"\r\n        },\r\n        \"country\": \"\",\r\n        \"attempts\": [\r\n            {\r\n                \"client_ip\": \"103.59.75.113\",\r\n                \"type\": \"execute\",\r\n                \"payment_method\": \"UPI\",\r\n                \"flow\": \"payform\",\r\n                \"successful\": true,\r\n                \"country\": \"UPI\",\r\n                \"processing_time\": 1724147324,\r\n                \"extra\": {\r\n                    \"amount\": 10.0,\r\n                    \"masked_pan\": \"UPI\"\r\n                }\r\n            }\r\n        ]\r\n    },\r\n    \"status\": \"PAYMENT_IN_PROCESS\",\r\n    \"status_history\": [\r\n        {\r\n            \"status\": \"created\",\r\n            \"timestamp\": 1724147324\r\n        },\r\n        {\r\n            \"status\": \"pending_execute\",\r\n            \"timestamp\": 1724147324\r\n        },\r\n        {\r\n            \"status\": \"payment_in_process\",\r\n            \"timestamp\": 1724147324\r\n        }\r\n    ],\r\n    \"is_test\": false,\r\n    \"brand_id\": \"c4003b2c-22d4-4dc1-ad0c-c6b54f8c9636\",\r\n    \"send_receipt\": false,\r\n    \"is_recurring_token\": false,\r\n    \"skip_capture\": false,\r\n    \"reference_generated\": \"PS10907\",\r\n    \"issued\": \"2024-08-20\",\r\n    \"due\": 1724147324,\r\n    \"refund_upto\": 1725871728,\r\n    \"cc_descriptor\": \"test1\",\r\n    \"fraudScore\": \"NA\",\r\n    \"trustScore\": \"NA\",\r\n    \"payInDetails\": {\r\n        \"qrCode\": \"iVBORw0KGgoAAAANSUhEUgAAAb0AAAG9AQAAAACpVZXpAAAH7UlEQVR4nO1cQY7qSgw0yiJLjpCbJBdDIhIXg5vkCCyzQPi7qtwkM2/zNcsYpIfeQFcvTNtdLtsx/9trtS/wC/wCv8A/AZ9mdnpevb9bt6zj+TWso3Uen17i33nGkgverotN/orP7FoHeHV/AG1nfnoZ+kfYrcdKv8ei/gEMvljxRkQZ4MVi5Ww2nm9LbBF/xnLYd7YVVu3dZ262hPUvA3+CUsCnDesJ39/PHhidtlg5cRFek9+WtSgwPO595ldGI4dTAohX/8ZpG2Hp8MdiQPnjEL7XIWJdEae6BfvgC0SxCGCx2Q2fvf5x5GMDGckRov7X2+8r4NhAvW6O82QrHBBeuGBHHjSHK7rDtDxtv8jD0YERv8PPwAHcRjogbv43/BF/wuZwytgHO9r4serxgbIg7vvzPNALY1GHzXDrwYJji2JgTsvOkY8PxGnDDYeVsPHcYjWoUtx6jF04cjPsa8PmjxWAroMWUbtbdPPHPuGZsOqdX8SfOJXGu26zagVgLILHraTWvOUDjRuuU4jq4a2xj8y9hLd6HaArFcMtD997gVoHJYCRwa8H2HzgWVxBDkoBxR5lraVHxIpgdWXEcjJKHrmw+S2Z071F8gLA+JSGCkwEbISoOFnJHiNtvSAhgc0RpyKmw/BeBqgUFUcJGIPWAZnjY1VXis+bUMdw93McHph0kXedfA/pBfMx5CKLlJCJ9n3+FEkOD1QSiuUyrSWaQfyuc0eS3UElm+m8ZYDNqrCbkQMgMMGWEcCQhdEB6a1Jsps/VgCGybASWTtOFu1Lz8SlD/lsgheepBXFupaUFQEiC4MXzozaRjYQrnhRAksioORDbx8doAAQkfwM3qzrP4MVI3lwRqeEOEgTgc37eyVg5zxFZNAuboR0HlkY5VZdbszbELtk6SpAk/DV44yBB2H5zFSWgR3KPAkSKIHZT3nt6EA4INgPmKJRim/1L1MljKI8zS0NbSwElG5qrX6DwsQkDQh5Kr91prI3V4jfqHUBYKfKH9jPQPbDCpchTkmop/xzgiYi9dULASm2863TQeuxGYuDYVUzmtFOm3tuxaDjA+Fi0AehAZFB0zOpfxikD4Uo7YOw9SFIBYAqkN4UyRnY4ZnNFWnfVlpX7WeTEI8PBGWepDvLZCDPopBZOQVVgj+CCNwaaaoBxP8p/zDloN5jZI/sQABGeYe7ctftyBUAPpmmozqBpAyZ/ArxmXmqfJTqIZVWbLGJJBWAtCXqN8rCqIN1rqh9N0qIs84dGzU2raMAkPEbJjMWt85atJg1fZXZhm7CURyqDvCpWpejnUci4QrxmWSSVQwqRGwT47qdEFQBOPCWpxeCPBulsl55KiyIOM96hiLWw+sAndSQB+1KqQxnjEBmIC+xb2NNjFnJp95RASjimEViKtAiTWoEM1bf1YHK2vKOPR4fiJuLyrIZuk0hNOP6Z9McsxJk8gsJEm44sYEqQHaghvF4fQk9ch+9MXR3aOdRJA9KsJVKDw9k1FbDE1WyiOkUghiwSQlQycmyz5mCRyWgZxAyFU2dJJvxm59RsgerlmS/XXMFgOzfYU3H1OFuSlaRnq288JyuyL5dhLJPB0IBIBa9mbCrOYxaqkqlqPwhlcU1B89Ud/wnklcABjdCmi4dEcoyo1Nrt2yVsDGrGGpqrgNUqY8siQblQXMeOcZv6Ijr1LpYdjWd4wM9h2yYcanE02gRxY3WmSHSxBKP1wFK4NFVz0i0jZUwO2Viz3PHA7nrfD4+8MlRLCRl4NITs42WxPdZxKGQdpXSah/aWQDo5IcJVB2ZhBrHi0UcmjY7eH/8HAWAraaTxMfSAU1ah9E9L8pAVD6tBGQnt/h1bMFGg3fLMdjUwvaMNfMOzCJtR+7wQPWucKBmZjjnV61DjJtxXkJpiO1qOhWAOV/TYhKcUpM2F91rxqGJVrHYdXcXAPIA5dDsIPXwnUZWOxRpgrMjEzORW8GrAnDO4tbE8QnORrCfBeeOMvSk3h/LLR6FgNtIIyui1OglaTAhYXNYamicufGdIx8eqFz9ZTkMYWy8dA1vqRp4Ir/2WcLINlBQAPgkIWQQz0c8OFvlkl8zA5lzGAeHz9+FgO6ii+y9QCRSowHdTtH9xOZTjWBn6asKUK2VvtBaUuFH+R62oAZkObLfKzM71wHCqhyVaFPpIs/emndV+mLfBmtivv85Dg9kAwajE+K3kg8lpq3YA0dlY48GAM+FgDklq7wDoVtUaVT/e/YdJDdiUcPrAHmeFJhemkBKMunZ/y6nZDeYGMKmzB8eCBshHW1T6VhuqdabzmI+P2Tpm1OWAWoei88uSBV+o9G7eimfN4O0f9e/enyg9PgL5Xk9tqDP9OKmKilbCNU0dxL6Wgr4aOlo/yGOagQ7yeZqwYRnXndlxArAnNHfRvbzXlML5ktJmWdij2rgsxAQVlVJMF2xaUCcGuUH6n9SpX3f9XR8IF7qQIiTlUWcznXf5/CRZfflqIGuaxkgDEVqaOyX4+VmnNvic2SyTCi5VRWfdgVUAF5dUVtj6KrpwL545dMX7TNg/LMaeHygnr7YxNM2JcEvVOLJrISKolk9oPpxW7ep+JJodLJqnkpN9Vs1IFxsarqzpLKHsrUXGaW1+vrFfj3w8+BA+iOHA1omrxbCJ9F67IP2oUK04+QFgC2Sq8U7x5CGTyVsaL3LLjIp9ywC/NPrC/wCv8Av8C/A/wCpreUSrYyOqQAAAABJRU5ErkJggg==\",\r\n        \"gpayUri\": \"gpay://upi/pay?ver=01&mode=15&am=5.00&mam=1.00&cu=INR&pa=npstpay@timecosmos&pn=NPST%20PAY&mc=6012&tr=NPST040120220010&tn=QR%20SIT%20testing&mid=NPSTPAY001&msid=NPSTPAY001-001&mtid=NPSTPAY001-001&category=02&url=http://google.com\",\r\n        \"phonepeUri\": \"phonepe://pay?ver=01&mode=15&am=5.00&mam=1.00&cu=INR&pa=npstpay@timecosmos&pn=NPST%20PAY&mc=6012&tr=NPST040120220010&tn=QR%20SIT%20testing&mid=NPSTPAY001&msid=NPSTPAY001-001&mtid=NPSTPAY001-001&category=02&url=http://google.com\",\r\n        \"paytmUri\": \"paytmmp://pay?ver=01&mode=15&am=5.00&mam=1.00&cu=INR&pa=npstpay@timecosmos&pn=NPST%20PAY&mc=6012&tr=NPST040120220010&tn=QR%20SIT%20testing&mid=NPSTPAY001&msid=NPSTPAY001-001&mtid=NPSTPAY001-001&category=02&url=http://google.com\",\r\n        \"generatedLink\": \"https://staging.decf.in/pay/514o5z3m9z\"\r\n    },\r\n    \"refund_availability\": \"NONE\",\r\n    \"refundable_amount\": 10.0,\r\n    \"success_redirect\": \"https://api.example.net/getResponse.jsp?success=true\",\r\n    \"failure_redirect\": \"https://api.example.net/getResponse.jsp?success=false\",\r\n    \"cancel_redirect\": \"\",\r\n    \"success_callback\": \"https://api.example.net\",\r\n    \"failure_callback\": \"https://api.example.net\",\r\n    \"platform\": \"API\",\r\n    \"created_from_ip\": \"103.59.75.113\",\r\n    \"checkout_url\": \"https://api.example.net/payments/66c4667bb993c970367c288a/\",\r\n    \"payoutProcess\": false\r\n}"},{"id":"fca79fc7-5210-409a-999a-d2c456ade9f1","name":"Purchases","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer Token","type":"text"}],"url":"https://app.thefundstream.org/api/v1/purchases/{purchaseId}/"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"message\": \"Error Message\",\r\n    \"code\": \"error_code\"\r\n}\r\n"}],"_postman_id":"4f12e85b-2ec6-46ac-a1f0-b6c02e4e9227"}],"id":"c8c6e46a-eff6-4e2e-ab7b-275434dde921","description":"<p><strong>API Flow</strong></p>\n<img src=\"https://lh7-us.googleusercontent.com/cfWw_RYZ9eZVEKzKjeRW4I_VwbBTyqH78LUrJG6ulp7FkE1pXVD6DZr9MnQXB9KH_oLFasJDb156naCsBc2bgotPaVY7LtGOJNifpTOb5uks3fjAKpgVhU4dsXQmQ7hFKNFIVhZEl2p8fCN1YufsRaA\" />\n\n<ol>\n<li><p>The merchant initiates the purchase via the create purchase API. If successful, they receive PayIn details along with a checkout URL in the response JSON</p>\n</li>\n<li><p>The merchant then has 2 options</p>\n<ol>\n<li><p>Retrieve the PayIn details in the response JSON (as shown below).<br /> Although json contains numerous payInDetails links, users can utilize this to be redirected to a specific link.  </p>\n</li>\n<li><p>Upon utilizing the checkout URL, the user will be presented with several payment choices from which to choose in order to complete the payment.</p>\n<ol>\n<li><p>Paytm</p>\n</li>\n<li><p>Googlepay</p>\n</li>\n<li><p>Phonepay</p>\n</li>\n<li><p>QRCode</p>\n</li>\n</ol>\n</li>\n</ol>\n</li>\n<li><p>After a successful or failed payment by the end user, an appropriate webhook would be sent to the merchant. If option 2b was the method employed, the user would be redirected to the appropriate redirect URL.</p>\n</li>\n</ol>\n","_postman_id":"c8c6e46a-eff6-4e2e-ab7b-275434dde921","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}}},{"name":"PayOut API","item":[{"name":"Create PayOut","id":"97a8d309-4bbb-4462-889a-ebafe35bd93e","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer Token"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n        \"email\": \"yogesh@gmail.com\",\r\n       \"country\" : \"CA\",\r\n       \"phone\" : \"766225230591\",\r\n       \"full_name\": \"Test Person-uk\"\r\n    },\r\n    \"beneficiaryDetail\":{\r\n        \"transferType\" : \"IMPS\",\r\n        \"ifscCode\":\"SBIN0001077\",\r\n        \"payeeName\":\"YOgesh\",\r\n         \"bankAccountNumber\": \"123456789011\"\r\n    },\r\n       \"purpose\" : \"test payout\",\r\n    \"currency\" : \"INR\",\r\n    \"payoutMethod\" : \"Payout-UPI\",\r\n    \"amount\" : 10,\r\n    \"success_callback\": \"https://success.com\",\r\n    \"failure_callback\": \"https://failure.com\"   \r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"https://app.thefundstream.org/api/v1/payout/","description":"<p>To Initiate a payment, the very first call to make is/payout/</p>\n<p>with the required data in the request body.</p>\n<p>To generate a Payout, you are required to provide the <code>API key</code> (in the header) can be located in the Dashboard section of your merchant account login.</p>\n<p>The request body structure is shown on the request body of the example request shown here.</p>\n<p>The following (see table below) are the mandatory parameters that are required to create a Payout request.</p>\n<h3 id=\"mandatory-parameters-in-the-request-body\"><strong>Mandatory parameters in the request body:</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Parameter</strong></th>\n<th><strong>Notes</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>client.email</td>\n<td>An Identifier for a user</td>\n</tr>\n<tr>\n<td>client.phone</td>\n<td></td>\n</tr>\n<tr>\n<td>client.full_name</td>\n<td></td>\n</tr>\n<tr>\n<td>client.country</td>\n<td></td>\n</tr>\n<tr>\n<td>payoutMethod</td>\n<td></td>\n</tr>\n<tr>\n<td>beneficiaryDetail</td>\n<td></td>\n</tr>\n<tr>\n<td>beneficiaryDetail.transferType</td>\n<td>One of the following values  <br />IMPS, UPI, RTGS, or NEFT,</td>\n</tr>\n<tr>\n<td>beneficiaryDetail.ifscCode</td>\n<td>if transferType is either of IMPS, RTGS, or NEFT</td>\n</tr>\n<tr>\n<td>beneficiaryDetail.payeeName</td>\n<td>if transferType is either of IMPS, RTGS, or NEFT</td>\n</tr>\n<tr>\n<td>beneficiaryDetail.bankAccountNumber</td>\n<td>if transferType is either of IMPS, RTGS, or NEFT</td>\n</tr>\n<tr>\n<td>beneficiaryDetail.UPIid</td>\n<td>if transferType is UPI</td>\n</tr>\n<tr>\n<td>Currency</td>\n<td>Note this is currency account for which you have balance</td>\n</tr>\n<tr>\n<td>Amount</td>\n<td></td>\n</tr>\n<tr>\n<td>Purpose</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h3 id>**</h3>\n<p>Transfer Type:**</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>TYPE</th>\n<th>REQUIRED</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>UPI</td>\n<td>UPI id</td>\n</tr>\n<tr>\n<td>IMPS</td>\n<td>IFSC code  <br />payeeName  <br />bankAccountNumber</td>\n</tr>\n<tr>\n<td>NEFT</td>\n<td>IFSC code  <br />payeeName  <br />bankAccountNumber</td>\n</tr>\n<tr>\n<td>RTGS</td>\n<td>IFSC code  <br />payeeName  <br />bankAccountNumber</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}},"urlObject":{"path":["payout",""],"host":["https://app.thefundstream.org/api/v1"],"query":[{"disabled":true,"key":"","value":""},{"disabled":true,"key":null,"value":""}],"variable":[]}},"response":[{"id":"b021937e-82b9-41bd-9ac7-1471c7542697","name":"create payout-success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer Token","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n        \"email\": \"yogesh@gmail.com\",\r\n       \"country\" : \"CA\",\r\n       \"phone\" : \"766225230591\",\r\n       \"full_name\": \"Test Person-uk\"\r\n    },\r\n    \"beneficiaryDetail\":{\r\n        \"transferType\" : \"IMPS\",\r\n        \"ifscCode\":\"SBIN0001077\",\r\n        \"payeeName\":\"YOgesh\",\r\n         \"bankAccountNumber\": \"123456789011\"\r\n    },\r\n       \"purpose\" : \"test payout\",\r\n    \"currency\" : \"INR\",\r\n    \"payoutMethod\" : \"Payout-UPI\",\r\n    \"amount\" : 10,\r\n    \"success_callback\": \"https://success.com\",\r\n    \"failure_callback\": \"https://failure.com\"   \r\n}\r\n","options":{"raw":{"language":"json"}}},"url":{"raw":"https://app.thefundstream.org/api/v1/payout/","host":["https://app.thefundstream.org/api/v1"],"path":["payout",""],"query":[{"key":"","value":null,"disabled":true},{"key":null,"value":"","disabled":true}]}},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"payoutId\": \"668397060cb39c1e2033e827\",\r\n    \"client\": {\r\n        \"email\": \"yogesh@gmail.com\",\r\n        \"phone\": \"766225230591\",\r\n        \"full_name\": \"Test Person-uk\",\r\n        \"country\": \"CA\"\r\n    },\r\n    \"updated_on\": 1719899910,\r\n    \"payoutMethod\": \"PAYOUT-UPI\",\r\n    \"beneficiaryDetail\": {\r\n        \"bankAccountNumber\": \"123456789011\",\r\n        \"transferType\": \"IMPS\",\r\n        \"ifscCode\": \"SBIN0001077\",\r\n        \"payeeName\": \"YOgesh\"\r\n    },\r\n    \"amountUnit\": \"MAJOR\",\r\n    \"amount\": 5.0,\r\n    \"errorMsg\": \"\",\r\n    \"purpose\": \"test payout\",\r\n    \"created_on\": 1719899910,\r\n    \"merchantRef\": \"668397060cb39c1e2033e827\",\r\n    \"status\": \"PAYOUT_IN_PROCESS\",\r\n    \"status_history\": [\r\n        {\r\n            \"status\": \"created\",\r\n            \"timestamp\": 1719899910\r\n        },\r\n        {\r\n            \"status\": \"payout_in_process\",\r\n            \"timestamp\": 1719899913\r\n        }\r\n    ],\r\n    \"currency\": \"INR\",\r\n    \"paymentOn\": 0,\r\n    \"success_callback\": \"https://success.com\",\r\n    \"failure_callback\": \"https://failure.com\"\r\n}\r\n"},{"id":"48a4d15f-05a6-4cb4-9451-64c77fc485b8","name":"create payout-error","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer Token","type":"text"}],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":{"raw":"https://app.thefundstream.org/api/v1/payout/","host":["https://app.thefundstream.org/api/v1"],"path":["payout",""],"query":[{"key":"","value":null,"disabled":true},{"key":null,"value":"","disabled":true}]}},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":" {\r\n    \"message\": \"Error Message\",\r\n    \"code\": \"error_code\"\r\n}\r\n"}],"_postman_id":"97a8d309-4bbb-4462-889a-ebafe35bd93e"},{"name":"Get Status","id":"da1f9b23-61c5-41b0-8668-e908544b8c09","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://app.thefundstream.org/api/v1/getpayout/{payoutId}/","description":"<p>This API tells you about all the details of a Payout, including its history</p>\n<h3 id=\"mandatory\">Mandatory</h3>\n<p>you need to pass the payoutId in the API URL</p>\n<h3 id=\"possible-value-of-status\">Possible Value of Status</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Status</strong></th>\n<th><strong>Notes</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>paid</td>\n<td>Transaction Successful</td>\n</tr>\n<tr>\n<td>payout_in_process</td>\n<td>payout is under Processing.</td>\n</tr>\n<tr>\n<td>error</td>\n<td>Transaction has Failed.</td>\n</tr>\n</tbody>\n</table>\n</div><p>The webhook will only be triggered for paid transactions or errors.</p>\n<p>Paid: \"success_callback\": \"<a href=\"https://success.com\">https://success.com</a>\",</p>\n<p>Error: \"failure_callback\": “<a href=\"https://failure.com%E2%80%9D\">https://failure.com”</a></p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}},"urlObject":{"path":["getpayout","{payoutId}",""],"host":["https://app.thefundstream.org/api/v1"],"query":[],"variable":[]}},"response":[{"id":"137231e4-cacf-4486-94c0-7d96217951a4","name":"Get success Status","originalRequest":{"method":"GET","header":[],"url":"https://app.thefundstream.org/api/v1/getpayout/{payoutId}/"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"payoutId\": \"66838ae86d41e41c10a8656d\",\r\n    \"client\": {\r\n        \"email\": \"Yogesh@gmail.com\",\r\n        \"phone\": \"766533230591\",\r\n        \"full_name\": \"Test Person-uk\",\r\n        \"country\": \"CA\"\r\n    },\r\n    \"updated_on\": 1719896808,\r\n    \"payoutMethod\": \"PAYOUT-UPI\",\r\n    \"beneficiaryDetail\": {\r\n        \"upi\": \"charles.babbage@okhdfc\",\r\n        \"transferType\": \"UPI\"\r\n    },\r\n    \"amountUnit\": \"MAJOR\",\r\n    \"amount\": 10.0,\r\n    \"errorMsg\": \"\",\r\n    \"purpose\": \"test payout\",\r\n    \"created_on\": 1719896808,\r\n    \"merchantRef\": \"66838ae86d41e41c10a8656d\",\r\n    \"merchantName\": \"newMerchant777\",\r\n    \"status\": \"PAYOUT_IN_PROCESS\",\r\n    \"status_history\": [\r\n        {\r\n            \"status\": \"created\",\r\n            \"timestamp\": 1719896808\r\n        },\r\n        {\r\n            \"status\": \"payout_in_process\",\r\n            \"timestamp\": 1719896810\r\n        },\r\n        {\r\n            \"status\": \"viewed\",\r\n            \"timestamp\": 1719900796\r\n        }\r\n    ],\r\n    \"viewedOn\": 1719900796,\r\n    \"currency\": \"INR\",\r\n    \"paymentOn\": 0,\r\n    \"success_callback\": \"https://success.com\",\r\n    \"failure_callback\": \"https://failure.com\"\r\n}\r\n"},{"id":"490910a2-0e50-43af-bfaa-8c4d17b0ac9f","name":"Get Error Status","originalRequest":{"method":"GET","header":[],"url":"https://app.thefundstream.org/api/v1/getpayout/{payoutId}/"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"message\": \"Error Message\",\r\n    \"code\": \"error_code\"\r\n}"}],"_postman_id":"da1f9b23-61c5-41b0-8668-e908544b8c09"}],"id":"709ca0d6-1861-421b-9451-45b0c6e0eab8","description":"<p><strong>API Flow</strong></p>\n<img src=\"https://lh7-us.googleusercontent.com/Uxy8jmp5RP-c360-oIMAZy2As8naqJdARgKsWU0x_BtszfJlwdRVM6-obffbtjTABfI9V0hxH4Ad-Ns96We42lIMdL434tTzLJ6aEQBt0dzX_ZXeM4RtG_kmEeem7WIsN520Zh5PS3xTFYNzOmks0ak\" />\n\n<ul>\n<li><p>The merchant initiates a PayOut via the payout API.</p>\n</li>\n<li><p>After a successful or failed payment attempt, the status is reflected on the response, and the details on the status history. You can also get the status through getStatus (purchases/{payID}) API.</p>\n</li>\n</ul>\n","_postman_id":"709ca0d6-1861-421b-9451-45b0c6e0eab8","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}}},{"name":"Get Balance API","item":[{"name":"Checking Balance","id":"9f8d527a-2c87-4646-8832-93cf3ebd78df","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer Token","type":"text"}],"body":{"mode":"raw","raw":"{ \r\n    \"paymentMethod\" : \"PAYOUT-UPI\"\r\n\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"https://app.thefundstream.org/api/v1/getBalance","description":"<h2 id=\"api-for-checking-balance-payout\"><strong>API for Checking Balance payout</strong></h2>\n<ol>\n<li><p>URL :- /getBalance/</p>\n</li>\n<li><p>RequestType: POST</p>\n</li>\n<li><p>Request Body</p>\n</li>\n</ol>\n<p>Note: Currency is not a mandatory parameter. If no parameter is specified then all respective currency balances would be provided, if any specific currency parameter is provided then only that currency balance would be provided.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}},"urlObject":{"path":["getBalance"],"host":["https://app.thefundstream.org/api/v1"],"query":[],"variable":[]}},"response":[{"id":"5f8f7692-acc2-4cc4-a193-fe2c6ba0ba84","name":"Checking Balance payout-success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{ \r\n     \"paymentMethod\" : \"PAYOUT-UPI\"\r\n\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"https://app.thefundstream.org/api/v1/getBalance"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"paymentMethod\": \"PAYOUT-UPI\",\r\n    \"status\": \"success\",\r\n    \"data\": [\r\n        {\r\n            \"currency\": \"INR\",\r\n            \"balance\": \"11.25\"\r\n        },\r\n        {\r\n            \"currency\": \"USD\",\r\n            \"balance\": \"0.00\"\r\n        }\r\n    ]\r\n}\r\n"},{"id":"d39c56a8-59d0-41f3-8ac4-34451f91c1c6","name":"Checking Balance payout-error","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"\r\n","options":{"raw":{"language":"json"}}},"url":"https://app.thefundstream.org/api/v1/getBalance"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"message\": \"Error Message\",\r\n    \"code\": \"No currency account found\"\r\n}\r\n"}],"_postman_id":"9f8d527a-2c87-4646-8832-93cf3ebd78df"}],"id":"bea22bd8-0841-43a8-86b7-54413fe5aa3c","_postman_id":"bea22bd8-0841-43a8-86b7-54413fe5aa3c","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}}}],"id":"6d445004-3922-4801-a191-d9f92cfc3707","_postman_id":"6d445004-3922-4801-a191-d9f92cfc3707","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}}},{"name":"🌍 MobileMoney (Africa)","item":[{"name":"Concepts","item":[],"id":"b3d69a1a-235d-4cf2-bade-4da83ce8312d","description":"<h2 id=\"mobile-money-overview\"><strong>Mobile Money Overview</strong></h2>\n<p>Mobile Money is a digital payment service that allows users to send, receive, and manage money via their mobile devices. It facilitates secure and instant transactions directly between mobile wallets in the country, offering a convenient alternative to traditional banking methods in Africa.</p>\n<p>This payment method enables merchants to accept payments via Mobile Money from number of countries in Africa, and also to do payouts as well (to cutomer's local mobile wallet)</p>\n<h3 id=\"payins\"><strong>Payins</strong></h3>\n<p><strong>How It Works</strong></p>\n<p>The payin process harnesses mobile money capabilities to support effortless collections. Merchants can initiate payment requests via USSD, offering a secure, efficient, and flexible method to collect customer payments.</p>\n<blockquote>\n<p>💡 Note that the refunds are not possible over Mobile Money. Merchants have to initiate a PayOut request manually to process any refunds. </p>\n</blockquote>\n<p><strong>Key Steps</strong></p>\n<ol>\n<li><p><strong>Initiate Transfer Request:</strong><br /> The merchant sends a transaction request to the Mobile Money PayIn API. This request includes the customer’s mobile number, the collection amount, and an optional message.</p>\n</li>\n<li><p><strong>Send Notification:</strong><br /> The customer receives a USSD pop-up with payment instructions on their mobile device.</p>\n</li>\n<li><p><strong>Customer Completes Transfer:</strong><br /> The customer follows the USSD instructions, enters their security PIN if required, and authorizes the transfer of funds to the merchant’s account.</p>\n</li>\n<li><p><strong>Confirm Transfer Completion:</strong><br /> Once the payment is successful, the merchant receives a confirmation via a webhook indicating a successful transaction.</p>\n</li>\n<li><p><strong>Update Merchant’s Account:</strong><br /> The merchant’s system updates the customer’s account balance to reflect the received funds.</p>\n</li>\n</ol>\n<img src=\"https://content.pstmn.io/889a56dc-0e8a-4926-989a-9b9023d099eb/aW1hZ2UucG5n\" width=\"499\" height=\"319\" />\n\n<h3 id=\"payouts\"><strong>Payouts</strong></h3>\n<p>The payout API offers seamless payouts to customers over mobile money. Whether processing refunds, rewards, or other disbursements, our APIs delivers efficient, reliable transactions with real-time fund transfers and detailed transaction tracking.</p>\n<p><strong>Key Steps:</strong></p>\n<ol>\n<li><p><strong>Initiate Payout Request:</strong><br /> When a customer requests a withdrawal, the merchant site calls the Fundstream Payouts API to start the mobile money payout. This request includes the customer’s mobile number, the transfer amount, and the currency.</p>\n</li>\n<li><p><strong>Send Notification:</strong><br /> Customers receive an immediate USSD notification confirming the successful payout, while merchants are notified via an instant webhook.</p>\n</li>\n<li><p><strong>Update Merchant’s Account:</strong><br /> The merchant’s account balance is promptly updated to reflect the transaction.</p>\n</li>\n</ol>\n","_postman_id":"b3d69a1a-235d-4cf2-bade-4da83ce8312d","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}}},{"name":"Coverage","item":[],"id":"82eea255-156c-4275-8eb9-8179debcac36","description":"<h3 id=\"fully-supported-countries-pay-ins--pay-outs\">Fully Supported Countries: Pay-ins &amp; Pay-outs</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Country</strong></th>\n<th><strong>Region</strong></th>\n<th><strong>Telco</strong></th>\n<th><strong>Settlement Type</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Cameroon</td>\n<td>FSSA</td>\n<td>MTN</td>\n<td>Crossborder – USD, EUR</td>\n</tr>\n<tr>\n<td>Cameroon*</td>\n<td>FSSA</td>\n<td>Orange</td>\n<td>Crossborder – USD, EUR</td>\n</tr>\n<tr>\n<td>DRC</td>\n<td>SEA</td>\n<td>Airtel</td>\n<td>Crossborder – USD, EUR</td>\n</tr>\n<tr>\n<td>DRC</td>\n<td>SEA</td>\n<td>Orange</td>\n<td>Crossborder – USD, EUR</td>\n</tr>\n<tr>\n<td>DRC</td>\n<td>SEA</td>\n<td>Vodacom</td>\n<td>Crossborder – USD, EUR</td>\n</tr>\n<tr>\n<td>Uganda</td>\n<td>SEA</td>\n<td>Airtel</td>\n<td>Crossborder – USD, EUR</td>\n</tr>\n<tr>\n<td>Uganda</td>\n<td>SEA</td>\n<td>MTN**</td>\n<td>Crossborder – USD, EUR</td>\n</tr>\n<tr>\n<td>Zambia</td>\n<td>SEA</td>\n<td>Airtel***</td>\n<td>Crossborder – USD, EUR</td>\n</tr>\n<tr>\n<td>Zambia</td>\n<td>SEA</td>\n<td>MTN</td>\n<td>Crossborder – USD, EUR</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<p><strong>Footnotes:</strong></p>\n<ul>\n<li><p>*For Cameroon, a licence is required.</p>\n</li>\n<li><p>**MTN support in Uganda covers only pay-ins (collections).</p>\n</li>\n<li><p>***Airtel support in Zambia covers only pay-ins (collections).</p>\n</li>\n</ul>\n<h2 id=\"partially-supported-countries\">Partially Supported Countries</h2>\n<h3 id=\"pay-ins-collections-only--crossborder\">Pay-ins (Collections) Only – Crossborder</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Country</strong></th>\n<th><strong>Region</strong></th>\n<th><strong>Telco</strong></th>\n<th><strong>Settlement Type</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Benin</td>\n<td>FSSA</td>\n<td>Moov</td>\n<td>Crossborder – USD, EUR</td>\n</tr>\n<tr>\n<td>Benin</td>\n<td>FSSA</td>\n<td>MTN</td>\n<td>Crossborder – USD, EUR</td>\n</tr>\n<tr>\n<td>Burkina Faso</td>\n<td>FSSA</td>\n<td>Moov</td>\n<td>Crossborder – USD, EUR</td>\n</tr>\n<tr>\n<td>Burkina Faso</td>\n<td>FSSA</td>\n<td>Orange</td>\n<td>Crossborder – USD, EUR</td>\n</tr>\n<tr>\n<td>Burkina Faso</td>\n<td>FSSA</td>\n<td>Mobicash</td>\n<td>Crossborder – USD, EUR</td>\n</tr>\n<tr>\n<td>Côte d'Ivoire</td>\n<td>FSSA</td>\n<td>Moov</td>\n<td>Crossborder – USD, EUR</td>\n</tr>\n<tr>\n<td>Côte d'Ivoire</td>\n<td>FSSA</td>\n<td>MTN</td>\n<td>Crossborder – USD, EUR</td>\n</tr>\n<tr>\n<td>Côte d'Ivoire</td>\n<td>FSSA</td>\n<td>Orange</td>\n<td>Crossborder – USD, EUR</td>\n</tr>\n<tr>\n<td>Côte d'Ivoire</td>\n<td>FSSA</td>\n<td>Wave</td>\n<td>Crossborder – USD, EUR</td>\n</tr>\n<tr>\n<td>Guinea Conakry</td>\n<td>FSSA</td>\n<td>MTN</td>\n<td>Crossborder – USD, EUR</td>\n</tr>\n<tr>\n<td>Guinea Conakry</td>\n<td>FSSA</td>\n<td>Orange</td>\n<td>Crossborder – USD, EUR</td>\n</tr>\n<tr>\n<td>Kenya</td>\n<td>SEA</td>\n<td>M-Pesa</td>\n<td>Crossborder – USD, EUR</td>\n</tr>\n<tr>\n<td>Mali</td>\n<td>FSSA</td>\n<td>Mobicash</td>\n<td>Crossborder – USD, EUR</td>\n</tr>\n<tr>\n<td>Mali</td>\n<td>FSSA</td>\n<td>Orange</td>\n<td>Crossborder – USD, EUR</td>\n</tr>\n<tr>\n<td>Nigeria</td>\n<td>AWA</td>\n<td>Baxi</td>\n<td>Crossborder – USD, EUR</td>\n</tr>\n<tr>\n<td>Nigeria</td>\n<td>AWA</td>\n<td>Banks</td>\n<td>Crossborder – USD, EUR</td>\n</tr>\n<tr>\n<td>Rwanda</td>\n<td>SEA</td>\n<td>Airtel</td>\n<td>Crossborder – USD, EUR</td>\n</tr>\n<tr>\n<td>Rwanda</td>\n<td>SEA</td>\n<td>MTN</td>\n<td>Crossborder – USD, EUR</td>\n</tr>\n<tr>\n<td>Senegal</td>\n<td>FSSA</td>\n<td>Free</td>\n<td>Crossborder – USD, EUR</td>\n</tr>\n<tr>\n<td>Senegal</td>\n<td>FSSA</td>\n<td>Orange</td>\n<td>Crossborder – USD, EUR</td>\n</tr>\n<tr>\n<td>Senegal</td>\n<td>FSSA</td>\n<td>Wave</td>\n<td>Crossborder – USD, EUR</td>\n</tr>\n<tr>\n<td>Tanzania</td>\n<td>SEA</td>\n<td>Airtel</td>\n<td>Crossborder – USD, EUR</td>\n</tr>\n<tr>\n<td>Tanzania</td>\n<td>SEA</td>\n<td>Vodacom</td>\n<td>Crossborder – USD, EUR</td>\n</tr>\n<tr>\n<td>Tanzania</td>\n<td>SEA</td>\n<td>Tigo</td>\n<td>Crossborder – USD, EUR</td>\n</tr>\n<tr>\n<td>Togo</td>\n<td>FSSA</td>\n<td>Moov – Flooz</td>\n<td>Crossborder – USD, EUR</td>\n</tr>\n<tr>\n<td>Togo</td>\n<td>FSSA</td>\n<td>Togocell T-Money</td>\n<td>Crossborder – USD, EUR</td>\n</tr>\n</tbody>\n</table>\n</div><p><em>Additional countries going live in General Release in Q2 2025: Botswana, Congo Brazzaville, and Gabon.</em></p>\n<p><em>South Africa will go liver in Q3 2025.</em></p>\n<hr />\n<h3 id=\"pay-outs-disbursement-only--crossborder\">Pay-outs (Disbursement) Only – Crossborder</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Country</strong></th>\n<th><strong>Region</strong></th>\n<th><strong>Telco</strong></th>\n<th><strong>Disbursement Type</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Ethiopia</td>\n<td>FSSA</td>\n<td>Amole</td>\n<td>Crossborder – USD, EUR</td>\n</tr>\n<tr>\n<td>Malawi</td>\n<td>SEA</td>\n<td>Airtel</td>\n<td>Crossborder – USD, EUR</td>\n</tr>\n<tr>\n<td>Malawi</td>\n<td>SEA</td>\n<td>TNM</td>\n<td>Crossborder – USD, EUR</td>\n</tr>\n<tr>\n<td>South Sudan</td>\n<td>FSSA</td>\n<td>Mgurush</td>\n<td>Crossborder – USD, EUR</td>\n</tr>\n</tbody>\n</table>\n</div><p><em>Additional countries going live in General Release in Q2 2025 (subject to successful testing and compliance review): Botswana, Congo Brazzaville, Gabon, Ivory Coast (Côte d'Ivoire), Nigeria, Rwanda, Senegal, and Tanzania.</em><br /><strong>South Africa will go live in Q3.</strong><br /><em><strong>More countries to be launched in Q2 – please speak with your Account Manager or Sales Representative for further details.</strong></em></p>\n<p><strong>Region Abbreviations:</strong></p>\n<ul>\n<li><p><strong>FSSA:</strong> Francophone Sub-Saharan Africa</p>\n</li>\n<li><p><strong>SEA:</strong> Southern and Eastern Africa</p>\n</li>\n<li><p><strong>AWA:</strong> Anglophone West Africa</p>\n</li>\n</ul>\n","_postman_id":"82eea255-156c-4275-8eb9-8179debcac36","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}}},{"name":"PayIn APIs","item":[{"name":"createPurchase","id":"1997f028-adff-4b8a-b461-6111fca06fb8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"client\": {\n        \"full_name\": \"akshaya singhal\",\n        \"email\": \"akshaya@gmail.com\",\n        \"country\":\"ZA\",\n        \"city\":\"sdf\",\n        \"stateCode\":\"CA\",\n        \"street_address\":\"test test\",\n        \"zip_code\":\"234567\",\n        \"phone\":\"9999999999\",\n        \"tax_number\": \"34946395822\"\n    },\n    \"purchase\": {\n         \"currency\" : \"ZAR\",\n         \"expireInMin\" : \"40\",\n        \"products\": [\n            {\n                \"name\": \"he2938h\",\n                \"price\": \"100\"\n            }\n        ]\n    },\n    \"paymentMethod\": \"MOBILEWALLET\",\n    \"brand_id\": \"c4003b2c-22d4-4dc1-ad0c-c6b54f8c9636\",\n    \"merchantRef\": \"\",\n\n    \"send_receipt\": \"\" ,\n    \"skip_capture\": \"\" ,\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"failure_redirect\": \"https://your.failure.redirect.com\",\n    \"success_callback\": \"https://your.success.callback.com\",\n   \"failure_callback\": \"https://your.failure.callback.com\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app.thefundstream.org/api/v1/purchases/","description":"<p>To Initiate a payment, the very first call to make is <code>/purchases</code> with the required data in the request body.</p>\n<p>To generate a Purchase, you are required to provide the <code>Brand ID</code> (in the request body) and <code>API key</code> (in the header) Both can be located in the Dashboard section of your merchant account login.</p>\n<p>The request body structure is shown on the request body of the example request shown here.</p>\n<p>The following (see table below) are the mandatory parameters that are required to create a purchase request.</p>\n<h3 id=\"mandatory-parameters-in-the-request-body\"><strong>Mandatory parameters in the request body:</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Parameter</strong></th>\n<th><strong>Notes</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>client.email</td>\n<td>An Identifier for a user</td>\n</tr>\n<tr>\n<td>client.city</td>\n<td></td>\n</tr>\n<tr>\n<td>client.country</td>\n<td>ISO-3166 Country Code. It must be upper case.</td>\n</tr>\n<tr>\n<td>client.stateCode</td>\n<td>Example “AL”, “XZ”.. Must be in upper case.</td>\n</tr>\n<tr>\n<td>client.street_address</td>\n<td></td>\n</tr>\n<tr>\n<td>client.zip_code</td>\n<td></td>\n</tr>\n<tr>\n<td>client.phone</td>\n<td></td>\n</tr>\n<tr>\n<td>client.full_name</td>\n<td></td>\n</tr>\n<tr>\n<td>purchase.currency</td>\n<td>ISO 4217 code for currency you want to send the transaction in.  <br />eg. This should be 'TZS' for Tanzania</td>\n</tr>\n<tr>\n<td>purchase.products.name</td>\n<td></td>\n</tr>\n<tr>\n<td>purchase.products.price</td>\n<td></td>\n</tr>\n<tr>\n<td>brand_id</td>\n<td>Obtain from Dashboard section of your merchant account login.</td>\n</tr>\n<tr>\n<td>success_redirect</td>\n<td>URL to send the user if the transactions is successful</td>\n</tr>\n<tr>\n<td>failure_redirect</td>\n<td>URL to send the user if the transactions is UNSUCCESSFUL</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"optional-parameters\">Optional Parameters</h2>\n<h3 id=\"expireinmin\">expireInMin</h3>\n<p>This parameter, when passed in the PayIn request, sets the time window within which a customer should make the Interac payment through their bank's app. If a customer doesn't complete the payment within the configured time window, the status of the payment will be marked as 'EXPIRED' in Fundstream.</p>\n<p>However, in certain cases, a payment made outside of this window could still be successful i.e. customer's account may be debited which would result in inconsistencies among Fundstream's, merchant's and customer's status of the transaction. To avoid such cases it is advised to set the expiry time limit appropriately and advise the customers to make payment within this window. However, if there is an inconsistency between the status at Fundstream and at customer's Bank, the merchant and Fundstream will reconcile the amounts during the settlement.</p>\n<h3 id=\"merchantref\">merchantRef</h3>\n<p>The <code>merchantRef</code> parameter, although not mandatory, is strongly advised for merchants to specify. Its inclusion offers two significant advantages for the merchant:</p>\n<ol>\n<li><p><strong>Prevention of Duplicate Requests:</strong> When a <code>merchantRef</code> is utilized, it acts as a unique identifier. This means that if a second purchase request is made using the same <code>merchantRef</code> (reference number), the system will recognize it and prevent duplicate transactions from occurring. This prevents unintended or duplicate purchases.</p>\n</li>\n<li><p><strong>Facilitation of Transaction Retrieval:</strong> In situations where the response from the initial purchase request times out or the 'purchaseId' isn't received, having the <code>merchantRef</code> allows the merchant to retrieve detailed transaction information. This ensures they can track and access the specific purchase details related to that reference, even if the immediate response was not received.</p>\n</li>\n</ol>\n<p>However, if the merchant does not specify the 'merchantRef' parameter, the platform will automatically assign and use an internal 'purchaseId' as a reference for that transaction.</p>\n<h3 id=\"paymentmethod\">paymentMethod</h3>\n<p>The <code>paymentMethod</code> parameter identifies which payment solution merchant wants to use to perform a transaction. If parameter is provided, than Fundstream will perform direct payment with the selected payment method instead of loading Fundstream URL.</p>\n<h3 id=\"possible-error-messages\">Possible Error Messages</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Error Messages</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Invalid format of Date_of_Birth[allowed format: yyyy-mm-dd]</td>\n<td></td>\n</tr>\n<tr>\n<td>Enter Valid Email</td>\n<td></td>\n</tr>\n<tr>\n<td>Please submit Valid Alpha2 Country Code Ex:(AF,IN) in \\\"country\\\" parameter</td>\n<td></td>\n</tr>\n<tr>\n<td>Please pass Valid State Code</td>\n<td></td>\n</tr>\n<tr>\n<td>Please pass valid street address in \\\"street_address\\\" parameter</td>\n<td></td>\n</tr>\n<tr>\n<td>Please pass valid city name in \\\"city\\\" parameter</td>\n<td></td>\n</tr>\n<tr>\n<td>Please pass valid postal Code name in \\\"zip_code\\\" parameter</td>\n<td></td>\n</tr>\n<tr>\n<td>You are not Allowed for Live Transaction</td>\n<td></td>\n</tr>\n<tr>\n<td>Minimum amount is not set for this merchant</td>\n<td></td>\n</tr>\n<tr>\n<td>success_redirect/failure_redirect/brand_id is missing</td>\n<td></td>\n</tr>\n<tr>\n<td>brand_id cannot be null</td>\n<td></td>\n</tr>\n<tr>\n<td>success_redirect cannot be null</td>\n<td></td>\n</tr>\n<tr>\n<td>failure_redirect cannot be null</td>\n<td></td>\n</tr>\n<tr>\n<td>Invalid failure_redirect: minimum 10 characters</td>\n<td></td>\n</tr>\n<tr>\n<td>purchase.products.price cannot be null</td>\n<td></td>\n</tr>\n<tr>\n<td>purchase.products[0].name/purchase.products[0].price are missing</td>\n<td></td>\n</tr>\n<tr>\n<td>Your charges setting is incomplete .Plese Contact to Administrator.</td>\n<td></td>\n</tr>\n<tr>\n<td>Currency \"{curr_name}\" is Not Allowed</td>\n<td></td>\n</tr>\n<tr>\n<td>Transaction amount must be equal or greater to minimum trans amount</td>\n<td></td>\n</tr>\n<tr>\n<td>Allowed Limit for this card for particular time period has been consumed</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Note:</strong> For certain use cases, in addition to long format purchase Id, Fundstream also provides a 7 digit unique code for each purchase starting with digit 4, eg 4000001</p>\n<p><em>“purchaseIdShortCode”: “4000013\"</em></p>\n","urlObject":{"path":["purchases",""],"host":["https://app.thefundstream.org/api/v1"],"query":[],"variable":[]}},"response":[{"id":"08e96733-5d1e-482f-b155-19b1e9d8856f","name":"Collection","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n    \"client\": {\n        \"full_name\": \"akshaya singhal\",\n        \"email\": \"akshaya@gmail.com\",\n        \"country\":\"ZA\",\n        \"city\":\"sdf\",\n        \"stateCode\":\"ca\",\n        \"street_address\":\"test test\",\n        \"zip_code\":\"234567\",\n        \"phone\":\"9999999999\",\n        \"tax_number\": \"34946395822\"\n    },\n    \"purchase\": {\n         \"currency\" : \"ZAR\",\n         \"expireInMin\" : \"40\",\n        \"products\": [\n            {\n                \"name\": \"he2938h\",\n                \"price\": \"200\"\n            }\n        ]\n    },\n    \"paymentMethod\": \"MOBILEMONEY\",\n    \"brand_id\": \"c4003b2c-22d4-4dc1-ad0c-c6b54f8c9636\",\n    \"merchantRef\": \"\",\n\n    \"send_receipt\": \"\" ,\n    \"skip_capture\": \"\" ,\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"failure_redirect\": \"https://your.failure.redirect.com\",\n    \"success_callback\": \"https://your.success.callback.com\",\n   \"failure_callback\": \"https://your.failure.callback.com\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.fundstream.net/api/v1/purchases/"},"status":"Accepted","code":202,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 06 Dec 2024 14:59:14 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"Vary","value":"Origin"},{"key":"Vary","value":"Access-Control-Request-Method"},{"key":"Vary","value":"Access-Control-Request-Headers"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"Cache-Control","value":"no-cache, no-store, max-age=0, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Expires","value":"0"},{"key":"Strict-Transport-Security","value":"max-age=31536000 ; includeSubDomains"},{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"Referrer-Policy","value":"no-referrer"},{"key":"CF-Cache-Status","value":"DYNAMIC"},{"key":"Report-To","value":"{\"endpoints\":[{\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=pWCTJZboe33ICYkJiwuwk9QQ4TLxjgXAKCGEbQUbwdP%2Bdbr%2FHFvOVzWWsAS7UIypOGSXOnu52hAILUoGn0yrB2iqXMR9PhPHoTuxnVIEyihZEXx8Fv7QXgASe%2F4CUAQc%2BMupXRwPfFI%3D\"}],\"group\":\"cf-nel\",\"max_age\":604800}"},{"key":"NEL","value":"{\"success_fraction\":0,\"report_to\":\"cf-nel\",\"max_age\":604800}"},{"key":"Server","value":"cloudflare"},{"key":"CF-RAY","value":"8edd237addbf0f97-EWR"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"},{"key":"server-timing","value":"cfL4;desc=\"?proto=TCP&rtt=223565&min_rtt=223292&rtt_var=63299&sent=15&recv=16&lost=0&retrans=0&sent_bytes=4524&recv_bytes=3359&delivery_rate=19323&cwnd=255&unsent_bytes=0&cid=6b5591269d33c417&ts=10327&x=0\""}],"cookie":[{"expires":"Invalid Date","domain":"","path":""}],"responseTime":null,"body":"{\n    \"purchaseId\": \"67531141002e65664c0ef342\",\n    \"client\": {\n        \"customerId\": \"NA\",\n        \"email\": \"akshaya@gmail.com\",\n        \"phone\": \"9999999999\",\n        \"full_name\": \"akshaya singhal\",\n        \"street_address\": \"test test\",\n        \"country\": \"ZA\",\n        \"city\": \"sdf\",\n        \"zip_code\": \"234567\",\n        \"cc\": [],\n        \"bcc\": [],\n        \"tax_number\": \"34946395822\",\n        \"stateCode\": \"ca\"\n    },\n    \"updated_on\": 1733497153,\n    \"type\": \"purchase\",\n    \"paymentMethod\": \"MOBILEWALLET\",\n    \"amountUnit\": \"MAJOR\",\n    \"errorMsg\": \"This customer can not be processed !\",\n    \"redirectType\": \"POST\",\n    \"force_recurring\": false,\n    \"created_on\": 1733497153,\n    \"merchantRef\": \"67531141002e65664c0ef342\",\n    \"merchantName\": \"merchant002\",\n    \"purchase\": {\n        \"currency\": \"ZAR\",\n        \"products\": [\n            {\n                \"name\": \"he2938h\",\n                \"quantity\": 1,\n                \"price\": 100,\n                \"discount\": 0,\n                \"tax_percent\": \"0.00\"\n            }\n        ],\n        \"total\": 100,\n        \"language\": \"en\",\n        \"notes\": \"\",\n        \"debt\": 0,\n        \"total_formatted\": 1,\n        \"expireInMin\": \"40\",\n        \"request_client_details\": [],\n        \"timezone\": \"MIT\",\n        \"email_message\": \"\"\n    },\n    \"issuer_details\": {\n        \"website\": \"\",\n        \"legal_street_address\": \"\",\n        \"legal_country\": \"\",\n        \"legal_city\": \"\",\n        \"legal_zip_code\": \"\",\n        \"bank_accounts\": [\n            {}\n        ],\n        \"legal_name\": \"test6\",\n        \"brand_name\": \"test6\",\n        \"registration_number\": \"\",\n        \"tax_number\": \"\"\n    },\n    \"transaction_data\": {\n        \"payment_method\": \"\",\n        \"flow\": \"payform\",\n        \"extra\": {\n            \"amount\": 100,\n            \"masked_pan\": \"MOBILEWALLET\"\n        },\n        \"country\": \"\",\n        \"attempts\": [\n            {\n                \"client_ip\": \"49.36.232.165\",\n                \"type\": \"execute\",\n                \"payment_method\": \"MOBILEWALLET\",\n                \"flow\": \"payform\",\n                \"successful\": false,\n                \"country\": \"MOBILEWALLET\",\n                \"processing_time\": 1733497153,\n                \"extra\": {\n                    \"amount\": 100,\n                    \"masked_pan\": \"MOBILEWALLET\"\n                },\n                \"error\": {\n                    \"message\": \"This customer can not be processed !\",\n                    \"code\": \"transaction_error\"\n                }\n            }\n        ]\n    },\n    \"status\": \"ERROR\",\n    \"status_history\": [\n        {\n            \"status\": \"created\",\n            \"timestamp\": 1733497153\n        },\n        {\n            \"status\": \"pending_execute\",\n            \"timestamp\": 1733497153\n        },\n        {\n            \"status\": \"error\",\n            \"timestamp\": 1733497153\n        }\n    ],\n    \"is_test\": false,\n    \"brand_id\": \"c4003b2c-22d4-4dc1-ad0c-c6b54f8c9636\",\n    \"is_recurring_token\": false,\n    \"reference_generated\": \"PS12859\",\n    \"issued\": \"2024-12-06\",\n    \"due\": 1733497153,\n    \"refund_upto\": 0,\n    \"cc_descriptor\": \"\",\n    \"fraudScore\": \"NA\",\n    \"trustScore\": \"NA\",\n    \"refund_availability\": \"NONE\",\n    \"refundable_amount\": 0,\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"failure_redirect\": \"https://your.failure.redirect.com\",\n    \"cancel_redirect\": \"\",\n    \"success_callback\": \"https://your.success.callback.com\",\n    \"failure_callback\": \"https://your.failure.callback.com\",\n    \"platform\": \"API\",\n    \"created_from_ip\": \"49.36.232.165\",\n    \"checkout_url\": \"https://api.example.net/payments/67531141002e65664c0ef342/\",\n    \"reconciled\": false,\n    \"payoutProcess\": false\n}"}],"_postman_id":"1997f028-adff-4b8a-b461-6111fca06fb8"}],"id":"1f7763b3-b637-4f0a-ad9e-d8393efa9899","_postman_id":"1f7763b3-b637-4f0a-ad9e-d8393efa9899","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}}},{"name":"Payout APIs","item":[{"name":"Payout","id":"a9c0d7dd-7444-43e4-8d7e-1dcc8ed62863","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n   \"client\": {\n       \"email\": \"akshayas@gmail.com\",\n       \"full_name\": \"Akshaya Signal\",\n   },\n   \"purpose\": \"withdraw\",\n   \"payoutMethod\": \"Payout-MOBILEMONEY\",\n   \"amount\": 100,\n   \"currency\": \"TZS\",\n   \"success_callback\": \"https://Success.com\",\n   \"failure_callback\": \"https://failure.com\"\n}\n","options":{"raw":{"language":"json"}}},"url":"https://app.thefundstream.org/api/v1/payout/","description":"<p>To Initiate a payout, the very first call to make is/payout/</p>\n<p>with the required data in the request body.</p>\n<p>To generate a PayOut, you are required to provide the <code>API key</code> (in the header), which can be located in the Dashboard section of your merchant account login.</p>\n<p>The request body structure is shown on the request body of the example request shown here.</p>\n<p>The following (see table below) are the mandatory parameters that are required to create a purchase request.</p>\n<h3 id=\"mandatory-parameters-in-the-request-body\"><strong>Mandatory parameters in the request body:</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Parameter</strong></th>\n<th><strong>Notes</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>client.full_name</td>\n<td>Receiver Full Name</td>\n</tr>\n<tr>\n<td>payoutMethod</td>\n<td>Payout-MOBILEMONEY</td>\n</tr>\n<tr>\n<td>Amount</td>\n<td>Amount in currency</td>\n</tr>\n<tr>\n<td>Currency</td>\n<td>Note this is currency account for which you have balance</td>\n</tr>\n<tr>\n<td>success_redirect</td>\n<td>URL to send the user if the transactions is successful</td>\n</tr>\n<tr>\n<td>failure_redirect</td>\n<td>URL to send the user if the transactions is UNSUCCESSFUL</td>\n</tr>\n<tr>\n<td>Purpose</td>\n<td>Purpose of Payout</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}},"urlObject":{"path":["payout",""],"host":["https://app.thefundstream.org/api/v1"],"query":[],"variable":[]}},"response":[{"id":"4c9484db-601c-446e-b046-0cd9d8603ea5","name":"Payout","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\n   \"client\": {\n       \"email\": \"akshayas@gmail.com\",\n       \"full_name\": \"Akshaya Signal\"\n   },\n   \"purpose\": \"withdraw\",\n   \"payoutMethod\": \"Payout-MOBILEMONEY\",\n   \"amount\": 100,\n   \"currency\": \"TZS\",\n   \"success_callback\": \"https://Success.com\",\n   \"failure_callback\": \"https://failure.com\"\n}\n","options":{"raw":{"language":"json"}}},"url":"https://app.thefundstream.org/api/v1/payout/"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\"payoutId\":\"67c93735a055ad58b6c154f0\",\"client\":{\"customerId\":\"NA\",\"email\":\"test@gmail.com\",\"phone\":\"+260762220028\",\"full_name\":\"Michael Nawa\",\"country\":\"ZZ\"},\"updated_on\":1741240117,\"payoutMethod\":\"PAYOUT-MOBILEMONEY\",\"amountUnit\":\"MAJOR\",\"amount\":500.0,\"errorMsg\":\"\",\"purpose\":\"payout to test\",\"created_on\":1741240117,\"merchantRef\":\"67c93735a055ad58b6c154f0\",\"status\":\"PAYOUT_IN_PROCESS\",\"status_history\":[{\"status\":\"created\",\"timestamp\":1741240117},{\"status\":\"payout_in_process\",\"timestamp\":1741240125}],\"currency\":\"UGX\",\"paymentOn\":0,\"success_callback\":\"\",\"failure_callback\":\"\"}"}],"_postman_id":"a9c0d7dd-7444-43e4-8d7e-1dcc8ed62863"}],"id":"489b7b73-2523-4f53-97c3-7f051bd98f05","_postman_id":"489b7b73-2523-4f53-97c3-7f051bd98f05","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}}}],"id":"26f77036-8296-4f3f-9c4b-908154d8353e","_postman_id":"26f77036-8296-4f3f-9c4b-908154d8353e","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}}}],"id":"5ab0bf1b-5e02-4316-97ed-e0c6cbc6c8f9","_postman_id":"5ab0bf1b-5e02-4316-97ed-e0c6cbc6c8f9","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}}},{"name":"🏦 Bank Transfers","item":[{"name":"Concepts","item":[],"id":"1dbed15c-a709-4fc7-8cac-b09348ae525d","description":"<h2 id=\"payin-flows\">PayIn Flows</h2>\n<p><strong>How it works</strong></p>\n<p>Fundstream's A2A paying system, utilizes the powerful Virtual Accounts capabilities, enabling you to support a wide range of scenarios using the following methods.</p>\n<p><strong>Key Steps</strong></p>\n<img src=\"https://lh7-us.googleusercontent.com/XMBcrVkVU_Iak6-k1uzllUV3Lr6e_wVP_25CzedW8zYahgDiRS1KmuGMn8obKpQ8DnSrMuNvE4GvFEcoe3_0oeDNnAsGtfGf9EtQnNZpnoFNt9iAuoWtSjBDwXIAm6a3fdeY61GPtXbJUw0d_bGBRIU\" />\n\n<p><strong>Flow</strong></p>\n<ul>\n<li><p>The merchant platform retrieves the account details (Account number, IBAN, and SWIFT code) for the merchant-assigned currency account intended for the PayIn.</p>\n</li>\n<li><p>These account details are then provided to the payer, who is instructed to make the payment to this account.</p>\n</li>\n<li><p>The payer accesses their banking app and inputs the provided account details along with the transaction amount.</p>\n</li>\n<li><p>Upon receiving the money from the payer, Fundstream promptly receives an Inward Credit Notification (ICN) webhook from its banking partner, confirming that the funds have been deposited into the corresponding virtual account.</p>\n</li>\n<li><p>The ICN contains all relevant transaction details. Fundstream forwards this notification to the merchant to inform them of the transaction.</p>\n</li>\n</ul>\n<h2 id=\"payout-flows\"><strong>PayOut flows</strong></h2>\n<p><strong>How it works</strong><br />Fundstream offers the ability to make payments to customers', individuals', or businesses' bank accounts using various transfer methods via its dashboard or suite of APIs. The dashboard consolidates all available features accessible through APIs, allowing you to easily go live with minimal technical setup.\"</p>\n<p><strong>Key Steps</strong></p>\n<img src=\"https://content.pstmn.io/2035d036-03f6-4569-9c7c-9570f9013a23/VW50aXRsZWQgZGVzaWduICg1KS5wbmc=\" width=\"601\" height=\"213\" />\n\n<p><strong>Flow</strong></p>\n<ul>\n<li><p>The merchant platform initiates the creation of a payout by passing beneficiary details, along with payout details.</p>\n</li>\n<li><p>Beneficiary details include</p>\n</li>\n<li><p>Beneficiary ID (email or phone)</p>\n</li>\n<li><p>Beneficiary's address (is mandatory but not validated. So if you have this data we recommend you send it, otherwise, use some random value.)</p>\n</li>\n<li><p>Beneficiary's bank details</p>\n</li>\n<li><p>Beneficiary's name</p>\n</li>\n<li><p>Upon completion of the payout, reaching either a Success or Failure state, Fundstream notifies the merchant’s platform via webhook, providing the final status of the transaction and additional details.</p>\n</li>\n</ul>\n","_postman_id":"1dbed15c-a709-4fc7-8cac-b09348ae525d","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}}},{"name":"Status Code","item":[],"id":"01c680dc-022e-4ef0-883c-a8330b786403","description":"<h1 id=\"http-response-code\">HTTP Response Code</h1>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Code</strong></th>\n<th><strong>Triggering Event</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>200</td>\n<td>Successful Response</td>\n</tr>\n<tr>\n<td>202</td>\n<td>successful / Accepted</td>\n</tr>\n<tr>\n<td>400</td>\n<td>Bad request, the given data is invalid, or data is required</td>\n</tr>\n<tr>\n<td>401</td>\n<td>unauthorized request</td>\n</tr>\n<tr>\n<td>404</td>\n<td>page not found</td>\n</tr>\n<tr>\n<td>405</td>\n<td>Method Not Allowed (GET/POST)</td>\n</tr>\n<tr>\n<td>415</td>\n<td>unsupported media type</td>\n</tr>\n<tr>\n<td>422</td>\n<td>Unprocessable content, data is required</td>\n</tr>\n<tr>\n<td>429</td>\n<td>Too many request attempt</td>\n</tr>\n<tr>\n<td>500</td>\n<td>Internal server error</td>\n</tr>\n</tbody>\n</table>\n</div><p>You will not get Error codes if HTTPS response code is 200 or 202.</p>\n<h2 id=\"error-codes-and-messages\">Error Codes and Messages</h2>\n<h3 id=\"with-http-code400404401415405\">with http code(400,404,401,415,405)</h3>\n<p>Below is the list of possible error codes and the corresponding messages from Fundstream System</p>\n<h2 id=\"format\">Format</h2>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"descriptive error message\",\n    \"code\": \"error_code\"\n}\n\n</code></pre>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Code</strong></th>\n<th><strong>Message</strong></th>\n<th><strong>APIs that could generate the error code</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Authentication_failed</td>\n<td>Authorization header missing</td>\n<td>All</td>\n</tr>\n<tr>\n<td>already_in_process</td>\n<td>Some Processing is running on this purchaseId</td>\n<td>All</td>\n</tr>\n<tr>\n<td>unsupported_media_type</td>\n<td>Unsupported media type \"text/plain; charset=ISO-8859-1\" in request.</td>\n<td>All</td>\n</tr>\n<tr>\n<td>authentication_failed</td>\n<td>Incorrect secret_key/Invalid Merchant Type</td>\n<td>All</td>\n</tr>\n<tr>\n<td>transaction_error</td>\n<td>See the table below</td>\n<td>See the table below</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","exec":[""],"id":"a3228738-ac44-4a5f-8034-23431d0ce9af"}},{"listen":"test","script":{"type":"text/javascript","exec":[""],"id":"84aeb2f5-18a3-430c-a6f8-fb02498b0ab9"}}],"_postman_id":"01c680dc-022e-4ef0-883c-a8330b786403"},{"name":"PayIn API","item":[{"name":"Create Purchase","id":"bbd8bdcb-3361-4e8f-a3de-1797ac869d1c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer Token"}],"body":{"mode":"raw","raw":"{\r\n  \"client\": {\r\n    \"email\": \"test@gmail.com\",\r\n    \"street_address\": \"10 New Burlington Street Apt. 214\",\r\n    \"city\": \"London\",\r\n    \"full_name\": \"Test test\",\r\n    \"zip_code\": \"W1S 3BE\",\r\n    \"country\": \"GB\",\r\n    \"date_of_birth\": \"1970-07-10\",\r\n    \"stateCode\": \"QLD\",\r\n    \"phone\": \"+447755564318\"\r\n  },\r\n  \"purchase\": {\r\n    \"currency\" : \"USD\",\r\n    \"products\": [\r\n      {\r\n        \"name\": \"test \",\r\n        \"price\": 10\r\n      }\r\n    ]\r\n  },\r\n  \"paymentMethod\" : \"BANKTRANSFER\",\r\n  \"brand_id\": \"90ed108b-6753-465d-8a21-e2cc604ff814 \",\r\n  \"success_redirect\": \"https://your.success.redirect.com/getResponse.jsp?success=true\",\r\n  \"failure_redirect\": \"https://your.failure.redirect.com/getResponse.jsp?success=false\",\r\n  \"success_callback\": \"https://your.success.callback.com\",\r\n  \"failure_callback\": \"https://your.failure.callback.com\",\r\n   \"signature\": \"RShYJXst+wi8yPMAi/PSqV4JkJpTrXrl9yRYPUiagrSqBNMXEPndEQD6gnKQYq1syKW7B/s7XmRmnzWnB2QDCBHjtv/ZAg4o5lDmOIPDjVdIgHpZ8EMOvF/O/64D9JaLRViIrjSM/kPiAKbxWsoQtmKumfcly7hwL50iZNUovp3jnzoGtOTWLkbUTDk4xPH1OrAwVUeqkmYFgD9bkQZ/MgSB+p/0ahRskx6jjNlKlG1vujk1dWckgw35CwLJwThx/ZW52kpAp+3GwDaANic0vV3dJOhsqpW8+3G0tIiL4+8FBFAFb31jM6K7CpjuI1lwFZoa4+mQEw+/xLBMiDjPyQ==\"\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"https://app.thefundstream.org/api/v1/purchases/","description":"<p>To Initiate a payment, the very first call to make is <code>/purchases</code> with the required data in the request body.</p>\n<p>To generate a Purchase, you are required to provide the <code>Brand ID</code> (in the request body) and <code>API key</code> (in the header) Both can be located in the Dashboard section of your merchant account login.</p>\n<p>The request body structure is shown on the request body of the example request shown here.</p>\n<p>The following (see table below) are the mandatory parameters that are required to create a purchase request.</p>\n<h3 id=\"mandatory-parameters-in-the-request-body\"><strong>Mandatory parameters in the request body:</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Parameter</strong></th>\n<th><strong>Notes</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>client.email</td>\n<td>An Identifier for a user</td>\n</tr>\n<tr>\n<td>client.city</td>\n<td></td>\n</tr>\n<tr>\n<td>client.country</td>\n<td>ISO-3166 Country Code. It must be upper case. Example “SG” (Alpha2)</td>\n</tr>\n<tr>\n<td>client.stateCode</td>\n<td>Example “AL”, “XZ”.. Must be in upper case.</td>\n</tr>\n<tr>\n<td>client.street_address</td>\n<td></td>\n</tr>\n<tr>\n<td>client.zip_code</td>\n<td></td>\n</tr>\n<tr>\n<td>purchase.currency</td>\n<td>ISO 4217 code for currency you want to send the transaction in.  <br />Please note, the currency has to be enbaled by the account manager for your account.</td>\n</tr>\n<tr>\n<td>purchase.products.name</td>\n<td></td>\n</tr>\n<tr>\n<td>purchase.products.price</td>\n<td>Price in decimal format.  <br />example 1:  <br />EUR 5 , should be sent as 5.00  <br />  <br />example 2:  <br />USD 10 and 37 cents , should be sent as 10.37</td>\n</tr>\n<tr>\n<td>brand_id</td>\n<td>Obtain from Dashboard section of your merchant account login.</td>\n</tr>\n<tr>\n<td>success_redirect</td>\n<td>URL to send the user if the transactions is successful</td>\n</tr>\n<tr>\n<td>failure_redirect</td>\n<td>URL to send the user if the transactions is UNSUCCESSFUL</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"optional-parameters\">Optional Parameters</h2>\n<h3 id=\"merchantref\">merchantRef</h3>\n<p>The <code>merchantRef</code> parameter, although not mandatory, is strongly advised for merchants to specify. Its inclusion offers two significant advantages for the merchant:</p>\n<ol>\n<li><p><strong>Prevention of Duplicate Requests:</strong> When a <code>merchantRef</code> is utilized, it acts as a unique identifier. This means that if a second purchase request is made using the same <code>merchantRef</code> (reference number), the system will recognize it and prevent duplicate transactions from occurring. This prevents unintended or duplicate purchases.</p>\n</li>\n<li><p><strong>Facilitation of Transaction Retrieval:</strong> In situations where the response from the initial purchase request times out or the 'purchaseId' isn't received, having the <code>merchantRef</code> allows the merchant to retrieve detailed transaction information. This ensures they can track and access the specific purchase details related to that reference, even if the immediate response was not received.</p>\n</li>\n</ol>\n<p>However, if the merchant does not specify the 'merchantRef' parameter, the platform will automatically assign and use an internal 'purchaseId' as a reference for that transaction.</p>\n<h3 id=\"digital-signature-optional-parameter-\">Digital Signature (Optional Parameter) :</h3>\n<p>To ensure authenticity and non-repudiation of the the pay in request, there is an option to digitally sign the pay in request by using the merchant's public key.</p>\n<p><strong>Public key generation :-</strong></p>\n<img src=\"https://content.pstmn.io/418f4dfa-2899-43cc-a164-976ac90b6748/YVcxaFoyVXVjRzVuLnBuZw==\" />\n\n<p><strong>Signature generation :-</strong></p>\n<p>This digitial signature is generated by encrypting the following elements of the pay in request:<br />Plaintext= Client.email+purchase.currency+ purchase.products.price+brand_id</p>\n<p><strong>Example of encrypt plaintext with public key in java:-</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-java\">private String encryptData(String plaintext, PublicKey publicKey) throws Exception {\n    Cipher cipher = Cipher.getInstance(\"RSA\");\n    cipher.init(Cipher.ENCRYPT_MODE, publicKey);\n    byte[] encryptedbytes = cipher.doFinal(message.getBytes());\n    return new String(Base64.getEncoder * ().encode(encryptedbytes));\n}\n\n</code></pre>\n<h3 id=\"paymentmethod\">paymentMethod</h3>\n<p>The <code>paymentMethod</code> parameter identifies which payment solution merchant wants to use to perform a transaction. If parameter is provided, than Fundstream will perform direct payment with the selected payment method instead of loading Fundstream URL.</p>\n<h3 id=\"possible-error-messages\">Possible Error Messages</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Error Messages</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Invalid format of Date_of_Birth[allowed format: yyyy-mm-dd]</td>\n<td></td>\n</tr>\n<tr>\n<td>Enter Valid Email</td>\n<td></td>\n</tr>\n<tr>\n<td>Please submit Valid Alpha2 Country Code Ex:(AF,IN) in \\\"country\\\" parameter</td>\n<td></td>\n</tr>\n<tr>\n<td>Please pass Valid State Code</td>\n<td></td>\n</tr>\n<tr>\n<td>Please pass valid street address in \\\"street_address\\\" parameter</td>\n<td></td>\n</tr>\n<tr>\n<td>Please pass valid city name in \\\"city\\\" parameter</td>\n<td></td>\n</tr>\n<tr>\n<td>Please pass valid postal Code name in \\\"zip_code\\\" parameter</td>\n<td></td>\n</tr>\n<tr>\n<td>You are not Allowed for Live Transaction</td>\n<td></td>\n</tr>\n<tr>\n<td>Minimum amount is not set for this merchant</td>\n<td></td>\n</tr>\n<tr>\n<td>success_redirect/failure_redirect/brand_id is missing</td>\n<td></td>\n</tr>\n<tr>\n<td>brand_id cannot be null</td>\n<td></td>\n</tr>\n<tr>\n<td>success_redirect cannot be null</td>\n<td></td>\n</tr>\n<tr>\n<td>failure_redirect cannot be null</td>\n<td></td>\n</tr>\n<tr>\n<td>Invalid failure_redirect: minimum 10 characters</td>\n<td></td>\n</tr>\n<tr>\n<td>purchase.products.price cannot be null</td>\n<td></td>\n</tr>\n<tr>\n<td>purchase.products[0].name/purchase.products[0].price are missing</td>\n<td></td>\n</tr>\n<tr>\n<td>Your charges setting is incomplete .Plese Contact to Administrator.</td>\n<td></td>\n</tr>\n<tr>\n<td>Currency \"{curr_name}\" is Not Allowed</td>\n<td></td>\n</tr>\n<tr>\n<td>Transaction amount must be equal or greater to minimum trans amount</td>\n<td></td>\n</tr>\n<tr>\n<td>Allowed Limit for this card for particular time period has been consumed</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Note:</strong> For certain use cases, in addition to long format purchase Id, Fundstream also provides a 7 digit unique code for each purchase starting with digit 4, eg 4000001</p>\n<p><em>“purchaseIdShortCode”: “4000013\"</em></p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}},"urlObject":{"path":["purchases",""],"host":["https://app.thefundstream.org/api/v1"],"query":[],"variable":[]}},"response":[{"id":"937607d4-6fcf-4d7f-9dce-6988332983c1","name":"Purchase- success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer Token"}],"body":{"mode":"raw","raw":"{\r\n   \"client\": {\r\n       \"email\": \"test@gmail.com\",\r\n       \"street_address\": \"10 New Burlington Street Apt. 214\",\r\n       \"city\": \"London\",\r\n       \"full_name\": \"Test test\",\r\n       \"zip_code\": \"W1S 3BE\",\r\n       \"country\": \"GB\",\r\n       \"date_of_birth\": \"1970-07-10\",\r\n       \"stateCode\": \"QLD\",\r\n       \"phone\": \"+447755564318\"\r\n   },\r\n   \"purchase\": {\r\n       \"currency\": \"USD\",\r\n       \"products\": [\r\n           {\r\n               \"name\": \"test \",\r\n               \"price\": 10\r\n           }\r\n       ]\r\n   },\r\n   \"paymentMethod\": \"BANKTRANSFER\",\r\n   \"brand_id\": \"{{SriTrustScoreTestBrandID}}\",\r\n   \"success_redirect\": \"https://test.com/getResponse.jsp?success=true\",\r\n   \"failure_redirect\": \"https://test.com/getResponse.jsp?success=false\",\r\n   \"success_callback\": \"https://test1.com\",\r\n   \"failure_callback\": \"https://test2.com\",\r\n    \"signature\": \"RShYJXst+wi8yPMAi/PSqV4JkJpTrXrl9yRYPUiagrSqBNMXEPndEQD6gnKQYq1syKW7B/s7XmRmnzWnB2QDCBHjtv/ZAg4o5lDmOIPDjVdIgHpZ8EMOvF/O/64D9JaLRViIrjSM/kPiAKbxWsoQtmKumfcly7hwL50iZNUovp3jnzoGtOTWLkbUTDk4xPH1OrAwVUeqkmYFgD9bkQZ/MgSB+p/0ahRskx6jjNlKlG1vujk1dWckgw35CwLJwThx/ZW52kpAp+3GwDaANic0vV3dJOhsqpW8+3G0tIiL4+8FBFAFb31jM6K7CpjuI1lwFZoa4+mQEw+/xLBMiDjPyQ==\"\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"https://app.thefundstream.org/api/v1/purchases"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"purchaseId\": \"66334635a2cf2a7da7b192ab\",\r\n    \"client\": {\r\n        \"bank_account\": \"\",\r\n        \"bank_code\": \"\",\r\n        \"email\": \"test3@gmail.com\",\r\n        \"phone\": \"+447755564318\",\r\n        \"full_name\": \"\",\r\n        \"date_of_birth\": \"1970-07-10\",\r\n        \"personal_code\": \"\",\r\n        \"street_address\": \"asdfsa\",\r\n        \"country\": \"GB\",\r\n        \"city\": \"a\",\r\n        \"zip_code\": \"W1S 3BE\",\r\n        \"shipping_street_address\": \"\",\r\n        \"shipping_country\": \"\",\r\n        \"shipping_city\": \"\",\r\n        \"shipping_zip_code\": \"\",\r\n        \"cc\": [],\r\n        \"bcc\": [],\r\n        \"legal_name\": \"\",\r\n        \"brand_name\": \"\",\r\n        \"registration_number\": \"\",\r\n        \"tax_number\": \"\",\r\n        \"documentId\": \"\",\r\n        \"documentType\": \"\",\r\n        \"bankAccountNumber\": \"\",\r\n        \"bankAccount\": \"\",\r\n        \"bankCode\": \"\",\r\n        \"description\": \"\",\r\n        \"stateCode\": \"QLD\"\r\n    },\r\n    \"updated_on\": 1714636341,\r\n    \"type\": \"purchase\",\r\n    \"paymentMethod\": \"BANKTRANSFER\",\r\n    \"amountUnit\": \"MAJOR\",\r\n    \"errorMsg\": \"\",\r\n    \"redirectType\": \"GET\",\r\n    \"force_recurring\": false,\r\n    \"created_on\": 1714636341,\r\n    \"merchantRef\": \"66334635a2cf2a7da7b192ab\",\r\n    \"merchantName\": \"merchant002\",\r\n    \"feesDeducted\": 0.3,\r\n    \"purchaseIdShortCode\": “4000013\",\r\n    \"purchase\": {\r\n        \"currency\": \"JPY\",\r\n        \"products\": [\r\n            {\r\n                \"name\": \"test\",\r\n                \"quantity\": 1.0,\r\n                \"price\": 5000.0,\r\n                \"discount\": 0,\r\n                \"tax_percent\": \"0.00\"\r\n            }\r\n        ],\r\n        \"total\": 5000.0,\r\n        \"language\": \"en\",\r\n        \"notes\": \"\",\r\n        \"debt\": 0,\r\n        \"total_formatted\": 1.0,\r\n        \"request_client_details\": [],\r\n        \"timezone\": \"MIT\",\r\n        \"email_message\": \"\"\r\n    },\r\n    \"payment\": {\r\n        \"is_outgoing\": false,\r\n        \"payment_type\": \"PURCHASE\",\r\n        \"amount\": 5000.0,\r\n        \"currency\": \"JPY\",\r\n        \"net_amount\": 5000.0,\r\n        \"fee_amount\": 0.0,\r\n        \"pending_amount\": 0.0,\r\n        \"pending_unfreeze_on\": null,\r\n        \"description\": \"\",\r\n        \"paid_on\": 1714636341,\r\n        \"remote_paid_on\": 1714636341\r\n    },\r\n    \"issuer_details\": {\r\n        \"website\": \"\",\r\n        \"legal_street_address\": \"\",\r\n        \"legal_country\": \"\",\r\n        \"legal_city\": \"\",\r\n        \"legal_zip_code\": \"\",\r\n        \"bank_accounts\": [\r\n            {\r\n                \"bank_account\": \"\",\r\n                \"bank_code\": \"\"\r\n            }\r\n        ],\r\n        \"legal_name\": \"gdhnb\",\r\n        \"brand_name\": \"gdhnb\",\r\n        \"registration_number\": \"\",\r\n        \"tax_number\": \"\"\r\n    },\r\n    \"transaction_data\": {\r\n        \"payment_method\": \"\",\r\n        \"flow\": \"payform\",\r\n        \"extra\": {\r\n            \"amount\": 5000.0,\r\n            \"masked_pan\": \"BANKTRANSFER\"\r\n        },\r\n        \"country\": \"\",\r\n        \"attempts\": [\r\n            {\r\n                \"client_ip\": \"103.59.75.41\",\r\n                \"type\": \"execute\",\r\n                \"payment_method\": \"BANKTRANSFER\",\r\n                \"flow\": \"payform\",\r\n                \"successful\": true,\r\n                \"country\": \"BANKTRANSFER\",\r\n                \"processing_time\": 1714636341,\r\n                \"extra\": {\r\n                    \"amount\": 5000.0,\r\n                    \"masked_pan\": \"BANKTRANSFER\"\r\n                }\r\n            }\r\n        ]\r\n    },\r\n    \"status\": \"PAYMENT_IN_PROCESS\",\r\n    \"status_history\": [\r\n        {\r\n            \"status\": \"created\",\r\n            \"timestamp\": 1714636341\r\n        },\r\n        {\r\n            \"status\": \"pending_execute\",\r\n            \"timestamp\": 1714636341\r\n        },\r\n        {\r\n            \"status\": \"payment_in_process\",\r\n            \"timestamp\": 1714636341\r\n        }\r\n    ],\r\n    \"is_test\": false,\r\n    \"brand_id\": \"76fad4ea-2ba2-4511-8989-3bed04e7d5bb\",\r\n    \"send_receipt\": false,\r\n    \"is_recurring_token\": false,\r\n    \"skip_capture\": false,\r\n    \"reference_generated\": \"PS8937\",\r\n    \"issued\": \"2024-05-02\",\r\n    \"due\": 1714636341,\r\n    \"refund_upto\": 0,\r\n    \"cc_descriptor\": \"\",\r\n    \"fraudScore\": \"NA\",\r\n    \"trustScore\": \"NA\",\r\n    \"payInBankDetails\": {\r\n        \"accountName\": \"ｴｱｰｳｵﾚﾂｸｽｼﾞｬﾊﾟﾝｶﾌﾞｼｷｶｲｼｬ\",\r\n        \"accountNumber\": \"3194368\",\r\n        \"bankName\": \"MUFG BANK, LTD. 三菱UFJ銀行\",\r\n        \"swiftCode\": \"BOTKJPJT\",\r\n        \"branchName\": \"ワカタケ\",\r\n        \"accountType\": \"CHECKING\",\r\n        \"payment_routing_parameters\": {\r\n            \"BANK_CODE\": \"0005\",\r\n            \"BRANCH_CODE\": \"809\"\r\n        }\r\n    },\r\n    \"refund_availability\": \"NONE\",\r\n    \"refundable_amount\": 0.0,\r\n    \"success_redirect\": \"https://test.com/getResponse.jsp?success=true\",\r\n    \"failure_redirect\": \"https://test.com/getResponse.jsp?success=false\",\r\n    \"cancel_redirect\": \"\",\r\n    \"success_callback\": \"https://test1.com\",\r\n    \"failure_callback\": \"https://test2.com\",\r\n    \"platform\": \"API\",\r\n    \"created_from_ip\": \"103.59.75.41\",\r\n    \"checkout_url\": \"https://api.example.net/payments/66334635a2cf2a7da7b192ab/\"\r\n}"},{"id":"83434634-3633-4145-9050-76abda197eed","name":"Create Purchase","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer Token","type":"text"}],"body":{"mode":"raw","raw":"{\r\n   \"client\": {\r\n       \"email\": \"test@gmail.com\",\r\n       \"street_address\": \"10 New Burlington Street Apt. 214\",\r\n       \"city\": \"London\",\r\n       \"full_name\": \"Test test\",\r\n       \"zip_code\": \"W1S 3BE\",\r\n       \"country\": \"GB\",\r\n       \"date_of_birth\": \"1970-07-10\",\r\n       \"stateCode\": \"QLD\",\r\n       \"phone\": \"+447755564318\"\r\n   },\r\n   \"purchase\": {\r\n       \"currency\": \"USD\",\r\n       \"products\": [\r\n           {\r\n               \"name\": \"test \",\r\n               \"price\": 10\r\n           }\r\n       ]\r\n   },\r\n   \"paymentMethod\": \"BANKTRANSFER\",\r\n   \"brand_id\": \"{{SriTrustScoreTestBrandID}}\",\r\n   \"success_redirect\": \"https://test.com/getResponse.jsp?success=true\",\r\n   \"failure_redirect\": \"https://test.com/getResponse.jsp?success=false\",\r\n   \"success_callback\": \"https://test1.com\",\r\n   \"failure_callback\": \"https://test2.com\"\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"https://app.thefundstream.org/api/v1/purchases"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"message\": \"Error Message\",\r\n    \"code\": \"error_code\"\r\n}\r\n"}],"_postman_id":"bbd8bdcb-3361-4e8f-a3de-1797ac869d1c"},{"name":"Get Status","id":"a84b8a6e-293f-45a0-be22-ced70c821fd6","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer Token","type":"text"}],"url":"https://app.thefundstream.org/api/v1/purchases/{purchaseId}/","description":"<p>This API tells you about all the details of a purchase (PayIn), including its history</p>\n<p><strong>Note:</strong> With respect to bank transfers, the purchase request is synonymous with the PayIn request.</p>\n<h3 id=\"mandatory\">Mandatory</h3>\n<p>you need to pass the <code>PurchaseID</code> in the API URL</p>\n<h3 id=\"possible-value-of-status\">Possible Value of Status</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Status</strong></th>\n<th><strong>Notes</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>paid</td>\n<td>Transaction Successful</td>\n</tr>\n<tr>\n<td>payment_in_process</td>\n<td>Payment is under Processing</td>\n</tr>\n<tr>\n<td>expired</td>\n<td>Purchase has Expired.</td>\n</tr>\n<tr>\n<td>error</td>\n<td>Transaction has Failed.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"response-examples\">Response Examples</h3>\n<p>In the response examples you can see instances of both <code>Paid</code> and <code>Error</code> Status purchases.</p>\n<h3 id=\"error-details\">Error Details</h3>\n<p>If there are any issues on the Purchase you can get more details from the <code>transaction_data.attempts.error</code> attribute of the response object</p>\n<h3 id=\"errors\">Errors</h3>\n<p>If there are any errors then it'll be in the format of :</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"descriptive error message\",\n    \"code\": \"error_code\"\n}\n\n</code></pre>\n<p>Please see the Status Code section for further details.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}},"urlObject":{"path":["purchases","{purchaseId}",""],"host":["https://app.thefundstream.org/api/v1"],"query":[],"variable":[]}},"response":[{"id":"7bfdca2e-824e-4e29-b614-0fbb8ba5048b","name":"Purchases-success","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer Token","type":"text"}],"url":"https://app.thefundstream.org/api/v1/purchases/{purchaseId}/"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"purchaseId\": \"65f95faa70fe897720c40a15\",\r\n    \"client\": {\r\n----\r\n       },\r\n    \"updated_on\": 1710841770,\r\n    \"type\": \"purchase\",\r\n    \"amountUnit\": \"MAJOR\",\r\n    \"errorMsg\": \"\",\r\n    \"redirectType\": \"POST\",\r\n    \"force_recurring\": false,\r\n    \"created_on\": 1710841770,\r\n    \"merchantRef\": \"65f95faa70fe897720c40a15\",\r\n    \"merchantName\": \"test\",\r\n    \"purchase\": {\r\n----\r\n    },\r\n    \"issuer_details\": {\r\n-----\r\n    },\r\n    \"transaction_data\": {\r\n----\r\n    },\r\n    \"status\": \"CREATED\",\r\n    \"status_history\": [\r\n        {\r\n            \"status\": \"created\",\r\n            \"timestamp\": 1710841770\r\n        }\r\n    ],\r\n    \"is_test\": false,\r\n    \"brand_id\": \"90ed108b-6753-465d-8a21-e2cc604ff814\",\r\n    \"send_receipt\": false,\r\n    \"is_recurring_token\": false,\r\n    \"skip_capture\": false,\r\n    \"reference_generated\": \"PS2697\",\r\n    \"issued\": \"2024-03-19\",\r\n    \"due\": 1710841770,\r\n    \"refund_upto\": 0,\r\n    \"cc_descriptor\": \"\",\r\n    \"fraudScore\": \"NA\",\r\n    \"trustScore\": \"NA\",\r\n    \"refund_availability\": \"NONE\",\r\n    \"refundable_amount\": 0.0,\r\n    \"paymentMethod\" : \"BANKTRANSFER\",\r\n    \"brand_id\": \"90ed108b-6753-465d-8a21-e2cc604ff814 \",\r\n    \"success_redirect\": \"https://test.com/getResponse.jsp?success=true\",\r\n    \"failure_redirect\": \"https://test.com/getResponse.jsp?success=false\",\r\n    \"success_callback\": \"https://test1.com\",\r\n    \"failure_callback\": \"https://test2.com\"\r\n    \"cancel_redirect\": \"\",\r\n    \"platform\": \"API\",\r\n    \"created_from_ip\": \"110.235.229.223\",\r\n    \"checkout_url\": \"https://app.fundstream.net/payments/65f95faa70fe897720c40a15/\"\r\n}\r\n"},{"id":"1362a6e3-b705-449a-b933-f510760509f9","name":"Purchases","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer Token","type":"text"}],"url":"https://app.thefundstream.org/api/v1/purchases/{purchaseId}/"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"message\": \"Error Message\",\r\n    \"code\": \"error_code\"\r\n}\r\n"}],"_postman_id":"a84b8a6e-293f-45a0-be22-ced70c821fd6"}],"id":"a0ba02db-a6c5-45ac-8e47-27585e772044","description":"<p><strong>API Flow</strong></p>\n<img src=\"https://lh7-us.googleusercontent.com/cfWw_RYZ9eZVEKzKjeRW4I_VwbBTyqH78LUrJG6ulp7FkE1pXVD6DZr9MnQXB9KH_oLFasJDb156naCsBc2bgotPaVY7LtGOJNifpTOb5uks3fjAKpgVhU4dsXQmQ7hFKNFIVhZEl2p8fCN1YufsRaA\" />\n\n<ol>\n<li>The merchant initiates the purchase via the create purchase API. If successful, they receive PayIn bank details along with a checkout URL in the response JSON</li>\n<li>The merchant then has 2 options<ol>\n<li>Use the PayIn bank details in the JSON to create a webpage within the merchant’s IT estate, and show to user the PayIn instruction</li>\n<li>Or direct the end-user to our checkout URL, where the client sees bank details for payment.</li>\n</ol>\n</li>\n<li>After a successful or failed payment by the end user, an appropriate webhook would be sent to the merchant. If option 2b was the method employed, the user would be redirected to the appropriate redirect URL.</li>\n</ol>\n","_postman_id":"a0ba02db-a6c5-45ac-8e47-27585e772044","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}}},{"name":"PayOut API","item":[{"name":"Create PayOut","id":"58c2213b-7ee1-4e33-b5aa-2cd9c0598a44","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer Token"}],"body":{"mode":"raw","raw":"{\r\n      \"client\":\r\n        {\r\n    \"email\": \"customer141@email.uk\",\r\n         \"phone\": \"1234567890\",\r\n    \"country\" : \"SG\",\r\n    \"zip_code\" : \"123456\",\r\n    \"city\" : \"Singapore\",\r\n    \"street_address\": \"Random city address\",\r\n    \"full_name\": \"Test Person-uk\",\r\n    \"stateCode\": \"test\"\r\n        },\r\n        \"beneficiaryDetail\":{\r\n    \"bankName\": \"DBS Bank\",\r\n     \"bankAccountName\": \"test test\",\r\n    \"bankAccountCurrency\": \"SGD\",\r\n     \"bankAccountNumber\": \"12345640\",\r\n     \"bankCountryCode\" : \"SG\",\r\n     \"swiftCode\": \"DBSSSGSG\",\r\n     \"routing_param\" :\r\n     {\r\n      \"bankCode\": \"897678\",\r\n      \"bankBranchCode\" : \"888\"\r\n    }\r\n           },\r\n\"payoutMethod\" : \"Payout-BANKTRANSFER\",\r\n\"amount\" : 10,\r\n\"currency\" : \"USD\",\r\n\"purpose\" : \"payout to test\",\r\n\"success_callback\": \"https://success.com\",\r\n\"failure_callback\": \"https://failure.com\",\r\n\"signature\": \"iAiYKHaHSt+vH5GwQse3cuaZqW/NReuDJa0jzSM9YKIXjKVdbvOQMzOozwyEGZt85E+NJeLwE9Wn0BeKKYkHnMC3Aq75R9KZPM1gLtyc/pQSQi+x55KRexYS/d2Sw/2XNLZgkIUd47NxJY1niszcs29wrwC6EqJAngijMYkKWmU8w9naDLJzvTBoVhGMQhNBboRu5iIoaDMqiKNZgigkfLln6PEw4Q1CzVrxzdy89GTPuZHyEYsNrTSZSIzZM1LhOC+fyipUp/9R3HnOblRb2rDVWXLYi6X0rIrTe1G3Y79J9jGGOLA9UJGHSF9ln+GLmlOcZb47rhsXYNVYROBL8Q==\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://app.thefundstream.org/api/v1/payout/","description":"<p>To Initiate a payment, the very first call to make is/payout/</p>\n<p>with the required data in the request body.</p>\n<p>To generate a Payout, you are required to provide the <code>API key</code> (in the header) can be located in the Dashboard section of your merchant account login.</p>\n<p>The request body structure is shown on the request body of the example request shown here.</p>\n<p>The following (see table below) are the mandatory parameters that are required to create a Payout request.</p>\n<h3 id=\"mandatory-parameters-in-the-request-body\"><strong>Mandatory parameters in the request body:</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Parameter</strong></th>\n<th><strong>Notes</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>client.email or client.phone</td>\n<td>An Identifier for a user</td>\n</tr>\n<tr>\n<td>client.full_name</td>\n<td></td>\n</tr>\n<tr>\n<td>client.city</td>\n<td></td>\n</tr>\n<tr>\n<td>client.country</td>\n<td>ISO-3166 Country Code. Must be upper case. Example “SG” (Alpha2)</td>\n</tr>\n<tr>\n<td>client.stateCode</td>\n<td>Example “AL”, “XZ”.. Must be in upper case.</td>\n</tr>\n<tr>\n<td>client.street_address</td>\n<td></td>\n</tr>\n<tr>\n<td>client.zip_code</td>\n<td></td>\n</tr>\n<tr>\n<td>beneficiaryDetail.bankName</td>\n<td></td>\n</tr>\n<tr>\n<td>beneficiaryDetail.bankAccountName</td>\n<td></td>\n</tr>\n<tr>\n<td>beneficiaryDetail.bankAccountCurrency</td>\n<td></td>\n</tr>\n<tr>\n<td>beneficiaryDetail.bankAccountNumber</td>\n<td></td>\n</tr>\n<tr>\n<td>beneficiaryDetail.bankCountryCode</td>\n<td></td>\n</tr>\n<tr>\n<td>beneficiaryDetail.swiftCode</td>\n<td>Note:  <br />Generally speaking if the merchant currency account and beneficiary’s bank account are in different currencies then SWIFT code is needed.  <br />It also depends on the beneficiary currency. For example, it’s mandatory for SDG (even if the merchant’s currency account is SGD) but not for JPY.</td>\n</tr>\n<tr>\n<td>beneficiaryDetail.routing_param</td>\n<td>See the table below</td>\n</tr>\n<tr>\n<td>payoutMethod</td>\n<td></td>\n</tr>\n<tr>\n<td>Currency</td>\n<td>Note this is currency account for which you have balance</td>\n</tr>\n<tr>\n<td>Amount</td>\n<td></td>\n</tr>\n<tr>\n<td>success_redirect</td>\n<td>URL to send the user if the transactions is successful</td>\n</tr>\n<tr>\n<td>failure_redirect</td>\n<td>URL to send the user if the transactions is UNSUCCESSFUL</td>\n</tr>\n<tr>\n<td>Purpose</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"digital-signature-optional-parameter-\">Digital Signature (Optional Parameter) :</h3>\n<p>To ensure authenticity and non-repudiation of the the pay out request, there is an option to digitally sign the pay out request by using the merchant's public key.</p>\n<p><strong>Public key generation :-</strong></p>\n<img src=\"https://content.pstmn.io/cf8b6928-ce4e-4395-8f26-05f2ce5357d6/YVcxaFoyVXVjRzVuICgxKS5wbmc=\" alt height=\"256\" width=\"591\" />\n\n<p><strong>Signature generation :-</strong></p>\n<p>This digitial signature is generated by encrypting the following elements of the payout request:<br />Plain text for encryption is the combination of following.<br />Plaintext= amount+currency+beneficiaryDetail.bankAccountCurrency+beneficiaryDetail.bankAccountNumber+beneficiaryDetail.bankAccountName+ beneficiaryDetail.bankCountryCode</p>\n<p><strong>Example of encrypt plaintext with public key in java:-</strong></p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-java\">private String encryptData(String plaintext, PublicKey publicKey) throws Exception {\n    Cipher cipher = Cipher.getInstance(\"RSA\");\n    cipher.init(Cipher.ENCRYPT_MODE, publicKey);\n    byte[] encryptedbytes = cipher.doFinal(message.getBytes());\n    return new String(Base64.getEncoder * ().encode(encryptedbytes));\n}\n\n</code></pre>\n<h2 id=\"routing-parameters\"><strong>Routing Parameters</strong></h2>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Currency code</strong></th>\n<th><strong>Routing code 1</strong></th>\n<th><strong>Routing Code 2</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>SGD</td>\n<td>bankCode</td>\n<td>bankBranchCode</td>\n</tr>\n<tr>\n<td>USD</td>\n<td>ach</td>\n<td>fedwire</td>\n</tr>\n<tr>\n<td>AUD</td>\n<td>BSB</td>\n<td></td>\n</tr>\n<tr>\n<td>CAD</td>\n<td>transit_number</td>\n<td>institution_number</td>\n</tr>\n<tr>\n<td>GBP</td>\n<td>sort_code</td>\n<td></td>\n</tr>\n<tr>\n<td>HKD</td>\n<td>bankCode</td>\n<td>bankBranchCode</td>\n</tr>\n<tr>\n<td>JPY</td>\n<td>bankCode  <br />  <br />(Zengin Bank Code)</td>\n<td>bankBranchCode  <br />  <br />(Zengin Branch Code)</td>\n</tr>\n<tr>\n<td>NZD</td>\n<td>bankCode</td>\n<td>bankBranchCode</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}},"urlObject":{"path":["payout",""],"host":["https://app.thefundstream.org/api/v1"],"query":[{"disabled":true,"key":"","value":""},{"disabled":true,"key":null,"value":""}],"variable":[]}},"response":[{"id":"126b0d27-d159-43e7-8518-479e2b6ea1a1","name":"create payout-success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer Token","type":"text"}],"body":{"mode":"raw","raw":"{\r\n      \"client\":\r\n        {\r\n    \"email\": \"customer141@email.uk\",\r\n         \"phone\": \"1234567890\",\r\n    \"country\" : \"SG\",\r\n    \"zip_code\" : \"123456\",\r\n    \"city\" : \"Singapore\",\r\n    \"street_address\": \"Random city address\",\r\n    \"full_name\": \"Test Person-uk\",\r\n    \"stateCode\": \"test\"\r\n        },\r\n        \"beneficiaryDetail\":{\r\n    \"bankName\": \"DBS Bank\",\r\n     \"bankAccountName\": \"test test\",\r\n    \"bankAccountCurrency\": \"SGD\",\r\n     \"bankAccountNumber\": \"12345640\",\r\n     \"bankCountryCode\" : \"SG\",\r\n     \"swiftCode\": \"DBSSSGSG\",\r\n     \"routing_param\" :\r\n     {\r\n      \"bankCode\": \"897678\",\r\n      \"bankBranchCode\" : \"888\"\r\n    }\r\n           },\r\n\"payoutMethod\" : \"Payout-BANKTRANSFER\",\r\n\"amount\" : 10,\r\n\"currency\" : \"USD\",\r\n\"purpose\" : \"payout to test\",\r\n    \"success_callback\": \"https://success.com\",\r\n          \"failure_callback\": \"https://failure.com\",\r\n            \"signature\": \"iAiYKHaHSt+vH5GwQse3cuaZqW/NReuDJa0jzSM9YKIXjKVdbvOQMzOozwyEGZt85E+NJeLwE9Wn0BeKKYkHnMC3Aq75R9KZPM1gLtyc/pQSQi+x55KRexYS/d2Sw/2XNLZgkIUd47NxJY1niszcs29wrwC6EqJAngijMYkKWmU8w9naDLJzvTBoVhGMQhNBboRu5iIoaDMqiKNZgigkfLln6PEw4Q1CzVrxzdy89GTPuZHyEYsNrTSZSIzZM1LhOC+fyipUp/9R3HnOblRb2rDVWXLYi6X0rIrTe1G3Y79J9jGGOLA9UJGHSF9ln+GLmlOcZb47rhsXYNVYROBL8Q==\"\r\n   }","options":{"raw":{"language":"json"}}},"url":{"raw":"https://app.thefundstream.org/api/v1/payout/","host":["https://app.thefundstream.org/api/v1"],"path":["payout",""],"query":[{"key":"","value":null,"disabled":true},{"key":null,"value":"","disabled":true}]}},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"payoutId\": \"65ffadb4c1c83822903a9205\",\r\n    \"client\": {\r\n        \"email\": \"customer141@email.uk\",\r\n        \"full_name\": \"Test Person-uk\",\r\n        \"street_address\": \"Random city address\",\r\n        \"country\": \"SG\",\r\n        \"city\": \"Singapore\",\r\n        \"zip_code\": \"123456\",\r\n        \"stateCode\": \"test\"\r\n    },\r\n    \"updated_on\": 1711254964,\r\n    \"payoutMethod\": \"Payout-BANKTRANSFER\",\r\n\t\"beneficiaryDetail\":{\r\n        \"bankName\": \"DBS Bank\",      \r\n        \"bankAccountName\": \"test test\",\r\n        \"bankAccountCurrency\": \"SGD\",\r\n        \"bankAccountNumber\": \"12345640\",\r\n        \"bankCountryCode\" : \"SG\",\r\n        \"swiftCode\": \"DBSSSGSG\",\r\n        \"routing_param\" :\r\n        {\r\n            \"bankCode\": \"897678\",\r\n            \"bankBranchCode\" : \"888\"\r\n           \r\n        }\r\n     },\r\n    \"amountUnit\": \"MAJOR\",\r\n    \"amount\": 1000.0,\r\n    \"errorMsg\": \"Currency Account has insufficient balance.\",\r\n    \"purpose\": \"test payout\",\r\n    \"created_on\": 1711254972,\r\n    \"merchantRef\": \"65ffadb4c1c83822903a9205\",\r\n    \"status\": \"ERROR\",\r\n    \"status_history\": [\r\n        {\r\n            \"status\": \"created\",\r\n            \"timestamp\": 1711254964\r\n        },\r\n        {\r\n            \"status\": \"error\",\r\n            \"timestamp\": 1711254972\r\n        }\r\n    ],\r\n    \"currency\": \"USD\",\r\n\t\"success_callback\": \"https://success.com\",\r\n    \"failure_callback\": \"https://failure.com\"\r\n}\r\n"},{"id":"8d444be6-d114-4da7-b56a-c2b797cdfd5d","name":"create payout-error","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer Token","type":"text"}],"body":{"mode":"raw","raw":"{\r\n\"client\":\r\n    {\r\n        \"email\": \"customer141@email.uk\",\r\n  \t   \"phone\": \"1234567890\",\r\n       \"country\" : \"SG\",\r\n       \"zip_code\" : \"123456\",\r\n       \"city\" : \"Singapore\",\r\n       \"street_address\": \"Random city address\",\r\n       \"full_name\": \"Test Person-uk\",\r\n       \"stateCode\": \"test\"\r\n     },\r\n \t\t \"beneficiaryDetail\":{\r\n        \"bankName\": \"DBS Bank\",      \r\n        \"bankAccountName\": \"test test\",\r\n        \"bankAccountCurrency\": \"SGD\",\r\n        \"bankAccountNumber\": \"12345640\",\r\n        \"bankCountryCode\" : \"SG\",\r\n        \"swiftCode\": \"DBSSSGSG\",\r\n        \"routing_param\" :\r\n        {\r\n            \"bankCode\": \"897678\",\r\n            \"bankBranchCode\" : \"888\"\r\n           \r\n        }\r\n          \t},\r\n \r\n\"payoutMethod\" : \"Payout-BANKTRANSFER\",\r\n\"amount\" : 10,\r\n\"currency\" : \"USD\",\r\n\"purpose\" : \"payout to test\",\r\n\"success_callback\": \"https://success.com\",\r\n\"failure_callback\": \"https://failure.com\"\r\n \r\n\t}\r\n","options":{"raw":{"language":"json"}}},"url":{"raw":"https://app.thefundstream.org/api/v1/payout/","host":["https://app.thefundstream.org/api/v1"],"path":["payout",""],"query":[{"key":"","value":null,"disabled":true},{"key":null,"value":"","disabled":true}]}},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":" {\r\n    \"message\": \"Error Message\",\r\n    \"code\": \"error_code\"\r\n}\r\n"}],"_postman_id":"58c2213b-7ee1-4e33-b5aa-2cd9c0598a44"},{"name":"Get Status","id":"e5b51f43-7cee-459f-9c5d-b5878dac6b73","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://app.thefundstream.org/api/v1/getpayout/{payoutId}/","description":"<p>This API tells you about all the details of a Payout, including its history</p>\n<h3 id=\"mandatory\">Mandatory</h3>\n<p>you need to pass the payoutId in the API URL</p>\n<h3 id=\"possible-value-of-status\">Possible Value of Status</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Status</strong></th>\n<th><strong>Notes</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>paid</td>\n<td>Transaction Successful</td>\n</tr>\n<tr>\n<td>payout_in_process</td>\n<td>payout is under Processing.</td>\n</tr>\n<tr>\n<td>error</td>\n<td>Transaction has Failed.</td>\n</tr>\n</tbody>\n</table>\n</div><p>The webhook will only be triggered for paid transactions or errors.</p>\n<p>Paid: \"success_callback\": \"<a href=\"https://success.com\">https://success.com</a>\",</p>\n<p>Error: \"failure_callback\": “<a href=\"https://failure.com%E2%80%9D\">https://failure.com”</a></p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}},"urlObject":{"path":["getpayout","{payoutId}",""],"host":["https://app.thefundstream.org/api/v1"],"query":[],"variable":[]}},"response":[{"id":"db2e80f7-a3db-4e8c-b433-95f739c1136a","name":"Get Status","originalRequest":{"method":"GET","header":[],"url":"https://app.thefundstream.org/api/v1/getpayout/{payoutId}/"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"payoutId\": \"65ffadb4c1c83822903a9205\",\r\n    \"client\": {\r\n        \"email\": \"customer141@email.uk\",\r\n        \"full_name\": \"Test Person-uk\",\r\n        \"street_address\": \"Random city address\",\r\n        \"country\": \"SG\",\r\n        \"city\": \"Singapore\",\r\n        \"zip_code\": \"123456\",\r\n        \"stateCode\": \"test\"\r\n    },\r\n    \"updated_on\": 1711254964,\r\n    \"payoutMethod\": \"Payout-BANKTRANSFER\",\r\n    \"beneficiaryDetail\":{\r\n    \"bankName\": \"DBS Bank\",      \r\n    \"bankAccountName\": \"test test\",\r\n    \"bankAccountCurrency\": \"SGD\",\r\n    \"bankAccountNumber\": \"12345640\",\r\n    \"bankCountryCode\" : \"SG\",\r\n    \"swiftCode\": \"DBSSSGSG\",\r\n    \"routing_param\" :\r\n    {\r\n        \"bankCode\": \"897678\",\r\n        \"bankBranchCode\" : \"888\"\r\n           \r\n    }\r\n     },\r\n    \"amountUnit\": \"MAJOR\",\r\n    \"amount\": 1000.0,\r\n    \"errorMsg\": \"Currency Account has insufficient balance.\",\r\n    \"purpose\": \"test payout\",\r\n    \"created_on\": 1711254972,\r\n    \"merchantRef\": \"65ffadb4c1c83822903a9205\",\r\n    \"status\": \"ERROR\",\r\n    \"status_history\": [\r\n        {\r\n            \"status\": \"created\",\r\n            \"timestamp\": 1711254964\r\n        },\r\n        {\r\n            \"status\": \"error\",\r\n            \"timestamp\": 1711254972\r\n        }\r\n    ],\r\n    \"currency\": \"USD\",\r\n    \"success_callback\": \"https://success.com\",\r\n    \"failure_callback\": \"https://failure.com\"\r\n}\r\n"},{"id":"312b1746-af90-4e63-9c53-a6ecfe28be6c","name":"Get Status-error","originalRequest":{"method":"GET","header":[],"url":"https://app.thefundstream.org/api/v1/getpayout/{payoutId}/"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"message\": \"Error Message\",\r\n    \"code\": \"error_code\"\r\n}"}],"_postman_id":"e5b51f43-7cee-459f-9c5d-b5878dac6b73"}],"id":"f037c897-3907-48bc-bfe3-5f78c9df3c00","description":"<p><strong>API Flow</strong></p>\n<img src=\"https://lh7-us.googleusercontent.com/Uxy8jmp5RP-c360-oIMAZy2As8naqJdARgKsWU0x_BtszfJlwdRVM6-obffbtjTABfI9V0hxH4Ad-Ns96We42lIMdL434tTzLJ6aEQBt0dzX_ZXeM4RtG_kmEeem7WIsN520Zh5PS3xTFYNzOmks0ak\" />\n\n<p>At the time of onboarding, the merchant will be given the option of currency accounts. Typically, a merchant will have one currency account in one jurisdiction, but our platform allows for multiple currency accounts for merchants. Please contact your account manager if you need multicurrency accounts. Please note that there may be some restrictions on multicurrency accounts depending on the jurisdictions and commercials.</p>\n<p>Our system also caters to multiple business accounts within one merchant account for better financial risk management. If more than one business is onboarded for a merchant (each needing its own KYB), then our system would handle the complexity of balance distribution among the accounts in the backend and give simple easy-to-use APIs for merchants.</p>\n","_postman_id":"f037c897-3907-48bc-bfe3-5f78c9df3c00","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}}},{"name":"Get Balance API","item":[{"name":"Checking Balance","id":"1c05cd8e-afe2-49b3-bb2c-8b1dc84e6b50","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer Token","type":"text"}],"body":{"mode":"raw","raw":"{ \r\n   \"paymentMethod\" : \"BANKTRANSFER\"\r\n\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"https://app.thefundstream.org/api/v1/getBalance","description":"<h2 id=\"api-for-checking-balance-payout\"><strong>API for Checking Balance payout</strong></h2>\n<ol>\n<li><p>URL :- /getBalance/</p>\n</li>\n<li><p>RequestType: POST</p>\n</li>\n<li><p>Request Body</p>\n</li>\n</ol>\n<p>Note: Currency is not a mandatory parameter. If no parameter is specified then all respective currency balances would be provided, if any specific currency parameter is provided then only that currency balance would be provided.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}},"urlObject":{"path":["getBalance"],"host":["https://app.thefundstream.org/api/v1"],"query":[],"variable":[]}},"response":[{"id":"5c76ef49-9a5b-4ce1-82c8-ab7e56838dc7","name":"Checking Balance payout-success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{ \r\n   \"paymentMethod\" : \"BANKTRANSFER\"\r\n\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"https://api.fundstream.net/api/v1/getBalance"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"paymentMethod\": \"BANKTRANSFER\",\r\n    \"status\": \"success\",\r\n    \"data\": [\r\n        {\r\n            \"currency\": \"AUD\",\r\n            \"balance\": \"0.00\"\r\n        },\r\n        {\r\n            \"currency\": \"USD\",\r\n            \"balance\": \"46813.79\"\r\n        },\r\n        {\r\n            \"currency\": \"JPY\",\r\n            \"balance\": \"1012.00\"\r\n        }\r\n    ]\r\n}\r\n"},{"id":"931f2365-e211-4f55-a8ba-71bed18e8bc8","name":"Checking Balance payout-error","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"}],"body":{"mode":"raw","raw":"{ \r\n   \"paymentMethod\" : \"BANKTRANSFER\"\r\n\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"https://app.thefundstream.org/api/v1/getBalance"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"message\": \"Error Message\",\r\n    \"code\": \"No currency account found\"\r\n}\r\n"}],"_postman_id":"1c05cd8e-afe2-49b3-bb2c-8b1dc84e6b50"}],"id":"f6e72d93-aaf9-422b-a0dd-906bf4a9fe12","_postman_id":"f6e72d93-aaf9-422b-a0dd-906bf4a9fe12","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}}}],"id":"fd8ffadc-e368-42a7-90bf-cc7ff6caf330","_postman_id":"fd8ffadc-e368-42a7-90bf-cc7ff6caf330","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}}},{"name":"💳 Card Payments","item":[{"name":"Concepts","item":[],"id":"3f6104c6-e972-4965-bee7-e0ed66d43ac9","description":"<h2 id=\"custom-payment-flow---server-to-server\">Custom Payment Flow - Server-to-Server</h2>\n<p>Fundstream offers Server-to-Server (\"S2S\") integration that enables processing payments on the server level, eliminating direct interaction between the client's browser or application and the API.</p>\n<p>This integration allows you to build a setup that restricts payers from directly accessing platform resources.</p>\n<p>To enable payment acceptance in your application or website using Server-to-Server (S2S) integration follow the following 3-step routine.</p>\n<p><strong>Step 1:</strong></p>\n<p>Create a purchase using <code>POST /purchase/</code> API to create a <code>Purchase</code> in the system. make sure to meet all the required criteria, which includes defining success_redirect and failure_redirect fields for the Purchase and setting them to valid URLs</p>\n<p><strong>Step 2</strong>:</p>\n<p>Send the payment method to the payment URL by making a POST request to <code>/p/{purchaseId}/?s2s=true</code> .</p>\n<p>The body of the reques to contain the card details:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"cardholder_name\": \"dk\",\n    \"card_number\": \"4444333322221111\",\n    \"expires\": \"10/23\",\n    \"cvc\": \"345\",\n    \"remember_card\": \"on\",\n    \"remote_ip\": \"157.38.242.7\",\n    \"user_agent\": \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36\",\n    \"accept_header\": \"text/html\",\n    \"language\": \"en-US\",\n    \"java_enabled\": false,\n    \"javascript_enabled\": true,\n    \"color_depth\": 24,\n    \"utc_offset\": 0,\n    \"screen_width\": 1920,\n    \"screen_height\": 1080\n}\n\n</code></pre>\n<p>see <code>/p/{purchaseId}/?s2s=true</code> API for more details.</p>\n<p><strong>Step 3 (for merchants configured for 3D transactions):</strong></p>\n<p>Once the response is received, if the purchase is successful (indicated by a response status code of 202), you will be given the <code>\"status\": \"pending\"</code>.</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"status\": \"pending\",\n    \"callback_url\": \"http://18.214.100.20/api/v1/payment/64bfc2a4f63e36669499e5cc/\",\n    \"method\": \"GET\"\n}\n\n</code></pre>\n<p>Otherwise you'll get an error as shown below (response status code could be 400,404,401,415,405) :</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"descriptive error message\",\n    \"code\": \"error_code\"\n}\n\n</code></pre>\n<p>Please see the <a href=\"https://\">Status Code</a> section for further details.</p>\n<p>If the response code is 202, upon receiving the response body, redirect the customer to the callback_url provided in the response.</p>\n<p>If the card requires 3D Secure verification, the user will be redirected to a verification or challenge screen by the card issuing bank. After successful user verification, the user will be redirected to the success URL provided in the <code>/purchase</code> API from Step 1.</p>\n<p>If, for any reason, the transaction is unsuccessful, the user will be redirected the failure URL provided in the /purchase API from Step 1.</p>\n","_postman_id":"3f6104c6-e972-4965-bee7-e0ed66d43ac9","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"3da39501-048e-4967-afcd-eec0ffa5523a","id":"3da39501-048e-4967-afcd-eec0ffa5523a","name":"💳 Card Payments","type":"folder"}}},{"name":"Transaction Status and their meaning","item":[],"id":"1c51bc9a-4339-49e0-a1d4-a19990cd2f55","description":"<p>The lifecycle of a transaction is reflected through the status of the transaction.</p>\n<p>This section details various statuses of a transaction and what it means and when does it appears.</p>\n<p>The status of a transaction can be read from the <code>\"status\"</code> field of the responses or webhook payload.</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>Description</strong></th>\n<th><strong>When it Appears</strong></th>\n<th><strong>Is it Final?</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>CREATED</td>\n<td>Purchase is created in the system.</td>\n<td>When Purchase API is called, the transaction is created as \"CREATED\".</td>\n<td>N</td>\n</tr>\n<tr>\n<td>CANCELLED</td>\n<td>Purchase is cancelled in the system. Only transactions in \"CREATED\" status can be cancelled.</td>\n<td>When Cancel API is called.</td>\n<td>Y</td>\n</tr>\n<tr>\n<td>PENDING EXECUTE</td>\n<td>Purchase hasn't been completed yet. Only transactions in \"CREATED\" status can become \"PENDING EXECUTE\" after S2S API call.</td>\n<td>The callback URL provided in the S2S call response hasn't been called by merchant yet.</td>\n<td>N</td>\n</tr>\n<tr>\n<td>OVERDUE</td>\n<td>Purchase hasn't been completed yet. Only transactions in \"CREATED\" status can become \"OVERDUE\" if S2S API hasn't been called in 2 hours.</td>\n<td>S2S API hasn't been called within 2 hours since transaction creation.</td>\n<td>N</td>\n</tr>\n<tr>\n<td>EXPIRED</td>\n<td>Purchase hasn't been completed. Only transactions in \"PAYMENT IN PROCESS\" and \"PENDING EXECUTE\" status can become \"EXPIRED\". After payment in process, no data is provided.</td>\n<td>The callback URL provided in the S2S call response hasn't been called by the merchant after the specific time period.</td>\n<td>Y</td>\n</tr>\n<tr>\n<td>PAID</td>\n<td>Purchase has been completed successfully. Only transactions in \"PAYMENT IN PROCESS\" status can become \"PAID\".</td>\n<td>The callback URL provided in the S2S call response has been called by the merchant.</td>\n<td>Y</td>\n</tr>\n<tr>\n<td>PAYMENT IN PROCESS</td>\n<td>Purchase hasn't been completed. Only transactions in \"PENDING EXECUTE\" status can become \"PAYMENT IN PROCESS\".</td>\n<td>When the user's action is pending (e.g., OTP confirmation). Transaction can stay in this status for 24 hours since creation.</td>\n<td>N</td>\n</tr>\n<tr>\n<td>CHARGEBACK</td>\n<td>Transaction type that allows customers to receive money back.</td>\n<td>When requested by customer or merchant (manual process).</td>\n<td>Y</td>\n</tr>\n<tr>\n<td>REFUNDED</td>\n<td>Only transactions in \"REFUND IN PROCESS\" status can become \"REFUNDED\".</td>\n<td>When the provider confirms the refund.</td>\n<td>Y</td>\n</tr>\n<tr>\n<td>REFUND IN PROCESS</td>\n<td>Only transactions in \"PAID\" status can become \"REFUND IN PROCESS\".</td>\n<td>When Refund API is called and a response is received with \"REFUND IN PROCESS\" status.</td>\n<td>N</td>\n</tr>\n<tr>\n<td>ERROR</td>\n<td>Only transactions in statuses: \"PENDING EXECUTE\", \"PAYMENT IN PROCESS\", or \"REFUND IN PROCESS\" can become \"ERROR\".</td>\n<td>Refers to the Errors list for possible errors.</td>\n<td>Y</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","exec":[""],"id":"b3e4e3e5-e684-4b0a-81e6-89cf44d6030a"}},{"listen":"test","script":{"type":"text/javascript","exec":[""],"id":"cf212023-ae3f-4f88-8119-f66c6a894bee"}}],"_postman_id":"1c51bc9a-4339-49e0-a1d4-a19990cd2f55"},{"name":"APIs","item":[{"name":"Purchase","id":"cb2bec6c-845e-48e1-94b5-e9df982b7735","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n        \"email\": \"example@fundstream.net\",\r\n        \"country\":\"IN\",\r\n        \"city\":\"123\",\r\n        \"stateCode\":\"ca\",\r\n        \"street_address\":\"test test\",\r\n        \"zip_code\":\"234567\",\r\n        \"phone\":\"9999999999\",\r\n        \"tax_number\":\"12345678901\"\r\n    },\r\n    \"purchase\": {\r\n        \"products\": [\r\n            {\r\n                \"name\": \"dk\",\r\n                \"price\": \"10\"\r\n            }\r\n        ]\r\n    },\r\n    \"status\": \"created\",\r\n    \"brand_id\": \"bd69e8a5-adcf-40de-9e43-2b87cb129a5e \",\r\n    \"merchantRef\": \"d9db7ec0-f94c-4a9d-8883-54c19c222d81\",\r\n    \"send_receipt\": \"\" ,\r\n    \"skip_capture\": \"\" ,\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"failure_redirect\": \"https://your.failure.redirect.com\",\r\n    \"success_callback\": \"https://your.success.callback.com\",\r\n   \"failure_callback\": \"https://your.failure.callback.com\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://app.thefundstream.org/api/v1/purchases","description":"<p>To Initiate a payment, the very first call to make is <code>/purchases</code> with the required data in the request body.</p>\n<p>To generate a Purchase, you are required to provide the <code>Brand ID</code> (in the request body) and <code>API key</code> (in the header) Both can be located in the Dashboard section of your merchant account login.</p>\n<p>The request body structure is shown on the request body of the example request shown here.</p>\n<p>The following (see table below) are the mandatory parameters that are required to create a purchase request.</p>\n<h3 id=\"mandatory-parameters-in-the-request-body\"><strong>Mandatory parameters in the request body:</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Parameter</strong></th>\n<th><strong>Notes</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>client.email</td>\n<td></td>\n</tr>\n<tr>\n<td>client.city</td>\n<td></td>\n</tr>\n<tr>\n<td>client.country</td>\n<td>ISO-3166 Country Code. Must be upper case. Example “SG” (Alpha2)</td>\n</tr>\n<tr>\n<td>client.stateCode</td>\n<td>Example “AL”, “XZ”.. Must be in upper case.</td>\n</tr>\n<tr>\n<td>Client.street_address</td>\n<td></td>\n</tr>\n<tr>\n<td>client.zip_code</td>\n<td></td>\n</tr>\n<tr>\n<td>purchase.currency</td>\n<td>ISO 4217 code for currency you want to send the transaction in.  <br />Please note, the currency has to be enbaled by the account manager for your account.</td>\n</tr>\n<tr>\n<td>purchase.products.name</td>\n<td></td>\n</tr>\n<tr>\n<td>purchase.products.price</td>\n<td>Price in decimal format.  <br />example 1:  <br />EUR 5 , should be sent as 5.00  <br />  <br />example 2:  <br />USD 10 and 37 cents , should be sent as 10.37</td>\n</tr>\n<tr>\n<td>brand_id</td>\n<td>Obtain from Dashboard section of your merchant account login.</td>\n</tr>\n<tr>\n<td>success_redirect</td>\n<td>URL to send the user if the transactions is successful</td>\n</tr>\n<tr>\n<td>failure_redirect</td>\n<td>URL to send the user if the transactions is UNSUCCESSFUL</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"essential-optional-parameters\">Essential Optional Parameters</h2>\n<h3 id=\"merchantref\">merchantRef</h3>\n<p>The <code>merchantRef</code> parameter, although not mandatory, is strongly advised for merchants to specify. Its inclusion offers two significant advantages for the merchant:</p>\n<ol>\n<li><p><strong>Prevention of Duplicate Requests:</strong> When a <code>merchantRef</code> is utilized, it acts as a unique identifier. This means that if a second purchase request is made using the same <code>merchantRef</code> (reference number), the system will recognize it and prevent duplicate transactions from occurring. This prevents unintended or duplicate purchases.</p>\n</li>\n<li><p><strong>Facilitation of Transaction Retrieval:</strong> In situations where the response from the initial purchase request times out or the 'purchaseId' isn't received, having the <code>merchantRef</code> allows the merchant to retrieve detailed transaction information. This ensures they can track and access the specific purchase details related to that reference, even if the immediate response was not received.</p>\n</li>\n</ol>\n<p>However, if the merchant does not specify the 'merchantRef' parameter, the platform will automatically assign and use an internal 'purchaseId' as a reference for that transaction.</p>\n<p>Upon successul create on a Purchase you'd get a <code>\"purchaseId\"</code> . Use this ID for the next step in Server to server call by calling <code>p/{purchaseId}/?s2s=true .</code></p>\n<h3 id=\"paymentmethod\">paymentMethod</h3>\n<p>The <code>paymentMethod</code> parameter identifies which payment solution merchant wants to use to perform a transaction. If parameter is provided, than Fundstream will perform direct payment with the selected payment method instead of loading Fundstream URL.</p>\n<h3 id=\"errors\">Errors</h3>\n<p>If there are any errors then it'll be in the format of :</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"descriptive error message\",\n    \"code\": \"error_code\"\n}\n\n</code></pre>\n<h3 id=\"possible-error-messages\">Possible Error Messages</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Error Messages</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Allowed Limit for this card for particular time period has been consumed</td>\n<td></td>\n</tr>\n<tr>\n<td>some Mandatory Parameter are missing</td>\n<td></td>\n</tr>\n<tr>\n<td>Invalid format of Date_of_Birth[allowed format: yyyy-mm-dd]</td>\n<td></td>\n</tr>\n<tr>\n<td>Invalid Email Format</td>\n<td></td>\n</tr>\n<tr>\n<td>Please submit Valid Alpha2 Country Code Ex:(AF,IN) in \\\"country\\\" parameter</td>\n<td></td>\n</tr>\n<tr>\n<td>Please pass Valid State Code</td>\n<td></td>\n</tr>\n<tr>\n<td>Please pass valid street address in \\\"street_address\\\" parameter</td>\n<td></td>\n</tr>\n<tr>\n<td>Please pass valid city name in \\\"city\\\" parameter</td>\n<td></td>\n</tr>\n<tr>\n<td>Please pass valid postal Code name in \\\"zip_code\\\" parameter</td>\n<td></td>\n</tr>\n<tr>\n<td>You are not Allowed for Live Transaction</td>\n<td></td>\n</tr>\n<tr>\n<td>Merchant Limit is not set</td>\n<td></td>\n</tr>\n<tr>\n<td>Minimum amount is not set for this merchant</td>\n<td></td>\n</tr>\n<tr>\n<td>Brand not found!</td>\n<td></td>\n</tr>\n<tr>\n<td>Your charges setting is incomplete .Plese Contact to Administrator.</td>\n<td></td>\n</tr>\n<tr>\n<td>Only <code>“{curr_name}\"</code> currency is allowed</td>\n<td></td>\n</tr>\n<tr>\n<td>Transaction amount must be equal or greater to minimum trans amount</td>\n<td></td>\n</tr>\n<tr>\n<td>Invalid_Parameter</td>\n<td>You'd usually get it when one or more mandatory parameters are not present in the request.</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["purchases"],"host":["https://app.thefundstream.org/api/v1"],"query":[],"variable":[]}},"response":[{"id":"fe895883-f709-4603-8afd-c04d5bd44ad2","name":"Purchase","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text","disabled":true}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n        \"email\": \"example@fundstream.net\",\r\n        \"country\":\"IN\",\r\n        \"city\":\"123\",\r\n        \"stateCode\":\"ca\",\r\n        \"street_address\":\"test test\",\r\n        \"zip_code\":\"234567\",\r\n        \"phone\":\"9999999999\"\r\n    },\r\n    \"purchase\": {\r\n        \"currency\": \"USD\",\r\n        \"products\": [\r\n            {\r\n                \"name\": \"product name\",\r\n                \"price\": \"10\"\r\n            }\r\n        ]\r\n    },\r\n    \"merchantRef\": \"d9db7ec0-f94c-4a9d-8883-54c19c222d81\",\r\n    \"status\": \"created\",\r\n    \"brand_id\": \"bd69e8a5-adcf-40de-9e43-2b87cb129a5e \",\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"failure_redirect\": \"https://your.failure.redirect.com\",\r\n    \"success_callback\": \"https://your.success.callback.com\",\r\n    \"failure_callback\": \"https://your.failure.callback.com\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://18.214.100.20/api/v1/purchases"},"status":"Accepted","code":202,"_postman_previewlanguage":"json","header":[{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"Cache-Control","value":"no-cache, no-store, max-age=0, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Expires","value":"0"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Thu, 13 Jul 2023 17:22:14 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"purchaseId\": \"64b032c3c6dccf7d329d9e7e\",\n    \"client\": {\n        \"bank_account\": \"\",\n        \"bank_code\": \"\",\n        \"email\": \"dev@fundstream.net\",\n        \"phone\": \"\",\n        \"full_name\": \"\",\n        \"date_of_birth\": \"\",\n        \"personal_code\": \"\",\n        \"street_address\": \"test test\",\n        \"country\": \"IN\",\n        \"city\": \"123\",\n        \"zip_code\": \"234567\",\n        \"shipping_street_address\": \"\",\n        \"shipping_country\": \"\",\n        \"shipping_city\": \"\",\n        \"shipping_zip_code\": \"\",\n        \"cc\": [],\n        \"bcc\": [],\n        \"legal_name\": \"\",\n        \"brand_name\": \"\",\n        \"registration_number\": \"\",\n        \"tax_number\": \"\",\n        \"stateCode\": \"ca\"\n    },\n    \"updated_on\": 1689268934,\n    \"type\": \"purchase\",\n    \"force_recurring\": false,\n    \"created_on\": 1689268934,\n    \"purchase\": {\n        \"currency\": \"USD\",\n        \"products\": [\n            {\n                \"name\": \"dk\",\n                \"quantity\": 1,\n                \"price\": 10,\n                \"discount\": 0,\n                \"tax_percent\": \"0.00\"\n            }\n        ],\n        \"total\": 10,\n        \"language\": \"en\",\n        \"notes\": \"\",\n        \"debt\": 0,\n        \"total_formatted\": 1,\n        \"request_client_details\": [],\n        \"timezone\": \"America/Edmonton\",\n        \"email_message\": \"\"\n    },\n    \"issuer_details\": {\n        \"website\": \"\",\n        \"legal_street_address\": \"\",\n        \"legal_country\": \"\",\n        \"legal_city\": \"\",\n        \"legal_zip_code\": \"\",\n        \"bank_accounts\": [\n            {\n                \"bank_account\": \"\",\n                \"bank_code\": \"\"\n            }\n        ],\n        \"legal_name\": \"shoes\",\n        \"brand_name\": \"shoes\",\n        \"registration_number\": \"\",\n        \"tax_number\": \"\"\n    },\n    \"transaction_data\": {\n        \"payment_method\": \"\",\n        \"flow\": \"payform\",\n        \"extra\": {},\n        \"country\": \"\",\n        \"attempts\": []\n    },\n    \"status\": \"CREATED\",\n    \"status_history\": [\n        {\n            \"status\": \"created\",\n            \"timestamp\": 1689268934\n        }\n    ],\n    \"is_test\": false,\n    \"brand_id\": \"bd69e8a5-adcf-40de-9e43-2b87cb129a5e\",\n    \"is_recurring_token\": false,\n    \"reference_generated\": \"PS161\",\n    \"merchantRef\":\"d9db7ec0-f94c-4a9d-8883-54c19c222d81\",\n    \"issued\": \"2023-07-13\",\n    \"due\": 1689268934,\n    \"refund_upto\": 0,\n    \"cc_descriptor\": \"\",\n    \"refund_availability\": \"NONE\",\n    \"refundable_amount\": 0,\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"failure_redirect\": \"https://your.failure.redirect.com\",\n    \"cancel_redirect\": \"\",\n    \"success_callback\": \"\",\n    \"platform\": \"API\",\n    \"created_from_ip\": \"149.86.53.48\",\n    \"checkout_url\": \"http://18.214.100.20/payments/64b032c3c6dccf7d329d9e7e/\",\n    \"direct_post_url\": \"http://18.214.100.20/api/v1/p/64b032c3c6dccf7d329d9e7e/\"\n}"}],"_postman_id":"cb2bec6c-845e-48e1-94b5-e9df982b7735"},{"name":"S2S","id":"072bfd32-cb66-41fb-aa88-a915364429af","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"cardholder_name\": \"dk\",\r\n    \"card_number\": \"4111111111111111\",\r\n    \"expires\": \"10/23\",\r\n    \"cvc\": \"345\",\r\n    \"remember_card\": \"on\",\r\n    \"remote_ip\": \"157.38.242.7\",\r\n    \"user_agent\": \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36\",\r\n    \"accept_header\": \"text/html\",\r\n    \"language\": \"en-US\",\r\n    \"java_enabled\": false,\r\n    \"javascript_enabled\": true,\r\n    \"color_depth\": 24,\r\n    \"utc_offset\": 0,\r\n    \"screen_width\": 1920,\r\n    \"screen_height\": 1080\r\n}","options":{"raw":{"language":"json"}}},"url":"https://app.thefundstream.org/api/v1/p/64bff4fff63e36669499e9c8/?s2s=true","description":"<p>This API would be the 2nd in sequence to call if the call to <code>/purchases/</code> was successful in step 1. and you want to do the transaction via Server-to-Server mode.</p>\n<p>The request body would contain the details of the card that's to be transacted upon.</p>\n<h3 id=\"mandatory-parameters-in-request-body\"><strong>Mandatory parameters in request body:</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th><strong>Notes</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>cardholder_name</td>\n<td></td>\n</tr>\n<tr>\n<td>card_number</td>\n<td>The card numbers Must be 10-20 characters.</td>\n</tr>\n<tr>\n<td>expires</td>\n<td>must be greater than the current month/year.</td>\n</tr>\n<tr>\n<td>cvc</td>\n<td>3 or 4 digit</td>\n</tr>\n<tr>\n<td>remember_card</td>\n<td></td>\n</tr>\n<tr>\n<td>remote_ip</td>\n<td></td>\n</tr>\n<tr>\n<td>user_agent</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"successful-response\">Successful Response</h3>\n<p>If all the details are correct you'll get a 202 response with staus as Pending</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"status\": \"pending\",\n    \"callback_url\": \"https://fundstream.net/payment/63bd0bf80fb42a076e8a4dd1/\",\n    \"method\": \"GET\"\n}\n\n</code></pre>\n<p>If the response code is 202, after receiving the response body, direct the customer to the callback_url provided in the response.</p>\n<h3 id=\"errors\">Errors</h3>\n<p>If there are any errors then it'll be in the format of :</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"descriptive error message\",\n    \"code\": \"error_code\"\n}\n\n</code></pre>\n<p>Please see the Status Code section for further details.</p>\n<h3 id=\"v\">v</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Error Messages</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Client Ip could not be matched with Merchant Ip</td>\n</tr>\n<tr>\n<td>Invalid Card Information</td>\n</tr>\n<tr>\n<td>Card is Blocked</td>\n</tr>\n<tr>\n<td>Different Type of key used to create purchase and payment</td>\n</tr>\n<tr>\n<td>You charges setting is incomplete .Plese Contact to adminstrartor.</td>\n</tr>\n<tr>\n<td>Allowed Attempt for this Transaction has been consumed</td>\n</tr>\n<tr>\n<td>Invalid Card Expiry(Valid Format:MM/YY) must be greator than current month/year</td>\n</tr>\n<tr>\n<td>Customer profile is Blocked</td>\n</tr>\n<tr>\n<td>Customer/Card not allowed for transaction</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"3da39501-048e-4967-afcd-eec0ffa5523a","id":"3da39501-048e-4967-afcd-eec0ffa5523a","name":"💳 Card Payments","type":"folder"}},"urlObject":{"path":["p","64bff4fff63e36669499e9c8",""],"host":["https://app.thefundstream.org/api/v1"],"query":[{"key":"s2s","value":"true"}],"variable":[]}},"response":[{"id":"a532227d-52c3-4a63-8333-38b693da6cc6","name":"S2S","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n  \"cardholder_name\": \"dk\",\r\n  \"card_number\": \"4111111111111111\",\r\n  \"expires\": \"10/23\",\r\n  \"cvc\": \"345\",\r\n  \"remember_card\": \"on\",\r\n  \"remote_ip\": \"157.38.242.7\",\r\n  \"user_agent\": \"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36\",\r\n  \"accept_header\": \"text/html\",\r\n  \"language\": \"en-US\",\r\n  \"java_enabled\": false,\r\n    \"javascript_enabled\": true,\r\n   \"color_depth\": 24,\r\n    \"utc_offset\": 0,\r\n   \"screen_width\": 1920,\r\n    \"screen_height\": 1080\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":{"raw":"https://api.fundstream.net/api/v1/p/64b034ecc6dccf7d329d9eb3/?s2s=true","protocol":"https","host":["api","fundstream","net"],"path":["api","v1","p","64b034ecc6dccf7d329d9eb3",""],"query":[{"key":"s2s","value":"true"}]}},"status":"Accepted","code":202,"_postman_previewlanguage":"json","header":[{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"Cache-Control","value":"no-cache, no-store, max-age=0, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Expires","value":"0"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Thu, 13 Jul 2023 17:31:55 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"status\": \"pending\",\n    \"callback_url\": \"http://18.214.100.20/api/v1/payment/64b034ecc6dccf7d329d9eb3/\",\n    \"method\": \"GET\"\n}"}],"_postman_id":"072bfd32-cb66-41fb-aa88-a915364429af"},{"name":"Payment (To be initiated From client browser)","id":"813ab238-aedf-418e-b5ca-01c3e9c02649","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"{{Production}}/payment/64bff12bf63e36669499e97d/","description":"<p>This is the callback URL that is in the response object ofthe Server-to-Server Call</p>\n<p>When this URL is called from the end user's browser, the user would be redirected to the <code>success_redirect</code> or <code>failure_redirect</code> URL given by the merchant at the time of create purchase</p>\n<p>When this URL is called from the end user's browser, if card is 3DS enrolled, the user user will be redirect to a verification screen or challenge by the issuing bank and upon successful user verification, the user would be redictected to the success URL given in <code>/purchases API</code> .</p>\n<p>If for some reason the transactions is unsuccessful, the user will be redirect to failure URL given in <code>/purchases API</code> API .</p>\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"3da39501-048e-4967-afcd-eec0ffa5523a","id":"3da39501-048e-4967-afcd-eec0ffa5523a","name":"💳 Card Payments","type":"folder"}},"urlObject":{"path":["payment","64bff12bf63e36669499e97d",""],"host":["{{Production}}"],"query":[],"variable":[]}},"response":[{"id":"62b359a7-b1aa-446c-bc83-1b96a1da9aba","name":"Payment-error","originalRequest":{"method":"GET","header":[],"url":"https://api.fundstream.net/api/v1/payment/64bfd7c9f63e36669499e779/"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"Cache-Control","value":"no-cache, no-store, max-age=0, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Expires","value":"0"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Tue, 25 Jul 2023 14:12:18 GMT"},{"key":"Connection","value":"close"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Only purchases that can be paid for can be initiated for payment.\",\n    \"code\": \"transaction_error\"\n}"}],"_postman_id":"813ab238-aedf-418e-b5ca-01c3e9c02649"},{"name":"Purchases","id":"45cebe90-e8c2-4a32-aff6-961fde6ea2dc","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"url":"https://app.thefundstream.org/api/v1/purchases/64bff12bf63e36669499e97d/","description":"<p>This API tells you about all the details of a purchase, including its history</p>\n<h3 id=\"mandatory\">Mandatory</h3>\n<p>you need to pass the <code>PurchaseID</code> in the API URL</p>\n<h3 id=\"possible-value-of-status\">Possible Value of Status</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Status</strong></th>\n<th><strong>Notes</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>created</td>\n<td>When Purchase order is created.</td>\n</tr>\n<tr>\n<td>paid</td>\n<td>Transaction Successful</td>\n</tr>\n<tr>\n<td>payment_in_process</td>\n<td>Payment is under Processing</td>\n</tr>\n<tr>\n<td>chargeback</td>\n<td>Payment is chargeback state</td>\n</tr>\n<tr>\n<td>refund_in_process</td>\n<td>Refund is under Processing.</td>\n</tr>\n<tr>\n<td>expired</td>\n<td>Purchase has Expired.</td>\n</tr>\n<tr>\n<td>overdue</td>\n<td>Purchase is Overdued.</td>\n</tr>\n<tr>\n<td>cancelled</td>\n<td>Purchase is cancelled.</td>\n</tr>\n<tr>\n<td>error</td>\n<td>Transaction has Failed.</td>\n</tr>\n<tr>\n<td>refunded</td>\n<td>Payment is refunded</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"response-examples\">Response Examples</h3>\n<p>In the response examples you can see instances of both <code>Paid</code> and <code>Error</code> Status purchases.</p>\n<h3 id=\"error-details\">Error Details</h3>\n<p>If there are any issues on the Purchase you can get more details from the <code>transaction_data.attempts.error</code> attribute of the response object</p>\n<h3 id=\"errors\">Errors</h3>\n<p>If there are any errors then it'll be in the format of :</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"descriptive error message\",\n    \"code\": \"error_code\"\n}\n\n</code></pre>\n<p>Please see the Status Code section for further details.</p>\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"3da39501-048e-4967-afcd-eec0ffa5523a","id":"3da39501-048e-4967-afcd-eec0ffa5523a","name":"💳 Card Payments","type":"folder"}},"urlObject":{"path":["purchases","64bff12bf63e36669499e97d",""],"host":["https://app.thefundstream.org/api/v1"],"query":[],"variable":[]}},"response":[{"id":"02cef6dc-9a47-4181-8e16-b84da919edb8","name":"Purchases-error","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"url":"http://18.214.100.20/api/v1/purchases/64bfd7c9f63e36669499e779/"},"status":"Accepted","code":202,"_postman_previewlanguage":"json","header":[{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"Cache-Control","value":"no-cache, no-store, max-age=0, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Expires","value":"0"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Tue, 25 Jul 2023 15:44:06 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"purchaseId\": \"64bfd7c9f63e36669499e779\",\n    \"client\": {\n        \"bank_account\": \"\",\n        \"bank_code\": \"\",\n        \"email\": \"example@fundstream.net\",\n        \"phone\": \"\",\n        \"full_name\": \"\",\n        \"date_of_birth\": \"\",\n        \"personal_code\": \"\",\n        \"street_address\": \"test test\",\n        \"country\": \"IN\",\n        \"city\": \"123\",\n        \"zip_code\": \"234567\",\n        \"shipping_street_address\": \"\",\n        \"shipping_country\": \"\",\n        \"shipping_city\": \"\",\n        \"shipping_zip_code\": \"\",\n        \"cc\": [],\n        \"bcc\": [],\n        \"legal_name\": \"\",\n        \"brand_name\": \"\",\n        \"registration_number\": \"\",\n        \"tax_number\": \"\",\n        \"stateCode\": \"ca\"\n    },\n    \"updated_on\": 1690294251,\n    \"type\": \"purchase\",\n    \"force_recurring\": false,\n    \"created_on\": 1690294220,\n    \"purchase\": {\n        \"currency\": \"USD\",\n        \"products\": [\n            {\n                \"name\": \"dk\",\n                \"quantity\": 1,\n                \"price\": 100,\n                \"discount\": 0,\n                \"tax_percent\": \"0.00\"\n            }\n        ],\n        \"total\": 100,\n        \"language\": \"en\",\n        \"notes\": \"\",\n        \"debt\": 0,\n        \"total_formatted\": 1,\n        \"request_client_details\": [],\n        \"timezone\": \"America/Edmonton\",\n        \"email_message\": \"\"\n    },\n    \"issuer_details\": {\n        \"website\": \"\",\n        \"legal_street_address\": \"\",\n        \"legal_country\": \"\",\n        \"legal_city\": \"\",\n        \"legal_zip_code\": \"\",\n        \"bank_accounts\": [\n            {\n                \"bank_account\": \"\",\n                \"bank_code\": \"\"\n            }\n        ],\n        \"legal_name\": \"shoes\",\n        \"brand_name\": \"shoes\",\n        \"registration_number\": \"\",\n        \"tax_number\": \"\"\n    },\n    \"transaction_data\": {\n        \"payment_method\": \"\",\n        \"flow\": \"payform\",\n        \"extra\": {\n            \"expiry_month\": \"10\",\n            \"amount\": 100,\n            \"card_issuer\": \"1-800-432-3117\",\n            \"masked_pan\": \"411111XXXXXX1111\",\n            \"card_brand\": \"VISA\",\n            \"card_issuer_country\": \"US\",\n            \"cardholder_name\": \"dk\",\n            \"expiry_year\": \"23\"\n        },\n        \"country\": \"\",\n        \"attempts\": [\n            {\n                \"client_ip\": \"149.86.53.48\",\n                \"type\": \"execute\",\n                \"payment_method\": \"VISA\",\n                \"flow\": \"payform\",\n                \"successful\": false,\n                \"country\": \"US\",\n                \"processing_time\": 1690294279,\n                \"extra\": {\n                    \"expiry_month\": \"10\",\n                    \"amount\": 100,\n                    \"card_issuer\": \"1-800-432-3117\",\n                    \"masked_pan\": \"411111XXXXXX1111\",\n                    \"card_brand\": \"VISA\",\n                    \"card_issuer_country\": \"US\",\n                    \"cardholder_name\": \"dk\",\n                    \"expiry_year\": \"23\"\n                },\n                \"error\": {\n                    \"message\": \"Transaction Failed\",\n                    \"code\": \"transaction_error\"\n                }\n            }\n        ]\n    },\n    \"status\": \"ERROR\",\n    \"status_history\": [\n        {\n            \"status\": \"created\",\n            \"timestamp\": 1690294220\n        },\n        {\n            \"status\": \"pending_execute\",\n            \"timestamp\": 1690294251\n        },\n        {\n            \"status\": \"error\",\n            \"timestamp\": 1690294299\n        },\n        {\n            \"status\": \"viewed\",\n            \"timestamp\": 1690294382\n        }\n    ],\n    \"viewedOn\": 1690299845,\n    \"is_test\": false,\n    \"brand_id\": \"bd69e8a5-adcf-40de-9e43-2b87cb129a5e\",\n    \"send_receipt\": false,\n    \"is_recurring_token\": false,\n    \"skip_capture\": false,\n    \"reference_generated\": \"PS188\",\n    \"issued\": \"2023-07-25\",\n    \"due\": 1690294220,\n    \"refund_upto\": 0,\n    \"cc_descriptor\": \"\",\n    \"refund_availability\": \"NONE\",\n    \"refundable_amount\": 0,\n    \"success_redirect\": \"https://google.com\",\n    \"failure_redirect\": \"https://yahoo.com\",\n    \"cancel_redirect\": \"\",\n    \"success_callback\": \"\",\n    \"platform\": \"API\",\n    \"created_from_ip\": \"149.86.53.48\",\n    \"checkout_url\": \"http://18.214.100.20/payments/64bfd7c9f63e36669499e779/\",\n    \"direct_post_url\": \"http://18.214.100.20/api/v1/p/64bfd7c9f63e36669499e779/\"\n}"},{"id":"dc359003-1601-4bdb-bca2-97d48c7e7b86","name":"Purchases - success","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"url":"http://18.214.100.20/api/v1/purchases/64bfdb7df63e36669499e82f/"},"status":"Accepted","code":202,"_postman_previewlanguage":"json","header":[{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"Cache-Control","value":"no-cache, no-store, max-age=0, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Expires","value":"0"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Tue, 25 Jul 2023 15:45:29 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"purchaseId\": \"64bfdb7df63e36669499e82f\",\n    \"client\": {\n        \"bank_account\": \"\",\n        \"bank_code\": \"\",\n        \"email\": \"example@fundstream.net\",\n        \"phone\": \"\",\n        \"full_name\": \"\",\n        \"date_of_birth\": \"\",\n        \"personal_code\": \"\",\n        \"street_address\": \"test test\",\n        \"country\": \"IN\",\n        \"city\": \"123\",\n        \"zip_code\": \"234567\",\n        \"shipping_street_address\": \"\",\n        \"shipping_country\": \"\",\n        \"shipping_city\": \"\",\n        \"shipping_zip_code\": \"\",\n        \"cc\": [],\n        \"bcc\": [],\n        \"legal_name\": \"\",\n        \"brand_name\": \"\",\n        \"registration_number\": \"\",\n        \"tax_number\": \"\",\n        \"stateCode\": \"ca\"\n    },\n    \"updated_on\": 1690296521,\n    \"type\": \"purchase\",\n    \"force_recurring\": false,\n    \"created_on\": 1690295168,\n    \"purchase\": {\n        \"currency\": \"USD\",\n        \"products\": [\n            {\n                \"name\": \"dk\",\n                \"quantity\": 1,\n                \"price\": 9,\n                \"discount\": 0,\n                \"tax_percent\": \"0.00\"\n            }\n        ],\n        \"total\": 9,\n        \"language\": \"en\",\n        \"notes\": \"\",\n        \"debt\": 0,\n        \"total_formatted\": 1,\n        \"request_client_details\": [],\n        \"timezone\": \"America/Edmonton\",\n        \"email_message\": \"\"\n    },\n    \"payment\": {\n        \"is_outgoing\": false,\n        \"payment_type\": \"PURCHASE\",\n        \"amount\": 9,\n        \"currency\": \"USD\",\n        \"net_amount\": 9,\n        \"fee_amount\": 10.2591,\n        \"pending_amount\": 0,\n        \"pending_unfreeze_on\": null,\n        \"description\": \"\",\n        \"paid_on\": 1690295205,\n        \"remote_paid_on\": 1690295205\n    },\n    \"issuer_details\": {\n        \"website\": \"\",\n        \"legal_street_address\": \"\",\n        \"legal_country\": \"\",\n        \"legal_city\": \"\",\n        \"legal_zip_code\": \"\",\n        \"bank_accounts\": [\n            {\n                \"bank_account\": \"\",\n                \"bank_code\": \"\"\n            }\n        ],\n        \"legal_name\": \"shoes\",\n        \"brand_name\": \"shoes\",\n        \"registration_number\": \"\",\n        \"tax_number\": \"\"\n    },\n    \"transaction_data\": {\n        \"payment_method\": \"\",\n        \"flow\": \"payform\",\n        \"extra\": {\n            \"expiry_month\": \"10\",\n            \"amount\": 9,\n            \"card_issuer\": \"1-800-432-3117\",\n            \"masked_pan\": \"411111XXXXXX1111\",\n            \"card_brand\": \"VISA\",\n            \"card_issuer_country\": \"US\",\n            \"cardholder_name\": \"dk\",\n            \"expiry_year\": \"23\"\n        },\n        \"country\": \"\",\n        \"attempts\": [\n            {\n                \"client_ip\": \"149.86.53.48\",\n                \"type\": \"execute\",\n                \"payment_method\": \"VISA\",\n                \"flow\": \"payform\",\n                \"successful\": true,\n                \"country\": \"US\",\n                \"processing_time\": 1690295205,\n                \"extra\": {\n                    \"expiry_month\": \"10\",\n                    \"amount\": 9,\n                    \"card_issuer\": \"1-800-432-3117\",\n                    \"masked_pan\": \"411111XXXXXX1111\",\n                    \"card_brand\": \"VISA\",\n                    \"card_issuer_country\": \"US\",\n                    \"cardholder_name\": \"dk\",\n                    \"expiry_year\": \"23\"\n                }\n            }\n        ]\n    },\n    \"status\": \"PAID\",\n    \"status_history\": [\n        {\n            \"status\": \"created\",\n            \"timestamp\": 1690295168\n        },\n        {\n            \"status\": \"pending_execute\",\n            \"timestamp\": 1690295193\n        },\n        {\n            \"status\": \"payment_in_process\",\n            \"timestamp\": 1690295205\n        },\n        {\n            \"status\": \"paid\",\n            \"timestamp\": 1690296521\n        },\n        {\n            \"status\": \"viewed\",\n            \"timestamp\": 1690299929\n        }\n    ],\n    \"viewedOn\": 1690299929,\n    \"is_test\": false,\n    \"brand_id\": \"bd69e8a5-adcf-40de-9e43-2b87cb129a5e\",\n    \"merchantRef\":\"d9db7ec0-f94c-4a9d-8883-54c19c222d81\",\n    \"send_receipt\": false,\n    \"is_recurring_token\": false,\n    \"skip_capture\": false,\n    \"reference_generated\": \"PS192\",\n    \"issued\": \"2023-07-25\",\n    \"due\": 1690295168,\n    \"refund_upto\": 1705843623,\n    \"cc_descriptor\": \"test-cardeye\",\n    \"refund_availability\": \"NONE\",\n    \"refundable_amount\": 9,\n    \"success_redirect\": \"https://google.com\",\n    \"failure_redirect\": \"https://yahoo.com\",\n    \"cancel_redirect\": \"\",\n    \"success_callback\": \"\",\n    \"platform\": \"API\",\n    \"created_from_ip\": \"149.86.53.48\",\n    \"checkout_url\": \"http://18.214.100.20/payments/64bfdb7df63e36669499e82f/\",\n    \"direct_post_url\": \"http://18.214.100.20/api/v1/p/64bfdb7df63e36669499e82f/\"\n}"}],"_postman_id":"45cebe90-e8c2-4a32-aff6-961fde6ea2dc"},{"name":"cancel","id":"f8201ce7-bd93-458c-9c93-2948b71ee191","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"url":"https://app.thefundstream.org/api/v1/purchases/64bff556f63e36669499e9d3/cancel","description":"<p>As the name implies this API is used to cancel purchases that have been posted</p>\n<ul>\n<li>either after creating a purchase or</li>\n<li>after doing the server-to-server call, but <strong>before</strong> redirecting the user to the callbackURL.</li>\n</ul>\n<p>Purchase ID is <strong>mandatory</strong> for this API.</p>\n<h3 id=\"response-examples\">Response Examples</h3>\n<p>In the response examples you can see instances of cancelling a purchase that has <code>Paid</code> and <code>Error</code> Status.</p>\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"3da39501-048e-4967-afcd-eec0ffa5523a","id":"3da39501-048e-4967-afcd-eec0ffa5523a","name":"💳 Card Payments","type":"folder"}},"urlObject":{"path":["purchases","64bff556f63e36669499e9d3","cancel"],"host":["https://app.thefundstream.org/api/v1"],"query":[],"variable":[]}},"response":[{"id":"15ee8d0f-153c-48c8-be5d-96634dfd48f0","name":"cancel-Error","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"url":"http://18.214.100.20/api/v1/purchases/64b034ecc6dccf7d329d9eb3/cancel"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"Cache-Control","value":"no-cache, no-store, max-age=0, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Expires","value":"0"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Thu, 13 Jul 2023 17:45:30 GMT"},{"key":"Connection","value":"close"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Only purchases that can be paid for can be canceled.\",\n    \"code\": \"transaction_error\"\n}"},{"id":"d7278a98-6e6e-418c-88ca-ad99f71e2fd5","name":"cancel - Success","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"url":"http://18.214.100.20/api/v1/purchases/64bff4fff63e36669499e9c8/cancel"},"status":"Accepted","code":202,"_postman_previewlanguage":"json","header":[{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"Cache-Control","value":"no-cache, no-store, max-age=0, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Expires","value":"0"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Tue, 25 Jul 2023 16:15:35 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"purchaseId\": \"64bff4fff63e36669499e9c8\",\n    \"client\": {\n        \"bank_account\": \"\",\n        \"bank_code\": \"\",\n        \"email\": \"example@fundstream.net\",\n        \"phone\": \"\",\n        \"full_name\": \"\",\n        \"date_of_birth\": \"\",\n        \"personal_code\": \"\",\n        \"street_address\": \"test test\",\n        \"country\": \"IN\",\n        \"city\": \"123\",\n        \"zip_code\": \"234567\",\n        \"shipping_street_address\": \"\",\n        \"shipping_country\": \"\",\n        \"shipping_city\": \"\",\n        \"shipping_zip_code\": \"\",\n        \"cc\": [],\n        \"bcc\": [],\n        \"legal_name\": \"\",\n        \"brand_name\": \"\",\n        \"registration_number\": \"\",\n        \"tax_number\": \"\",\n        \"stateCode\": \"ca\"\n    },\n    \"updated_on\": 1690301735,\n    \"type\": \"purchase\",\n    \"force_recurring\": false,\n    \"created_on\": 1690301698,\n    \"purchase\": {\n        \"currency\": \"USD\",\n        \"products\": [\n            {\n                \"name\": \"dk\",\n                \"quantity\": 1,\n                \"price\": 9,\n                \"discount\": 0,\n                \"tax_percent\": \"0.00\"\n            }\n        ],\n        \"total\": 9,\n        \"language\": \"en\",\n        \"notes\": \"\",\n        \"debt\": 0,\n        \"total_formatted\": 1,\n        \"request_client_details\": [],\n        \"timezone\": \"America/Edmonton\",\n        \"email_message\": \"\"\n    },\n    \"issuer_details\": {\n        \"website\": \"\",\n        \"legal_street_address\": \"\",\n        \"legal_country\": \"\",\n        \"legal_city\": \"\",\n        \"legal_zip_code\": \"\",\n        \"bank_accounts\": [\n            {\n                \"bank_account\": \"\",\n                \"bank_code\": \"\"\n            }\n        ],\n        \"legal_name\": \"shoes\",\n        \"brand_name\": \"shoes\",\n        \"registration_number\": \"\",\n        \"tax_number\": \"\"\n    },\n    \"transaction_data\": {\n        \"payment_method\": \"\",\n        \"flow\": \"payform\",\n        \"extra\": {},\n        \"country\": \"\",\n        \"attempts\": []\n    },\n    \"status\": \"CANCELLED\",\n    \"status_history\": [\n        {\n            \"status\": \"created\",\n            \"timestamp\": 1690301698\n        },\n        {\n            \"status\": \"pending_execute\",\n            \"timestamp\": 1690301723\n        },\n        {\n            \"status\": \"cancelled\",\n            \"timestamp\": 1690301735\n        }\n    ],\n    \"is_test\": false,\n    \"brand_id\": \"bd69e8a5-adcf-40de-9e43-2b87cb129a5e\",\n    \"send_receipt\": false,\n    \"is_recurring_token\": false,\n    \"skip_capture\": false,\n    \"reference_generated\": \"PS194\",\n    \"issued\": \"2023-07-25\",\n    \"due\": 1690301698,\n    \"refund_upto\": 0,\n    \"cc_descriptor\": \"\",\n    \"refund_availability\": \"NONE\",\n    \"refundable_amount\": 0,\n    \"success_redirect\": \"https://google.com\",\n    \"failure_redirect\": \"https://yahoo.com\",\n    \"cancel_redirect\": \"\",\n    \"success_callback\": \"\",\n    \"platform\": \"API\",\n    \"created_from_ip\": \"149.86.53.48\",\n    \"checkout_url\": \"http://18.214.100.20/payments/64bff4fff63e36669499e9c8/\",\n    \"direct_post_url\": \"http://18.214.100.20/api/v1/p/64bff4fff63e36669499e9c8/\"\n}"}],"_postman_id":"f8201ce7-bd93-458c-9c93-2948b71ee191"},{"name":"Refund","id":"d2ecde36-96c2-4e29-9b0d-bd0793368753","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"<token>"}]},"isInherited":false},"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"url":"https://app.thefundstream.org/api/v1/purchases/657af976c3fceb7beb30eeb4/refund","description":"<p>This API is used to initate refund of the purchases that have status as <code>PAID</code> can be initiated for refund</p>\n<p>Once the refund has been initiated, the status of the purchase would become <code>REFUND_IN_PROCESS</code> and once the refund has been approved by the bank, the status woud become <code>REFUNDED</code></p>\n<p>Purchase ID is <strong>mandatory</strong> for this API.</p>\n<h3 id=\"response-examples\">Response Examples</h3>\n<p>In the response examples you can see instances of both <code>successful</code> and <code>unsuccessful</code> in refund of purchases.</p>\n","urlObject":{"path":["purchases","657af976c3fceb7beb30eeb4","refund"],"host":["https://app.thefundstream.org/api/v1"],"query":[],"variable":[]}},"response":[{"id":"b14a342e-b217-4977-b05e-5e365d1ff5aa","name":"Refund - Error","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"url":"https://api.fundstream.net/api/v1/purchases/64b034ecc6dccf7d329d9eb3/refund"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"Cache-Control","value":"no-cache, no-store, max-age=0, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Expires","value":"0"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Thu, 13 Jul 2023 17:49:58 GMT"},{"key":"Connection","value":"close"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Only Purchases with `status == (paid)` can be refunded.\",\n    \"code\": \"transaction_error\"\n}"},{"id":"998950f1-2924-4dca-9969-980dbea449dc","name":"Refund - Success","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"url":"https://app.thefundstream.org/api/v1/purchases/64bfdb7df63e36669499e82f/refund"},"status":"Accepted","code":202,"_postman_previewlanguage":"json","header":[{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"Cache-Control","value":"no-cache, no-store, max-age=0, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Expires","value":"0"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Tue, 25 Jul 2023 16:33:43 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"purchaseId\": \"64bfdb7df63e36669499e82f\",\n    \"client\": {\n        \"bank_account\": \"\",\n        \"bank_code\": \"\",\n        \"email\": \"example@fundstream.net\",\n        \"phone\": \"\",\n        \"full_name\": \"\",\n        \"date_of_birth\": \"\",\n        \"personal_code\": \"\",\n        \"street_address\": \"test test\",\n        \"country\": \"IN\",\n        \"city\": \"123\",\n        \"zip_code\": \"234567\",\n        \"shipping_street_address\": \"\",\n        \"shipping_country\": \"\",\n        \"shipping_city\": \"\",\n        \"shipping_zip_code\": \"\",\n        \"cc\": [],\n        \"bcc\": [],\n        \"legal_name\": \"\",\n        \"brand_name\": \"\",\n        \"registration_number\": \"\",\n        \"tax_number\": \"\",\n        \"stateCode\": \"ca\"\n    },\n    \"updated_on\": 1690302819,\n    \"type\": \"purchase\",\n    \"force_recurring\": false,\n    \"created_on\": 1690295168,\n    \"purchase\": {\n        \"currency\": \"USD\",\n        \"products\": [\n            {\n                \"name\": \"dk\",\n                \"quantity\": 1,\n                \"price\": 9,\n                \"discount\": 0,\n                \"tax_percent\": \"0.00\"\n            }\n        ],\n        \"total\": 9,\n        \"language\": \"en\",\n        \"notes\": \"\",\n        \"debt\": 0,\n        \"total_formatted\": 1,\n        \"request_client_details\": [],\n        \"timezone\": \"America/Edmonton\",\n        \"email_message\": \"\"\n    },\n    \"payment\": {\n        \"is_outgoing\": false,\n        \"payment_type\": \"PURCHASE\",\n        \"amount\": 9,\n        \"currency\": \"USD\",\n        \"net_amount\": 9,\n        \"fee_amount\": 10.2591,\n        \"pending_amount\": 0,\n        \"pending_unfreeze_on\": null,\n        \"description\": \"\",\n        \"paid_on\": 1690295205,\n        \"remote_paid_on\": 1690295205\n    },\n    \"issuer_details\": {\n        \"website\": \"\",\n        \"legal_street_address\": \"\",\n        \"legal_country\": \"\",\n        \"legal_city\": \"\",\n        \"legal_zip_code\": \"\",\n        \"bank_accounts\": [\n            {\n                \"bank_account\": \"\",\n                \"bank_code\": \"\"\n            }\n        ],\n        \"legal_name\": \"shoes\",\n        \"brand_name\": \"shoes\",\n        \"registration_number\": \"\",\n        \"tax_number\": \"\"\n    },\n    \"transaction_data\": {\n        \"payment_method\": \"\",\n        \"flow\": \"payform\",\n        \"extra\": {\n            \"expiry_month\": \"10\",\n            \"amount\": 9,\n            \"card_issuer\": \"1-800-432-3117\",\n            \"masked_pan\": \"411111XXXXXX1111\",\n            \"card_brand\": \"VISA\",\n            \"card_issuer_country\": \"US\",\n            \"cardholder_name\": \"dk\",\n            \"expiry_year\": \"23\"\n        },\n        \"country\": \"\",\n        \"attempts\": [\n            {\n                \"client_ip\": \"149.86.53.48\",\n                \"type\": \"execute\",\n                \"payment_method\": \"VISA\",\n                \"flow\": \"payform\",\n                \"successful\": true,\n                \"country\": \"US\",\n                \"processing_time\": 1690295205,\n                \"extra\": {\n                    \"expiry_month\": \"10\",\n                    \"amount\": 9,\n                    \"card_issuer\": \"1-800-432-3117\",\n                    \"masked_pan\": \"411111XXXXXX1111\",\n                    \"card_brand\": \"VISA\",\n                    \"card_issuer_country\": \"US\",\n                    \"cardholder_name\": \"dk\",\n                    \"expiry_year\": \"23\"\n                }\n            },\n            {\n                \"client_ip\": \"149.86.53.48\",\n                \"type\": \"refund\",\n                \"successful\": true,\n                \"processing_time\": 1690302819,\n                \"extra\": {\n                    \"amount\": 9\n                }\n            }\n        ]\n    },\n    \"status\": \"REFUND_IN_PROCESS\",\n    \"status_history\": [\n        {\n            \"status\": \"created\",\n            \"timestamp\": 1690295168\n        },\n        {\n            \"status\": \"pending_execute\",\n            \"timestamp\": 1690295193\n        },\n        {\n            \"status\": \"payment_in_process\",\n            \"timestamp\": 1690295205\n        },\n        {\n            \"status\": \"paid\",\n            \"timestamp\": 1690296521\n        },\n        {\n            \"status\": \"viewed\",\n            \"timestamp\": 1690299929\n        },\n        {\n            \"status\": \"refund_in_process\",\n            \"timestamp\": 1690302819\n        }\n    ],\n    \"viewedOn\": 1690299929,\n    \"is_test\": false,\n    \"brand_id\": \"bd69e8a5-adcf-40de-9e43-2b87cb129a5e\",\n    \"send_receipt\": false,\n    \"is_recurring_token\": false,\n    \"skip_capture\": false,\n    \"reference_generated\": \"PS192\",\n    \"issued\": \"2023-07-25\",\n    \"due\": 1690295168,\n    \"refund_upto\": 1705843623,\n    \"cc_descriptor\": \"test-cardeye\",\n    \"refund_availability\": \"NONE\",\n    \"refundable_amount\": 0,\n    \"success_redirect\": \"https://google.com\",\n    \"failure_redirect\": \"https://yahoo.com\",\n    \"cancel_redirect\": \"\",\n    \"success_callback\": \"\",\n    \"platform\": \"API\",\n    \"created_from_ip\": \"149.86.53.48\",\n    \"checkout_url\": \"http://18.214.100.20/payments/64bfdb7df63e36669499e82f/\",\n    \"direct_post_url\": \"http://18.214.100.20/api/v1/p/64bfdb7df63e36669499e82f/\"\n}"}],"_postman_id":"d2ecde36-96c2-4e29-9b0d-bd0793368753"},{"name":"Payment Methods","id":"ffd88bb7-96fc-4d83-b2c0-dbbb1a74bb03","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"url":"https://app.thefundstream.org/api/v1/payment_methods","description":"<p>This API gives back the list of Payment methods available .</p>\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"3da39501-048e-4967-afcd-eec0ffa5523a","id":"3da39501-048e-4967-afcd-eec0ffa5523a","name":"💳 Card Payments","type":"folder"}},"urlObject":{"path":["payment_methods"],"host":["https://app.thefundstream.org/api/v1"],"query":[{"disabled":true,"key":"brand_id","value":"aff0471b-e37d-4e76-9dee-d235063bf276"},{"disabled":true,"key":"currency","value":""},{"disabled":true,"key":"country","value":"india"},{"disabled":true,"key":"","value":""}],"variable":[]}},"response":[{"id":"a89f44a5-0cc9-4a64-9f40-5745b0ad02af","name":"Payment Methods","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"url":{"raw":"https://api.fundstream.net/api/v1/payment_methods","protocol":"https","host":["api","fundstream","net"],"path":["api","v1","payment_methods"],"query":[{"key":"brand_id","value":"4067e336-b558-4f81-9c98-2ad56b017e3d","disabled":true},{"key":"","value":"","disabled":true}]}},"status":"Accepted","code":202,"_postman_previewlanguage":"json","header":[{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"Cache-Control","value":"no-cache, no-store, max-age=0, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Expires","value":"0"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Thu, 13 Jul 2023 17:50:33 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"available_payment_methods\": [\n        \"s2s\",\n        \"cybersource_hosted_checkout\",\n        \"mastercard\",\n        \"visa\"\n    ],\n    \"by_country\": {\n        \"any\": [\n            \"s2s\",\n            \"cybersource_hosted_checkout\",\n            \"mastercard\",\n            \"visa\"\n        ]\n    },\n    \"country_names\": {\n        \"any\": \"Other\"\n    },\n    \"names\": {\n        \"cybersource_hosted_checkout\": \"Cybersource Hosted Checkout\",\n        \"s2s\": \"Server To Server\",\n        \"visa\": \"Visa\",\n        \"mastercard\": \"Mastercard\"\n    },\n    \"card_methods\": [\n        \"cybersource_hosted_checkout\",\n        \"mastercard\",\n        \"visa\"\n    ]\n}"}],"_postman_id":"ffd88bb7-96fc-4d83-b2c0-dbbb1a74bb03"},{"name":"checkWhiteList","id":"266e1d59-99ab-4053-bb13-69e636471251","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"email\": \"dev@fundstream.net\",\r\n    \"card_num\": \"5178006985381351\"\r\n  //  \"signup_date\": \"16-05-2023\",  not requered\r\n  //  \"deposit_date\": \"16-05-2023\",\r\n   // \"number_of_deposits\": 6,\r\n   \r\n        \r\n}","options":{"raw":{"language":"json"}}},"url":"https://app.thefundstream.org/api/v1/checkWhiteList","description":"<h3 id=\"overview\">Overview</h3>\n<p>Fundstream supports the concept of whitelisted cards. The merchant can send Fundstream a list of cards that are to be whitelisted. Once whitelisted, only whitelisted cards are allowed to be transacted for that merchant.</p>\n<p>The merchant can check the individual card status with this API by giving the email and card numbers of the customers.</p>\n<h3 id=\"mandatory-parameters-in-body\">Mandatory Parameters (in body)</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Parameters</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>email</td>\n</tr>\n<tr>\n<td>card_num</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"other-parameters\">Other parameters:</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Parameters</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>signup_date</td>\n</tr>\n<tr>\n<td>deposit_date</td>\n</tr>\n<tr>\n<td>number_of_deposits</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"response-examples\">Response Examples</h3>\n<p>In the response examples, you can observe both instances of verifying whether a card exists in a merchant's whitelist, one for an existing card and another for a non-existing card.</p>\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"3da39501-048e-4967-afcd-eec0ffa5523a","id":"3da39501-048e-4967-afcd-eec0ffa5523a","name":"💳 Card Payments","type":"folder"}},"urlObject":{"path":["checkWhiteList"],"host":["https://app.thefundstream.org/api/v1"],"query":[],"variable":[]}},"response":[{"id":"8d3d9c65-f30d-49e9-b8c2-383f41883603","name":"checkWhiteList - Doesn't exists","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n      \"email\": \"dk6@dk.com\",\r\n  //  \"signup_date\": \"16-05-2023\",\r\n  //  \"deposit_date\": \"16-05-2023\",\r\n   // \"number_of_deposits\": 6,\r\n       \"card_num\": \"5555555555554444\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://18.214.100.20/api/v1/checkWhiteList"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"Cache-Control","value":"no-cache, no-store, max-age=0, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Expires","value":"0"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"23"},{"key":"Date","value":"Thu, 13 Jul 2023 17:56:25 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"NOTEXIST\"\n}"},{"id":"45d9aa63-93c0-4567-a587-723e88bf8e02","name":"checkWhiteList - Exists","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"email\": \"dev@fundstream.net\",\r\n    \"card_num\": \"5178006985381351\"\r\n  //  \"signup_date\": \"16-05-2023\",  not requered\r\n  //  \"deposit_date\": \"16-05-2023\",\r\n   // \"number_of_deposits\": 6,\r\n   \r\n        \r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.fundstream.net/api/v1/checkWhiteList"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Tue, 25 Jul 2023 13:19:38 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Content-Length","value":"20"},{"key":"Connection","value":"keep-alive"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"Cache-Control","value":"no-cache, no-store, max-age=0, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Expires","value":"0"},{"key":"X-Frame-Options","value":"DENY"},{"key":"X-Cache","value":"Miss from cloudfront"},{"key":"Via","value":"1.1 fe4c2207fc59dd7aa34d5b9c9e7bef06.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"LHR62-C4"},{"key":"X-Amz-Cf-Id","value":"jlhkO3uk9ZosIKb3n8d5UGa0s_yk0g6ZgyZwca4NrvzFfMpnXkSwnA=="},{"key":"CF-Cache-Status","value":"DYNAMIC"},{"key":"Report-To","value":"{\"endpoints\":[{\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v3?s=19ICPHCEH52J%2B2gKwR6R65hkypRr9yFP63OeSZ7qaZZOzI7pQC0g67Hgv9iDno43u0razeIYgP0%2FJL8kYiAUCElFZeVnd94rYn%2BYqHXKtJDt5yItEDTYHOmHjNCc2Qbs7fyu5w%3D%3D\"}],\"group\":\"cf-nel\",\"max_age\":604800}"},{"key":"NEL","value":"{\"success_fraction\":0,\"report_to\":\"cf-nel\",\"max_age\":604800}"},{"key":"Server","value":"cloudflare"},{"key":"CF-RAY","value":"7ec4b216b9a606f1-LHR"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"EXIST\"\n}"}],"_postman_id":"266e1d59-99ab-4053-bb13-69e636471251"},{"name":"Whitelist Upload","id":"9d63bf6b-db13-4852-8721-edaa44bb940b","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"formdata","formdata":[{"key":"csvFile","type":"file","value":null}]},"url":"https://api.fundstream.net/api/v1/whitelist/upload/","description":"<h3 id=\"overview\">Overview</h3>\n<p>The merchant can upload a list of whitelist cards and email ids through this API. All cards successfully uploaded will be considered whitelisted and allowed for that merchant.</p>\n<h3 id=\"mandatory-parameters-in-the-request-body\">Mandatory parameters in the request body:</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Notes</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>csvFile</td>\n<td>Upload a CSV file</td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Please note:</strong></p>\n<ol>\n<li><p>CSV file should contain the following headers (both mandatory)</p>\n<ol>\n<li><p>card_number</p>\n</li>\n<li><p>email_id</p>\n</li>\n</ol>\n</li>\n<li><p>CSV file should not be empty</p>\n</li>\n</ol>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-java\">public class FileUploader {\n    public static void uploadFile(String apiUrl, String filePath, String authorizationHeader) {\n        try {\n            File file = new File(filePath);\n            OkHttpClient client = new OkHttpClient();\n            RequestBody requestBody = new MultipartBody.Builder().setType(MultipartBody.FORM)\n                    .addFormDataPart(\"csvFile\", file.getName(), RequestBody.create(MediaType.parse(\"text/csv\"), file))\n                    .build();\n            Request request = new Request.Builder().url(apiUrl).post(requestBody)\n                    .addHeader(\"Authorization\", authorizationHeader).build();\n            Response response = client.newCall(request).execute();\n            if (response.code() == 202) {\n                System.out.println(\"File uploaded successfully!\");\n                System.out.println(\"Response: \" + response.body().string());\n            } else {\n                System.out.println(\"File upload failed.\");\n                System.out.println(\"Status: \" + response.code());\n                System.out.println(\"Error: \" + response.body().string());\n            }\n        } catch (IOException e) {\n            e.printStackTrace();\n        }\n    }\n    public static void main(String[] args) {\n        String apiUrl = \"https://{{base_url}}/api/v1/whitelist/upload\";\n        String filePath = \"whitelist.csv.file.path\";\n        String authorizationHeader = \"Bearer YOUR API KEY\";\n        uploadFile(apiUrl, filePath, authorizationHeader);\n    }\n}\n\n</code></pre>\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"3da39501-048e-4967-afcd-eec0ffa5523a","id":"3da39501-048e-4967-afcd-eec0ffa5523a","name":"💳 Card Payments","type":"folder"}},"urlObject":{"protocol":"https","path":["api","v1","whitelist","upload",""],"host":["api","fundstream","net"],"query":[],"variable":[]}},"response":[{"id":"5695900d-8fdb-4b77-bcdc-d32c922ee9ce","name":"Whitelist Upload success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"multipart/form-data; boundary=<calculated when request is sent>","disabled":true}],"body":{"mode":"formdata","formdata":[{"key":"csvFile","type":"file","src":[]}]},"url":"https://api.fundstream.net/api/v1/whitelist/upload/"},"status":"Accepted","code":202,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 14 Jun 2024 09:10:47 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"Cache-Control","value":"no-cache, no-store, max-age=0, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Expires","value":"0"},{"key":"Strict-Transport-Security","value":"max-age=31536000 ; includeSubDomains"},{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"Referrer-Policy","value":"no-referrer"},{"key":"CF-Cache-Status","value":"DYNAMIC"},{"key":"Report-To","value":"{\"endpoints\":[{\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=bIgUFhs3TU2505qZe4IpSLiaJtI2gsplNDvsVWdKl76AWQdcisezEHOW6t%2BxTCj%2Bxs%2B23gnSeMCWrqwG0CYQONFHXhXb9ZHNtIYMuHWzvjLhVEChIX%2BYpODoLqzs9OP4r5q%2F9ABSXBs%3D\"}],\"group\":\"cf-nel\",\"max_age\":604800}"},{"key":"NEL","value":"{\"success_fraction\":0,\"report_to\":\"cf-nel\",\"max_age\":604800}"},{"key":"Server","value":"cloudflare"},{"key":"CF-RAY","value":"893930730b8b0c3f-MRS"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"totalRecords\": 3,\n    \"totalApproved\": 3,\n    \"status\": \"success\"\n}"},{"id":"8c070811-66a5-4cd1-b698-1d04a11aefd3","name":"Whitelist Upload failure","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"multipart/form-data; boundary=<calculated when request is sent>","disabled":true}],"body":{"mode":"formdata","formdata":[{"key":"csvFile","type":"file","src":[]}]},"url":"https://api.fundstream.net/api/v1/whitelist/upload/"},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Fri, 14 Jun 2024 09:11:50 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"Cache-Control","value":"no-cache, no-store, max-age=0, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Expires","value":"0"},{"key":"Strict-Transport-Security","value":"max-age=31536000 ; includeSubDomains"},{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"Referrer-Policy","value":"no-referrer"},{"key":"CF-Cache-Status","value":"DYNAMIC"},{"key":"Report-To","value":"{\"endpoints\":[{\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v4?s=9tel4sXa6ymyhRDTyNC%2B%2Bg2Msz1MivhgHbawlLF7JvTAgfonvRaas8MQeMtVVK95cziZLoZUKaThXJOAAeZW6iZ6fqlK5flpZjGxKwInEyKzZJr9JLDSQbNt5Um%2BK4zdbMZfkHV2seg%3D\"}],\"group\":\"cf-nel\",\"max_age\":604800}"},{"key":"NEL","value":"{\"success_fraction\":0,\"report_to\":\"cf-nel\",\"max_age\":604800}"},{"key":"Server","value":"cloudflare"},{"key":"CF-RAY","value":"893931f998280c3f-MRS"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Authorization header missing\",\n    \"code\": \"authentication_failed\",\n    \"status\": \"fail\"\n}"}],"_postman_id":"9d63bf6b-db13-4852-8721-edaa44bb940b"}],"id":"d4cd1772-ebec-413e-8fa7-b369b6bf85f2","_postman_id":"d4cd1772-ebec-413e-8fa7-b369b6bf85f2","description":"","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"3da39501-048e-4967-afcd-eec0ffa5523a","id":"3da39501-048e-4967-afcd-eec0ffa5523a","name":"💳 Card Payments","type":"folder"}}}],"id":"3da39501-048e-4967-afcd-eec0ffa5523a","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"exec":[""],"id":"59433e05-0ee7-47c0-b53c-b7a283fa6e4d"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"exec":[""],"id":"7ef8ecb4-ab0a-48be-91fb-1e2e695ebbd8"}}],"_postman_id":"3da39501-048e-4967-afcd-eec0ffa5523a","description":""},{"name":"🌐 Open Banking","item":[{"name":"Concepts","item":[],"id":"a9b1be0a-3eb3-48f5-b25f-3aa877664742","description":"<p><strong>Step 1:</strong></p>\n<p>Create a purchase using <code>POST /purchase/</code> API to create a <code>Purchase</code> in the system. make sure to meet all the required criteria, which include defining success_redirect and failure_redirect fields for the Purchase and setting them to valid URLs</p>\n<p><strong>Step 2:</strong></p>\n<p>The customer is redirected to the checkout_url page, configured to point to their net banking system.</p>\n<p><strong>Step 3:</strong></p>\n<p>Once the payment is initiated from the net banking site, the user will be redirected to the appropriate redirect URL.</p>\n","_postman_id":"a9b1be0a-3eb3-48f5-b25f-3aa877664742","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"bf3570e5-b815-4af8-947a-8544aa41d3c2","id":"bf3570e5-b815-4af8-947a-8544aa41d3c2","name":"🌐 Open Banking","type":"folder"}}},{"name":"Transaction Status and their meaning","item":[],"id":"7a4a02d3-89ef-43dd-aa56-51816e48d64f","description":"<p>The lifecycle of a transaction is reflected through the status of the transaction.</p>\n<p>This section details various statuses of a transaction and what it means and when does it appears.</p>\n<p>The status of a transaction can be read from the <code>\"status\"</code> field of the responses or webhook payload.</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>Description</strong></th>\n<th><strong>When it Appears</strong></th>\n<th><strong>Is it Final?</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>CREATED</td>\n<td>Purchase is created in the system.</td>\n<td>When Purchase API is called, the transaction is created as \"CREATED\".</td>\n<td>N</td>\n</tr>\n<tr>\n<td>CANCELLED</td>\n<td>Purchase is cancelled in the system. Only transactions in \"CREATED\" status can be cancelled.</td>\n<td>When Cancel API is called.</td>\n<td>Y</td>\n</tr>\n<tr>\n<td>OVERDUE</td>\n<td>Purchase hasn't been completed yet. Only transactions in \"CREATED\" status can become \"OVERDUE\" if checkout_url hasn't been called in 2 hours.</td>\n<td>checkout_url hasn't been called within 2 hours since transaction creation.</td>\n<td>N</td>\n</tr>\n<tr>\n<td>EXPIRED</td>\n<td>Purchase hasn't been completed. Only transactions in \"PAYMENT IN PROCESS\" status can become \"EXPIRED\". After payment in process, no data is provided.</td>\n<td>Purchase either hasn't been completed or has failed within the specific time period.</td>\n<td>N</td>\n</tr>\n<tr>\n<td>PAID</td>\n<td>Purchase has been completed successfully. Only transactions in \"PAYMENT_IN_PROCESS\" status can become \"PAID\".</td>\n<td>When a successful response is received from the bank.</td>\n<td>Y</td>\n</tr>\n<tr>\n<td>PAYMENT IN PROCESS</td>\n<td>The purchase hasn't been completed. Only transactions in \"CREATED\" status can become \"PAYMENT IN PROCESS\".</td>\n<td>When the user's action is pending. Transaction can stay in this status for 24 hours since creation.</td>\n<td>N</td>\n</tr>\n<tr>\n<td>ERROR</td>\n<td>Only transactions in \"PAYMENT IN PROCESS\" status can become \"ERROR\".</td>\n<td>Refers to the Errors list for possible errors.</td>\n<td>Y</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","exec":[""],"id":"756eeb06-a8d4-4528-b9f4-93cd3361d73c"}},{"listen":"test","script":{"type":"text/javascript","exec":[""],"id":"44e77d53-d735-4599-a877-8d35b01fd47d"}}],"_postman_id":"7a4a02d3-89ef-43dd-aa56-51816e48d64f"},{"name":"Secure EFT - South Africa 🇿🇦","item":[],"id":"49eca2bf-1992-4d57-b6fd-9b5441970826","description":"<h3 id=\"overview\">Overview</h3>\n<p>EFT (Electronic Funds Transfer) is a secure and efficient method of processing online payments in South Africa. It allows customers to make instant payments directly from their bank accounts without using a credit card. EFT leverages the existing online banking infrastructure to facilitate quick and secure transactions, making it a popular choice for consumers and merchants.</p>\n<h3 id=\"key-features-of-eft\">Key Features of EFT</h3>\n<ul>\n<li><p><strong>Instant Payment Confirmation</strong>: Transactions are processed and confirmed immediately, allowing for real-time payment updates.</p>\n</li>\n<li><p><strong>Secure Transactions</strong>: Uses bank-level security measures to ensure the safety of customer data.</p>\n</li>\n<li><p><strong>Broad Bank Support</strong>: It supports many South African banks, ensuring broad accessibility.</p>\n</li>\n<li><p><strong>User-Friendly</strong>: The payment process is simple and intuitive, providing a seamless experience for users.</p>\n</li>\n</ul>\n<h3 id=\"payment-processing-steps-through-eft\">Payment Processing Steps Through EFT</h3>\n<p><strong>Step 1: Initiating the Payment</strong></p>\n<ol>\n<li><p><strong>Customer Selects 'Net Bankin' Payment Option</strong>: At the checkout page, the customer selects 'Net Banking' as their preferred payment method.</p>\n</li>\n<li><p><strong>Merchant Redirects to EFT Gateway</strong>: The merchant's website or application redirects the customer to the EFT payment gateway.</p>\n</li>\n</ol>\n<p><strong>Step 2: Redirect to Bank Login</strong></p>\n<ol>\n<li><p><strong>Customer Selects Their Bank</strong>: The customer selects their bank from the list of supported banks on the EFT gateway.</p>\n</li>\n<li><p><strong>Customer is Redirected to Bank Login Page</strong>: Platform securely redirects customers to their bank’s online banking login page.</p>\n</li>\n</ol>\n<p><strong>Step 3: Logging into Online Banking</strong></p>\n<ol>\n<li><p><strong>Customer Logs In</strong> The customer logs into their online banking account using their credentials.</p>\n</li>\n<li><p><strong>Secure Session</strong>: The login session is safe, and the customer’s banking credentials are not shared with the EFT gateway or the merchant.</p>\n</li>\n</ol>\n<p><strong>Step 4: Confirming the Payment</strong></p>\n<ol>\n<li><p><strong>Payment Details</strong>: The customer reviews the pre-filled payment details, including the amount and beneficiary information.</p>\n</li>\n<li><p><strong>Authorise Payment</strong>: The customer authorises the payment using their bank’s authentication method (e.g., OTP, password).</p>\n</li>\n</ol>\n<p><strong>Step 5: Payment Processing and Confirmation</strong></p>\n<ol>\n<li><p><strong>Bank Processes Payment</strong>: The customer’s bank processes the payment and debits the amount from the customer’s account.</p>\n</li>\n<li><p><strong>Instant Confirmation to the EFT gateway</strong>: Once the payment is processed, the bank sends an instant confirmation to the EFT gateway.</p>\n</li>\n</ol>\n<p><strong>Step 6: Notification to Merchant</strong></p>\n<ol>\n<li><p><strong>EFT Gateway Confirms Payment to Merchant</strong>: EFT gateway immediately notifies the merchant of the successful payment.</p>\n</li>\n<li><p><strong>Order Completion</strong>: The merchant completes and confirms the order to the customer.</p>\n</li>\n</ol>\n<p><strong>Step 7: Customer Redirect</strong></p>\n<ol>\n<li><p><strong>Redirect to Merchant’s Site</strong>: After confirming the payment, the customer is redirected back to the merchant’s website.</p>\n</li>\n<li><p><strong>Payment Confirmation Page</strong>: The merchant’s website displays a payment confirmation page to the customer.</p>\n</li>\n</ol>\n","_postman_id":"49eca2bf-1992-4d57-b6fd-9b5441970826","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"bf3570e5-b815-4af8-947a-8544aa41d3c2","id":"bf3570e5-b815-4af8-947a-8544aa41d3c2","name":"🌐 Open Banking","type":"folder"}}},{"name":"OpenBanking - EUR 🇪🇺 & UK 🇬🇧","item":[],"id":"55984bc7-0e21-4471-b31d-dbf4d5363aa2","description":"<p>Fundstream leverages its OpenBanking network across Europe and UK to make secure and fast payments, making top choice for customers in respective regions. It allows customers to pay in EUR or GBP via Fundstream Gateway, directly thru their bank account</p>\n<p>Fundstream Gateway is a web page that handles all the user interaction during a payment initiation process:</p>\n<ul>\n<li><p>user credentials input</p>\n</li>\n<li><p>interactive confirmation</p>\n</li>\n<li><p>progress reporting</p>\n</li>\n<li><p>error reporting</p>\n</li>\n</ul>\n<p>After your application has received an URL for executing a payment using Fundstream, you can redirect your end-user to it. There, they will see a screen that lets them pick a provider to execute a payment.</p>\n<p>Your user will also be asked to input credentials and, if needed, any of the interactive credentials. After the process is done, the user will be redirected back to your application URL</p>\n<h3 id=\"payin-user-flow\"><strong>PayIn User Flow</strong></h3>\n<p><strong>Step 1: Initiating the Payment</strong></p>\n<ul>\n<li><p><strong>Customer Selects 'Net Bankin' Payment Option</strong>: At the checkout page, the customer selects 'Net Banking' as their preferred payment method.</p>\n</li>\n<li><p><strong>Merchant Redirects to SaltEdge Gateway</strong>: The merchant's website or application redirects the customer to the SaltEdge Connect.</p>\n</li>\n</ul>\n<p><strong>Step 2: Redirect to Bank Login</strong></p>\n<ul>\n<li><p><strong>Customer Selects Their Bank</strong>: The customer selects the provider/bank from the list of supported providers/banks on the Fundstream Gateway</p>\n</li>\n<li><p><strong>Customer is Redirected to Bank Login Page</strong>: Platform securely redirects customers to their bank’s online banking login page.</p>\n</li>\n</ul>\n<p><strong>Step 3: Logging into Online Banking</strong></p>\n<ul>\n<li><p><strong>Customer Logs In</strong> The customer logs into their online banking account using their credentials.</p>\n</li>\n<li><p><strong>Secure Session</strong>: The login session is safe, and the customer’s banking credentials are not shared with the SaltEdge or the merchant.</p>\n</li>\n</ul>\n<p><strong>Step 4: Confirming the Payment</strong></p>\n<ul>\n<li><p><strong>Payment Details</strong>: The customer reviews the pre-filled payment details, including the amount and beneficiary information.</p>\n</li>\n<li><p><strong>Authorise Payment</strong>: The customer authorises the payment using their bank’s authentication method (e.g., OTP, password).</p>\n</li>\n</ul>\n<p><strong>Step 5: Payment Processing and Confirmation</strong></p>\n<ul>\n<li><p><strong>Bank Processes Payment</strong>: The customer’s bank processes the payment and debits the amount from the customer’s account.</p>\n</li>\n<li><p><strong>Instant Confirmation to the Fundstream gateway</strong>: Once the payment is processed, payment confirmation is received through a webhook url</p>\n</li>\n</ul>\n<p><strong>Step 6: Notification to Merchant</strong></p>\n<ul>\n<li><p><strong>Confirms Payment to Merchant</strong>: Fundstream gateway immediately notifies the merchant of the successful payment.</p>\n</li>\n<li><p><strong>Order Completion</strong>: The merchant completes and confirms the order to the customer.</p>\n</li>\n</ul>\n<p><strong>Step 7: Customer Redirect</strong></p>\n<ul>\n<li><p><strong>Redirect to Merchant’s Site</strong>: After confirming the payment, the customer is redirected back to the merchant’s website.</p>\n</li>\n<li><p><strong>Payment Confirmation Page</strong>: The merchant’s website displays a payment confirmation page to the customer.</p>\n</li>\n</ul>\n","_postman_id":"55984bc7-0e21-4471-b31d-dbf4d5363aa2","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"bf3570e5-b815-4af8-947a-8544aa41d3c2","id":"bf3570e5-b815-4af8-947a-8544aa41d3c2","name":"🌐 Open Banking","type":"folder"}}},{"name":"APIs","item":[{"name":"Purchase","id":"48ade11d-dcc0-4557-8e46-e3cabfe2cb93","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"auth":{"type":"bearer","bearer":{"basicConfig":[]},"isInherited":false},"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n        \"email\": \"example@fundstream.net\",\r\n        \"country\":\"IN\",\r\n        \"city\":\"123\",\r\n        \"stateCode\":\"ca\",\r\n        \"street_address\":\"test test\",\r\n        \"zip_code\":\"234567\",\r\n        \"phone\":\"9999999999\"\r\n        \r\n    },\r\n    \"purchase\": {\r\n         \"currency\" : \"EUR\",\r\n        \"products\": [\r\n            {\r\n                \"name\": \"dk\",\r\n                \"price\": \"10\"\r\n            }\r\n        ]\r\n    },\r\n    \"paymentMethod\": \"THIRDPARTY-NETBANKING\",\r\n    \"brand_id\": \"{{Your.brandID}}\",\r\n    \"merchantRef\": \"d9db7ec0-f94c-4a9d-8883-54c19c222d81\",\r\n    \"send_receipt\": \"\" ,\r\n    \"skip_capture\": \"\" ,\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"failure_redirect\": \"https://your.failure.redirect.com\",\r\n    \"success_callback\": \"https://your.success.callback.com\",\r\n   \"failure_callback\": \"https://your.failure.callback.com\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://app.thefundstream.org/api/v1/purchases","description":"<p>To Initiate a payment, the very first call to make is <code>/purchases</code> with the required data in the request body.</p>\n<p>To generate a Purchase, you are required to provide the <code>Brand ID</code> (in the request body) and <code>API key</code> (in the header) Both can be located in the Dashboard section of your merchant account login.</p>\n<p>The request body structure is shown on the request body of the example request shown here.</p>\n<p>The following (see table below) are the mandatory parameters that are required to create a purchase request.</p>\n<h3 id=\"mandatory-parameters-in-the-request-body\"><strong>Mandatory parameters in the request body:</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Parameter</strong></th>\n<th><strong>Notes</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>client.email</td>\n<td></td>\n</tr>\n<tr>\n<td>client.city</td>\n<td></td>\n</tr>\n<tr>\n<td>client.country</td>\n<td>ISO-3166 Country Code. Must be upper case. Example “SG” (Alpha2)</td>\n</tr>\n<tr>\n<td>client.stateCode</td>\n<td>Example “AL”, “XZ”.. Must be in upper case.</td>\n</tr>\n<tr>\n<td>Client.street_address</td>\n<td></td>\n</tr>\n<tr>\n<td>client.zip_code</td>\n<td></td>\n</tr>\n<tr>\n<td>purchase.currency</td>\n<td>ISO 4217 code for currency you want to send the transaction in.  <br />Please note, the currency has to be enbaled by the account manager for your account.</td>\n</tr>\n<tr>\n<td>purchase.products.name</td>\n<td></td>\n</tr>\n<tr>\n<td>purchase.products.price</td>\n<td>Price in decimal format.  <br />example 1:  <br />EUR 5 , should be sent as 5.00  <br />  <br />example 2:  <br />USD 10 and 37 cents , should be sent as 10.37</td>\n</tr>\n<tr>\n<td>brand_id</td>\n<td>Obtain from Dashboard section of your merchant account login.</td>\n</tr>\n<tr>\n<td>success_redirect</td>\n<td>URL to send the user if the transactions is successful</td>\n</tr>\n<tr>\n<td>failure_redirect</td>\n<td>URL to send the user if the transactions is UNSUCCESSFUL</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"essential-optional-parameters\">Essential Optional Parameters</h2>\n<h3 id=\"merchantref\">merchantRef</h3>\n<p>The <code>merchantRef</code> parameter, although not mandatory, is strongly advised for merchants to specify. Its inclusion offers two significant advantages for the merchant:</p>\n<ol>\n<li><p><strong>Prevention of Duplicate Requests:</strong> When a <code>merchantRef</code> is utilized, it acts as a unique identifier. This means that if a second purchase request is made using the same <code>merchantRef</code> (reference number), the system will recognize it and prevent duplicate transactions from occurring. This prevents unintended or duplicate purchases.</p>\n</li>\n<li><p><strong>Facilitation of Transaction Retrieval:</strong> In situations where the response from the initial purchase request times out or the 'purchaseId' isn't received, having the <code>merchantRef</code> allows the merchant to retrieve detailed transaction information. This ensures they can track and access the specific purchase details related to that reference, even if the immediate response was not received.</p>\n</li>\n</ol>\n<p>However, if the merchant does not specify the 'merchantRef' parameter, the platform will automatically assign and use an internal 'purchaseId' as a reference for that transaction.</p>\n<p>Upon successul create on a Purchase you'd get a <code>\"purchaseId\"</code> .</p>\n<h3 id=\"paymentmethod\">paymentMethod</h3>\n<p>The <code>paymentMethod</code> parameter identifies which payment solution merchant wants to use to perform a transaction. If parameter is provided, than Fundstreamwill perform direct payment with the selected payment method instead of loading Fundstream URL.</p>\n<p>Errors</p>\n<p>If there are any errors then it'll be in the format of :</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"descriptive error message\",\n    \"code\": \"error_code\"\n}\n\n</code></pre>\n<h3 id=\"possible-error-messages\">Possible Error Messages</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Error Messages</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Allowed Limit for this card for particular time period has been consumed</td>\n<td></td>\n</tr>\n<tr>\n<td>some Mandatory Parameter are missing</td>\n<td></td>\n</tr>\n<tr>\n<td>Invalid format of Date_of_Birth[allowed format: yyyy-mm-dd]</td>\n<td></td>\n</tr>\n<tr>\n<td>Invalid Email Format</td>\n<td></td>\n</tr>\n<tr>\n<td>Please submit Valid Alpha2 Country Code Ex:(AF,IN) in \\\"country\\\" parameter</td>\n<td></td>\n</tr>\n<tr>\n<td>Please pass Valid State Code</td>\n<td></td>\n</tr>\n<tr>\n<td>Please pass valid street address in \\\"street_address\\\" parameter</td>\n<td></td>\n</tr>\n<tr>\n<td>Please pass valid city name in \\\"city\\\" parameter</td>\n<td></td>\n</tr>\n<tr>\n<td>Please pass valid postal Code name in \\\"zip_code\\\" parameter</td>\n<td></td>\n</tr>\n<tr>\n<td>You are not Allowed for Live Transaction</td>\n<td></td>\n</tr>\n<tr>\n<td>Merchant Limit is not set</td>\n<td></td>\n</tr>\n<tr>\n<td>Minimum amount is not set for this merchant</td>\n<td></td>\n</tr>\n<tr>\n<td>Brand not found!</td>\n<td></td>\n</tr>\n<tr>\n<td>Your charges setting is incomplete .Plese Contact to Administrator.</td>\n<td></td>\n</tr>\n<tr>\n<td>Only <code>“{curr_name}\"</code> currency is allowed</td>\n<td></td>\n</tr>\n<tr>\n<td>Transaction amount must be equal or greater to minimum trans amount</td>\n<td></td>\n</tr>\n<tr>\n<td>Invalid_Parameter</td>\n<td>You'd usually get it when one or more mandatory parameters are not present in the request.</td>\n</tr>\n</tbody>\n</table>\n</div>","urlObject":{"path":["purchases"],"host":["https://app.thefundstream.org/api/v1"],"query":[],"variable":[]}},"response":[{"id":"a93f809e-cdae-45f1-b583-8ad7c6f13d5e","name":"Purchase (Openbanking EU & UK)","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","disabled":true}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n        \"email\": \"example@fundstream.net\",\r\n        \"country\":\"IN\",\r\n        \"city\":\"123\",\r\n        \"stateCode\":\"ca\",\r\n        \"street_address\":\"test test\",\r\n        \"zip_code\":\"234567\",\r\n        \"phone\":\"9999999999\"\r\n        \r\n    },\r\n    \"purchase\": {\r\n         \"currency\" : \"EUR\",\r\n        \"products\": [\r\n            {\r\n                \"name\": \"dk\",\r\n                \"price\": \"10\"\r\n            }\r\n        ]\r\n    },\r\n    \"paymentMethod\": \"THIRDPARTY-NETBANKING\",\r\n    \"brand_id\": \"{{Your.brandID}}\",\r\n    \"merchantRef\": \"d9db7ec0-f94c-4a9d-8883-54c19c222d81\",\r\n    \"send_receipt\": \"\" ,\r\n    \"skip_capture\": \"\" ,\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"failure_redirect\": \"https://your.failure.redirect.com\",\r\n    \"success_callback\": \"https://your.success.callback.com\",\r\n   \"failure_callback\": \"https://your.failure.callback.com\"\r\n}","options":{"raw":{"language":"json"}}},"url":"http://18.214.100.20/api/v1/purchases"},"status":"Accepted","code":202,"_postman_previewlanguage":"json","header":[{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"Cache-Control","value":"no-cache, no-store, max-age=0, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Expires","value":"0"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Thu, 13 Jul 2023 17:22:14 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"purchaseId\": \"6634f0f1d0b7c63861485de8\",\n    \"client\": {\n        \"bank_account\": \"\",\n        \"bank_code\": \"\",\n        \"email\": \"test@gmail.com\",\n        \"phone\": \"+447755564318\",\n        \"full_name\": \"\",\n        \"date_of_birth\": \"1970-07-10\",\n        \"personal_code\": \"\",\n        \"street_address\": \"asdfsa\",\n        \"country\": \"GB\",\n        \"city\": \"a\",\n        \"zip_code\": \"W1S 3BE\",\n        \"shipping_street_address\": \"\",\n        \"shipping_country\": \"\",\n        \"shipping_city\": \"\",\n        \"shipping_zip_code\": \"\",\n        \"cc\": [],\n        \"bcc\": [],\n        \"legal_name\": \"\",\n        \"brand_name\": \"\",\n        \"registration_number\": \"\",\n        \"tax_number\": \"\",\n        \"documentId\": \"\",\n        \"documentType\": \"\",\n        \"bankAccountNumber\": \"\",\n        \"bankAccount\": \"\",\n        \"bankCode\": \"\",\n        \"description\": \"\",\n        \"stateCode\": \"QLD\"\n    },\n    \"updated_on\": 1714745585,\n    \"type\": \"purchase\",\n    \"paymentMethod\": \"THIRDPARTY-NETBANKING\",\n    \"amountUnit\": \"MAJOR\",\n    \"errorMsg\": \"\",\n    \"redirectType\": \"GET\",\n    \"force_recurring\": false,\n    \"created_on\": 1714745585,\n    \"merchantRef\": \"6634f0f1d0b7c63861485de8\",\n    \"merchantName\": \"merchant002\",\n    \"signature\": \"RShYJXst+wi8yPMAi/PSqV4JkJpTrXrl9yRYPUiagrSqBNMXEPndEQD6gnKQYq1syKW7B/s7XmRmnzWnB2QDCBHjtv/ZAg4o5lDmOIPDjVdIgHpZ8EMOvF/O/64D9JaLRViIrjSM/kPiAKbxWsoQtmKumfcly7hwL50iZNUovp3jnzoGtOTWLkbUTDk4xPH1OrAwVUeqkmYFgD9bkQZ/MgSB+p/0ahRskx6jjNlKlG1vujk1dWckgw35CwLJwThx/ZW52kpAp+3GwDaANic0vV3dJOhsqpW8+3G0tIiL4+8FBFAFb31jM6K7CpjuI1lwFZoa4+mQEw+/xLBMiDjPyQ==\",\n    \"purchase\": {\n        \"currency\": \"EUR\",\n        \"products\": [\n            {\n                \"name\": \"test\",\n                \"quantity\": 1.0,\n                \"price\": 18000.0,\n                \"discount\": 0,\n                \"tax_percent\": \"0.00\"\n            }\n        ],\n        \"total\": 18000.0,\n        \"language\": \"en\",\n        \"notes\": \"\",\n        \"debt\": 0,\n        \"total_formatted\": 1.0,\n        \"request_client_details\": [],\n        \"timezone\": \"MIT\",\n        \"email_message\": \"\"\n    },\n    \"issuer_details\": {\n        \"website\": \"\",\n        \"legal_street_address\": \"\",\n        \"legal_country\": \"\",\n        \"legal_city\": \"\",\n        \"legal_zip_code\": \"\",\n        \"bank_accounts\": [\n            {\n                \"bank_account\": \"\",\n                \"bank_code\": \"\"\n            }\n        ],\n        \"legal_name\": \"gdhnb\",\n        \"brand_name\": \"gdhnb\",\n        \"registration_number\": \"\",\n        \"tax_number\": \"\"\n    },\n    \"transaction_data\": {\n        \"payment_method\": \"\",\n        \"flow\": \"payform\",\n        \"extra\": {},\n        \"country\": \"\",\n        \"attempts\": []\n    },\n    \"status\": \"CREATED\",\n    \"status_history\": [\n        {\n            \"status\": \"created\",\n            \"timestamp\": 1714745585\n        }\n    ],\n    \"is_test\": false,\n    \"brand_id\": \"76fad4ea-2ba2-4511-8989-3bed04e7d5bb\",\n    \"send_receipt\": false,\n    \"is_recurring_token\": false,\n    \"skip_capture\": false,\n    \"reference_generated\": \"PS9049\",\n    \"issued\": \"2024-05-03\",\n    \"due\": 1714745585,\n    \"refund_upto\": 0,\n    \"cc_descriptor\": \"\",\n    \"fraudScore\": \"NA\",\n    \"trustScore\": \"NA\",\n    \"refund_availability\": \"NONE\",\n    \"refundable_amount\": 0.0,\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"failure_redirect\": \"https://your.failure.redirect.com\",\n    \"cancel_redirect\": \"\",\n    \"success_callback\": \"https://your.success.callback.com\",\n    \"failure_callback\": \"https://your.failure.callback.com\",\n    \"platform\": \"API\",\n    \"created_from_ip\": \"103.59.75.53\",\n    \"checkout_url\": \"https://app.thefundstream.org/payments/6634f0f1d0b7c63861485de8/\"\n}"},{"id":"b22f60a8-8703-4a9a-ac87-52b7cdba9318","name":"Purchase (SA)","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","disabled":true}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n        \"email\": \"example@fundstream.net\",\r\n        \"country\":\"IN\",\r\n        \"city\":\"123\",\r\n        \"stateCode\":\"ca\",\r\n        \"street_address\":\"test test\",\r\n        \"zip_code\":\"234567\",\r\n        \"phone\":\"9999999999\"\r\n        \r\n    },\r\n    \"purchase\": {\r\n         \"currency\" : \"ZAR\",\r\n        \"products\": [\r\n            {\r\n                \"name\": \"dk\",\r\n                \"price\": \"10\"\r\n            }\r\n        ]\r\n    },\r\n    \"paymentMethod\": \"THIRDPARTY-NETBANKING\",\r\n    \"brand_id\": \"{{Your.brandID}}\",\r\n    \"merchantRef\": \"d9db7ec0-f94c-4a9d-8883-54c19c222d81\",\r\n    \"send_receipt\": \"\" ,\r\n    \"skip_capture\": \"\" ,\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"failure_redirect\": \"https://your.failure.redirect.com\",\r\n    \"success_callback\": \"https://your.success.callback.com\",\r\n   \"failure_callback\": \"https://your.failure.callback.com\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://app.thefundstream.org/api/v1/purchases"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"purchaseId\": \"6634f0f1d0b7c63861485de8\",\n    \"client\": {\n        \"bank_account\": \"\",\n        \"bank_code\": \"\",\n        \"email\": \"test@gmail.com\",\n        \"phone\": \"+447755564318\",\n        \"full_name\": \"\",\n        \"date_of_birth\": \"1970-07-10\",\n        \"personal_code\": \"\",\n        \"street_address\": \"asdfsa\",\n        \"country\": \"GB\",\n        \"city\": \"a\",\n        \"zip_code\": \"W1S 3BE\",\n        \"shipping_street_address\": \"\",\n        \"shipping_country\": \"\",\n        \"shipping_city\": \"\",\n        \"shipping_zip_code\": \"\",\n        \"cc\": [],\n        \"bcc\": [],\n        \"legal_name\": \"\",\n        \"brand_name\": \"\",\n        \"registration_number\": \"\",\n        \"tax_number\": \"\",\n        \"documentId\": \"\",\n        \"documentType\": \"\",\n        \"bankAccountNumber\": \"\",\n        \"bankAccount\": \"\",\n        \"bankCode\": \"\",\n        \"description\": \"\",\n        \"stateCode\": \"QLD\"\n    },\n    \"updated_on\": 1714745585,\n    \"type\": \"purchase\",\n    \"paymentMethod\": \"THIRDPARTY-NETBANKING\",\n    \"amountUnit\": \"MAJOR\",\n    \"errorMsg\": \"\",\n    \"redirectType\": \"GET\",\n    \"force_recurring\": false,\n    \"created_on\": 1714745585,\n    \"merchantRef\": \"6634f0f1d0b7c63861485de8\",\n    \"merchantName\": \"merchant002\",\n    \"signature\": \"RShYJXst+wi8yPMAi/PSqV4JkJpTrXrl9yRYPUiagrSqBNMXEPndEQD6gnKQYq1syKW7B/s7XmRmnzWnB2QDCBHjtv/ZAg4o5lDmOIPDjVdIgHpZ8EMOvF/O/64D9JaLRViIrjSM/kPiAKbxWsoQtmKumfcly7hwL50iZNUovp3jnzoGtOTWLkbUTDk4xPH1OrAwVUeqkmYFgD9bkQZ/MgSB+p/0ahRskx6jjNlKlG1vujk1dWckgw35CwLJwThx/ZW52kpAp+3GwDaANic0vV3dJOhsqpW8+3G0tIiL4+8FBFAFb31jM6K7CpjuI1lwFZoa4+mQEw+/xLBMiDjPyQ==\",\n    \"purchase\": {\n        \"currency\": \"ZAR\",\n        \"products\": [\n            {\n                \"name\": \"test\",\n                \"quantity\": 1.0,\n                \"price\": 18000.0,\n                \"discount\": 0,\n                \"tax_percent\": \"0.00\"\n            }\n        ],\n        \"total\": 18000.0,\n        \"language\": \"en\",\n        \"notes\": \"\",\n        \"debt\": 0,\n        \"total_formatted\": 1.0,\n        \"request_client_details\": [],\n        \"timezone\": \"MIT\",\n        \"email_message\": \"\"\n    },\n    \"issuer_details\": {\n        \"website\": \"\",\n        \"legal_street_address\": \"\",\n        \"legal_country\": \"\",\n        \"legal_city\": \"\",\n        \"legal_zip_code\": \"\",\n        \"bank_accounts\": [\n            {\n                \"bank_account\": \"\",\n                \"bank_code\": \"\"\n            }\n        ],\n        \"legal_name\": \"gdhnb\",\n        \"brand_name\": \"gdhnb\",\n        \"registration_number\": \"\",\n        \"tax_number\": \"\"\n    },\n    \"transaction_data\": {\n        \"payment_method\": \"\",\n        \"flow\": \"payform\",\n        \"extra\": {},\n        \"country\": \"\",\n        \"attempts\": []\n    },\n    \"status\": \"CREATED\",\n    \"status_history\": [\n        {\n            \"status\": \"created\",\n            \"timestamp\": 1714745585\n        }\n    ],\n    \"is_test\": false,\n    \"brand_id\": \"76fad4ea-2ba2-4511-8989-3bed04e7d5bb\",\n    \"send_receipt\": false,\n    \"is_recurring_token\": false,\n    \"skip_capture\": false,\n    \"reference_generated\": \"PS9049\",\n    \"issued\": \"2024-05-03\",\n    \"due\": 1714745585,\n    \"refund_upto\": 0,\n    \"cc_descriptor\": \"\",\n    \"fraudScore\": \"NA\",\n    \"trustScore\": \"NA\",\n    \"refund_availability\": \"NONE\",\n    \"refundable_amount\": 0.0,\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"failure_redirect\": \"https://your.failure.redirect.com\",\n    \"cancel_redirect\": \"\",\n    \"success_callback\": \"https://your.success.callback.com\",\n    \"failure_callback\": \"https://your.failure.callback.com\",\n    \"platform\": \"API\",\n    \"created_from_ip\": \"103.59.75.53\",\n    \"checkout_url\": \"https://app.thefundstream.org/payments/6634f0f1d0b7c63861485de8/\"\n}"}],"_postman_id":"48ade11d-dcc0-4557-8e46-e3cabfe2cb93"},{"name":"Payment (To be initiated From client browser)","id":"2528cd84-24a5-46a5-a482-39ebdee1be3a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"http://18.214.100.20/payments/64b032c3c6dccf7d329d9e7e/","description":"<p>This is the checkout_url that is in the response object of the Purchase.</p>\n<p>When this URL is called from the end user's browser, the user would be redirected to the <code>success_redirect</code> or <code>failure_redirect</code> URL given by the merchant at the time of create purchase</p>\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"bf3570e5-b815-4af8-947a-8544aa41d3c2","id":"bf3570e5-b815-4af8-947a-8544aa41d3c2","name":"🌐 Open Banking","type":"folder"}},"urlObject":{"protocol":"http","path":["payments","64b032c3c6dccf7d329d9e7e",""],"host":["18","214","100","20"],"query":[],"variable":[]}},"response":[{"id":"acc95f1e-d542-4623-86c6-4b87c84b6d35","name":"Payment-error","originalRequest":{"method":"GET","header":[],"url":"https://app.thefundstream.org/api/v1/payment/64bfd7c9f63e36669499e779/"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"Cache-Control","value":"no-cache, no-store, max-age=0, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Expires","value":"0"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Tue, 25 Jul 2023 14:12:18 GMT"},{"key":"Connection","value":"close"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Only purchases that can be paid for can be initiated for payment.\",\n    \"code\": \"transaction_error\"\n}"}],"_postman_id":"2528cd84-24a5-46a5-a482-39ebdee1be3a"},{"name":"Purchases","id":"c37dcd7a-0607-43e9-9a83-f1bccb1c90b8","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"url":"https://app.thefundstream.org/api/v1/purchases/64bff12bf63e36669499e97d/","description":"<p>This API tells you about all the details of a purchase, including its history</p>\n<h3 id=\"mandatory\">Mandatory</h3>\n<p>you need to pass the <code>PurchaseID</code> in the API URL</p>\n<h3 id=\"possible-value-of-status\">Possible Value of Status</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Status</strong></th>\n<th><strong>Notes</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>created</td>\n<td>When Purchase order is created.</td>\n</tr>\n<tr>\n<td>paid</td>\n<td>Transaction Successful</td>\n</tr>\n<tr>\n<td>payment_in_process</td>\n<td>Payment is under Processing</td>\n</tr>\n<tr>\n<td>chargeback</td>\n<td>Payment is chargeback state</td>\n</tr>\n<tr>\n<td>refund_in_process</td>\n<td>Refund is under Processing.</td>\n</tr>\n<tr>\n<td>expired</td>\n<td>Purchase has Expired.</td>\n</tr>\n<tr>\n<td>overdue</td>\n<td>Purchase is Overdued.</td>\n</tr>\n<tr>\n<td>cancelled</td>\n<td>Purchase is cancelled.</td>\n</tr>\n<tr>\n<td>error</td>\n<td>Transaction has Failed.</td>\n</tr>\n<tr>\n<td>refunded</td>\n<td>Payment is refunded</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"response-examples\">Response Examples</h3>\n<p>In the response examples you can see instances of both <code>Paid</code> and <code>Error</code> Status purchases.</p>\n<h3 id=\"error-details\">Error Details</h3>\n<p>If there are any issues on the Purchase you can get more details from the <code>transaction_data.attempts.error</code> attribute of the response object</p>\n<h3 id=\"errors\">Errors</h3>\n<p>If there are any errors then it'll be in the format of :</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"descriptive error message\",\n    \"code\": \"error_code\"\n}\n\n</code></pre>\n<p>Please see the Status Code section for further details.</p>\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"bf3570e5-b815-4af8-947a-8544aa41d3c2","id":"bf3570e5-b815-4af8-947a-8544aa41d3c2","name":"🌐 Open Banking","type":"folder"}},"urlObject":{"path":["purchases","64bff12bf63e36669499e97d",""],"host":["https://app.thefundstream.org/api/v1"],"query":[],"variable":[]}},"response":[{"id":"6947e1e9-30b0-4ab4-b711-a417c170e4fe","name":"Purchases-error","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"url":"http://18.214.100.20/api/v1/purchases/64bfd7c9f63e36669499e779/"},"status":"Accepted","code":202,"_postman_previewlanguage":"json","header":[{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"Cache-Control","value":"no-cache, no-store, max-age=0, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Expires","value":"0"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Tue, 25 Jul 2023 15:44:06 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"purchaseId\": \"64bfd7c9f63e36669499e779\",\n    \"client\": {\n        \"bank_account\": \"\",\n        \"bank_code\": \"\",\n        \"email\": \"example@fundstream.net\",\n        \"phone\": \"\",\n        \"full_name\": \"\",\n        \"date_of_birth\": \"\",\n        \"personal_code\": \"\",\n        \"street_address\": \"test test\",\n        \"country\": \"IN\",\n        \"city\": \"123\",\n        \"zip_code\": \"234567\",\n        \"shipping_street_address\": \"\",\n        \"shipping_country\": \"\",\n        \"shipping_city\": \"\",\n        \"shipping_zip_code\": \"\",\n        \"cc\": [],\n        \"bcc\": [],\n        \"legal_name\": \"\",\n        \"brand_name\": \"\",\n        \"registration_number\": \"\",\n        \"tax_number\": \"\",\n        \"stateCode\": \"ca\"\n    },\n    \"updated_on\": 1690294251,\n    \"type\": \"purchase\",\n    \"force_recurring\": false,\n    \"created_on\": 1690294220,\n    \"purchase\": {\n        \"currency\": \"USD\",\n        \"products\": [\n            {\n                \"name\": \"dk\",\n                \"quantity\": 1,\n                \"price\": 100,\n                \"discount\": 0,\n                \"tax_percent\": \"0.00\"\n            }\n        ],\n        \"total\": 100,\n        \"language\": \"en\",\n        \"notes\": \"\",\n        \"debt\": 0,\n        \"total_formatted\": 1,\n        \"request_client_details\": [],\n        \"timezone\": \"America/Edmonton\",\n        \"email_message\": \"\"\n    },\n    \"issuer_details\": {\n        \"website\": \"\",\n        \"legal_street_address\": \"\",\n        \"legal_country\": \"\",\n        \"legal_city\": \"\",\n        \"legal_zip_code\": \"\",\n        \"bank_accounts\": [\n            {\n                \"bank_account\": \"\",\n                \"bank_code\": \"\"\n            }\n        ],\n        \"legal_name\": \"shoes\",\n        \"brand_name\": \"shoes\",\n        \"registration_number\": \"\",\n        \"tax_number\": \"\"\n    },\n    \"transaction_data\": {\n        \"payment_method\": \"\",\n        \"flow\": \"payform\",\n        \"extra\": {\n            \"expiry_month\": \"10\",\n            \"amount\": 100,\n            \"card_issuer\": \"1-800-432-3117\",\n            \"masked_pan\": \"411111XXXXXX1111\",\n            \"card_brand\": \"VISA\",\n            \"card_issuer_country\": \"US\",\n            \"cardholder_name\": \"dk\",\n            \"expiry_year\": \"23\"\n        },\n        \"country\": \"\",\n        \"attempts\": [\n            {\n                \"client_ip\": \"149.86.53.48\",\n                \"type\": \"execute\",\n                \"payment_method\": \"VISA\",\n                \"flow\": \"payform\",\n                \"successful\": false,\n                \"country\": \"US\",\n                \"processing_time\": 1690294279,\n                \"extra\": {\n                    \"expiry_month\": \"10\",\n                    \"amount\": 100,\n                    \"card_issuer\": \"1-800-432-3117\",\n                    \"masked_pan\": \"411111XXXXXX1111\",\n                    \"card_brand\": \"VISA\",\n                    \"card_issuer_country\": \"US\",\n                    \"cardholder_name\": \"dk\",\n                    \"expiry_year\": \"23\"\n                },\n                \"error\": {\n                    \"message\": \"Transaction Failed\",\n                    \"code\": \"transaction_error\"\n                }\n            }\n        ]\n    },\n    \"status\": \"ERROR\",\n    \"status_history\": [\n        {\n            \"status\": \"created\",\n            \"timestamp\": 1690294220\n        },\n        {\n            \"status\": \"pending_execute\",\n            \"timestamp\": 1690294251\n        },\n        {\n            \"status\": \"error\",\n            \"timestamp\": 1690294299\n        },\n        {\n            \"status\": \"viewed\",\n            \"timestamp\": 1690294382\n        }\n    ],\n    \"viewedOn\": 1690299845,\n    \"is_test\": false,\n    \"brand_id\": \"bd69e8a5-adcf-40de-9e43-2b87cb129a5e\",\n    \"send_receipt\": false,\n    \"is_recurring_token\": false,\n    \"skip_capture\": false,\n    \"reference_generated\": \"PS188\",\n    \"issued\": \"2023-07-25\",\n    \"due\": 1690294220,\n    \"refund_upto\": 0,\n    \"cc_descriptor\": \"\",\n    \"refund_availability\": \"NONE\",\n    \"refundable_amount\": 0,\n    \"success_redirect\": \"https://google.com\",\n    \"failure_redirect\": \"https://yahoo.com\",\n    \"cancel_redirect\": \"\",\n    \"success_callback\": \"\",\n    \"platform\": \"API\",\n    \"created_from_ip\": \"149.86.53.48\",\n    \"checkout_url\": \"http://18.214.100.20/payments/64bfd7c9f63e36669499e779/\",\n    \"direct_post_url\": \"http://18.214.100.20/api/v1/p/64bfd7c9f63e36669499e779/\"\n}"},{"id":"065de48e-b9d3-4c36-95c6-07f958bdc579","name":"Purchases - success","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"url":"http://18.214.100.20/api/v1/purchases/64bfdb7df63e36669499e82f/"},"status":"Accepted","code":202,"_postman_previewlanguage":"json","header":[{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"Cache-Control","value":"no-cache, no-store, max-age=0, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Expires","value":"0"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Tue, 25 Jul 2023 15:45:29 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"purchaseId\": \"64bfdb7df63e36669499e82f\",\n    \"client\": {\n        \"bank_account\": \"\",\n        \"bank_code\": \"\",\n        \"email\": \"example@fundstream.net\",\n        \"phone\": \"\",\n        \"full_name\": \"\",\n        \"date_of_birth\": \"\",\n        \"personal_code\": \"\",\n        \"street_address\": \"test test\",\n        \"country\": \"IN\",\n        \"city\": \"123\",\n        \"zip_code\": \"234567\",\n        \"shipping_street_address\": \"\",\n        \"shipping_country\": \"\",\n        \"shipping_city\": \"\",\n        \"shipping_zip_code\": \"\",\n        \"cc\": [],\n        \"bcc\": [],\n        \"legal_name\": \"\",\n        \"brand_name\": \"\",\n        \"registration_number\": \"\",\n        \"tax_number\": \"\",\n        \"stateCode\": \"ca\"\n    },\n    \"updated_on\": 1690296521,\n    \"type\": \"purchase\",\n    \"force_recurring\": false,\n    \"created_on\": 1690295168,\n    \"purchase\": {\n        \"currency\": \"USD\",\n        \"products\": [\n            {\n                \"name\": \"dk\",\n                \"quantity\": 1,\n                \"price\": 9,\n                \"discount\": 0,\n                \"tax_percent\": \"0.00\"\n            }\n        ],\n        \"total\": 9,\n        \"language\": \"en\",\n        \"notes\": \"\",\n        \"debt\": 0,\n        \"total_formatted\": 1,\n        \"request_client_details\": [],\n        \"timezone\": \"America/Edmonton\",\n        \"email_message\": \"\"\n    },\n    \"payment\": {\n        \"is_outgoing\": false,\n        \"payment_type\": \"PURCHASE\",\n        \"amount\": 9,\n        \"currency\": \"USD\",\n        \"net_amount\": 9,\n        \"fee_amount\": 10.2591,\n        \"pending_amount\": 0,\n        \"pending_unfreeze_on\": null,\n        \"description\": \"\",\n        \"paid_on\": 1690295205,\n        \"remote_paid_on\": 1690295205\n    },\n    \"issuer_details\": {\n        \"website\": \"\",\n        \"legal_street_address\": \"\",\n        \"legal_country\": \"\",\n        \"legal_city\": \"\",\n        \"legal_zip_code\": \"\",\n        \"bank_accounts\": [\n            {\n                \"bank_account\": \"\",\n                \"bank_code\": \"\"\n            }\n        ],\n        \"legal_name\": \"shoes\",\n        \"brand_name\": \"shoes\",\n        \"registration_number\": \"\",\n        \"tax_number\": \"\"\n    },\n    \"transaction_data\": {\n        \"payment_method\": \"\",\n        \"flow\": \"payform\",\n        \"extra\": {\n            \"expiry_month\": \"10\",\n            \"amount\": 9,\n            \"card_issuer\": \"1-800-432-3117\",\n            \"masked_pan\": \"411111XXXXXX1111\",\n            \"card_brand\": \"VISA\",\n            \"card_issuer_country\": \"US\",\n            \"cardholder_name\": \"dk\",\n            \"expiry_year\": \"23\"\n        },\n        \"country\": \"\",\n        \"attempts\": [\n            {\n                \"client_ip\": \"149.86.53.48\",\n                \"type\": \"execute\",\n                \"payment_method\": \"VISA\",\n                \"flow\": \"payform\",\n                \"successful\": true,\n                \"country\": \"US\",\n                \"processing_time\": 1690295205,\n                \"extra\": {\n                    \"expiry_month\": \"10\",\n                    \"amount\": 9,\n                    \"card_issuer\": \"1-800-432-3117\",\n                    \"masked_pan\": \"411111XXXXXX1111\",\n                    \"card_brand\": \"VISA\",\n                    \"card_issuer_country\": \"US\",\n                    \"cardholder_name\": \"dk\",\n                    \"expiry_year\": \"23\"\n                }\n            }\n        ]\n    },\n    \"status\": \"PAID\",\n    \"status_history\": [\n        {\n            \"status\": \"created\",\n            \"timestamp\": 1690295168\n        },\n        {\n            \"status\": \"pending_execute\",\n            \"timestamp\": 1690295193\n        },\n        {\n            \"status\": \"payment_in_process\",\n            \"timestamp\": 1690295205\n        },\n        {\n            \"status\": \"paid\",\n            \"timestamp\": 1690296521\n        },\n        {\n            \"status\": \"viewed\",\n            \"timestamp\": 1690299929\n        }\n    ],\n    \"viewedOn\": 1690299929,\n    \"is_test\": false,\n    \"brand_id\": \"bd69e8a5-adcf-40de-9e43-2b87cb129a5e\",\n    \"merchantRef\":\"d9db7ec0-f94c-4a9d-8883-54c19c222d81\",\n    \"send_receipt\": false,\n    \"is_recurring_token\": false,\n    \"skip_capture\": false,\n    \"reference_generated\": \"PS192\",\n    \"issued\": \"2023-07-25\",\n    \"due\": 1690295168,\n    \"refund_upto\": 1705843623,\n    \"cc_descriptor\": \"test-cardeye\",\n    \"refund_availability\": \"NONE\",\n    \"refundable_amount\": 9,\n    \"success_redirect\": \"https://google.com\",\n    \"failure_redirect\": \"https://yahoo.com\",\n    \"cancel_redirect\": \"\",\n    \"success_callback\": \"\",\n    \"platform\": \"API\",\n    \"created_from_ip\": \"149.86.53.48\",\n    \"checkout_url\": \"http://18.214.100.20/payments/64bfdb7df63e36669499e82f/\",\n    \"direct_post_url\": \"http://18.214.100.20/api/v1/p/64bfdb7df63e36669499e82f/\"\n}"}],"_postman_id":"c37dcd7a-0607-43e9-9a83-f1bccb1c90b8"},{"name":"cancel","id":"233a5dbf-401d-4a19-b0ce-ccde1f197e9a","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"url":"https://app.thefundstream.org/api/v1/purchases/64bff556f63e36669499e9d3/cancel","description":"<p>As the name implies this API is used to cancel purchases that have been posted</p>\n<ul>\n<li>either after creating a purchase or</li>\n<li>after doing the server-to-server call, but <strong>before</strong> redirecting the user to the callbackURL.</li>\n</ul>\n<p>Purchase ID is <strong>mandatory</strong> for this API.</p>\n<h3 id=\"response-examples\">Response Examples</h3>\n<p>In the response examples you can see instances of cancelling a purchase that has <code>Paid</code> and <code>Error</code> Status.</p>\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"bf3570e5-b815-4af8-947a-8544aa41d3c2","id":"bf3570e5-b815-4af8-947a-8544aa41d3c2","name":"🌐 Open Banking","type":"folder"}},"urlObject":{"path":["purchases","64bff556f63e36669499e9d3","cancel"],"host":["https://app.thefundstream.org/api/v1"],"query":[],"variable":[]}},"response":[{"id":"d7f5bf74-c5db-4e1b-9872-296cb85e7d59","name":"cancel-Error","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"url":"http://18.214.100.20/api/v1/purchases/64b034ecc6dccf7d329d9eb3/cancel"},"status":"Bad Request","code":400,"_postman_previewlanguage":"json","header":[{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"Cache-Control","value":"no-cache, no-store, max-age=0, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Expires","value":"0"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Thu, 13 Jul 2023 17:45:30 GMT"},{"key":"Connection","value":"close"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Only purchases that can be paid for can be canceled.\",\n    \"code\": \"transaction_error\"\n}"},{"id":"fe1f4390-3e35-47f5-b852-70e959876c2e","name":"cancel - Success","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"url":"http://18.214.100.20/api/v1/purchases/64bff4fff63e36669499e9c8/cancel"},"status":"Accepted","code":202,"_postman_previewlanguage":"json","header":[{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"Cache-Control","value":"no-cache, no-store, max-age=0, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Expires","value":"0"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Tue, 25 Jul 2023 16:15:35 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"purchaseId\": \"64bff4fff63e36669499e9c8\",\n    \"client\": {\n        \"bank_account\": \"\",\n        \"bank_code\": \"\",\n        \"email\": \"example@fundstream.net\",\n        \"phone\": \"\",\n        \"full_name\": \"\",\n        \"date_of_birth\": \"\",\n        \"personal_code\": \"\",\n        \"street_address\": \"test test\",\n        \"country\": \"IN\",\n        \"city\": \"123\",\n        \"zip_code\": \"234567\",\n        \"shipping_street_address\": \"\",\n        \"shipping_country\": \"\",\n        \"shipping_city\": \"\",\n        \"shipping_zip_code\": \"\",\n        \"cc\": [],\n        \"bcc\": [],\n        \"legal_name\": \"\",\n        \"brand_name\": \"\",\n        \"registration_number\": \"\",\n        \"tax_number\": \"\",\n        \"stateCode\": \"ca\"\n    },\n    \"updated_on\": 1690301735,\n    \"type\": \"purchase\",\n    \"force_recurring\": false,\n    \"created_on\": 1690301698,\n    \"purchase\": {\n        \"currency\": \"USD\",\n        \"products\": [\n            {\n                \"name\": \"dk\",\n                \"quantity\": 1,\n                \"price\": 9,\n                \"discount\": 0,\n                \"tax_percent\": \"0.00\"\n            }\n        ],\n        \"total\": 9,\n        \"language\": \"en\",\n        \"notes\": \"\",\n        \"debt\": 0,\n        \"total_formatted\": 1,\n        \"request_client_details\": [],\n        \"timezone\": \"America/Edmonton\",\n        \"email_message\": \"\"\n    },\n    \"issuer_details\": {\n        \"website\": \"\",\n        \"legal_street_address\": \"\",\n        \"legal_country\": \"\",\n        \"legal_city\": \"\",\n        \"legal_zip_code\": \"\",\n        \"bank_accounts\": [\n            {\n                \"bank_account\": \"\",\n                \"bank_code\": \"\"\n            }\n        ],\n        \"legal_name\": \"shoes\",\n        \"brand_name\": \"shoes\",\n        \"registration_number\": \"\",\n        \"tax_number\": \"\"\n    },\n    \"transaction_data\": {\n        \"payment_method\": \"\",\n        \"flow\": \"payform\",\n        \"extra\": {},\n        \"country\": \"\",\n        \"attempts\": []\n    },\n    \"status\": \"CANCELLED\",\n    \"status_history\": [\n        {\n            \"status\": \"created\",\n            \"timestamp\": 1690301698\n        },\n        {\n            \"status\": \"pending_execute\",\n            \"timestamp\": 1690301723\n        },\n        {\n            \"status\": \"cancelled\",\n            \"timestamp\": 1690301735\n        }\n    ],\n    \"is_test\": false,\n    \"brand_id\": \"bd69e8a5-adcf-40de-9e43-2b87cb129a5e\",\n    \"send_receipt\": false,\n    \"is_recurring_token\": false,\n    \"skip_capture\": false,\n    \"reference_generated\": \"PS194\",\n    \"issued\": \"2023-07-25\",\n    \"due\": 1690301698,\n    \"refund_upto\": 0,\n    \"cc_descriptor\": \"\",\n    \"refund_availability\": \"NONE\",\n    \"refundable_amount\": 0,\n    \"success_redirect\": \"https://google.com\",\n    \"failure_redirect\": \"https://yahoo.com\",\n    \"cancel_redirect\": \"\",\n    \"success_callback\": \"\",\n    \"platform\": \"API\",\n    \"created_from_ip\": \"149.86.53.48\",\n    \"checkout_url\": \"http://18.214.100.20/payments/64bff4fff63e36669499e9c8/\",\n    \"direct_post_url\": \"http://18.214.100.20/api/v1/p/64bff4fff63e36669499e9c8/\"\n}"}],"_postman_id":"233a5dbf-401d-4a19-b0ce-ccde1f197e9a"},{"name":"Payment Methods","id":"22d23f74-8257-4e44-bb1a-4cc7005dee9f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"url":"https://app.thefundstream.org/api/v1/payment_methods?brand_id=aff0471b-e37d-4e76-9dee-d235063bf276&currency=&country=india","description":"<p>This API gives back the list of Payment methods available for a brand.</p>\n","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"bf3570e5-b815-4af8-947a-8544aa41d3c2","id":"bf3570e5-b815-4af8-947a-8544aa41d3c2","name":"🌐 Open Banking","type":"folder"}},"urlObject":{"path":["payment_methods"],"host":["https://app.thefundstream.org/api/v1"],"query":[{"key":"brand_id","value":"aff0471b-e37d-4e76-9dee-d235063bf276"},{"key":"currency","value":""},{"key":"country","value":"india"},{"disabled":true,"key":"","value":""}],"variable":[]}},"response":[{"id":"39f72551-2bc6-4869-b03c-bfe008f7451e","name":"Payment Methods","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"url":{"raw":"http://18.214.100.20/api/v1/payment_methods?brand_id=4067e336-b558-4f81-9c98-2ad56b017e3d&currency=inr&country=india","protocol":"http","host":["18","214","100","20"],"path":["api","v1","payment_methods"],"query":[{"key":"brand_id","value":"4067e336-b558-4f81-9c98-2ad56b017e3d"},{"key":"currency","value":"inr"},{"key":"country","value":"india"},{"key":"","value":"","disabled":true}]}},"status":"Accepted","code":202,"_postman_previewlanguage":"json","header":[{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"Cache-Control","value":"no-cache, no-store, max-age=0, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Expires","value":"0"},{"key":"X-Frame-Options","value":"DENY"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Date","value":"Thu, 13 Jul 2023 17:50:33 GMT"},{"key":"Keep-Alive","value":"timeout=60"},{"key":"Connection","value":"keep-alive"}],"cookie":[],"responseTime":null,"body":"{\n    \"available_payment_methods\": [\n        \"s2s\",\n        \"cybersource_hosted_checkout\",\n        \"mastercard\",\n        \"visa\"\n    ],\n    \"by_country\": {\n        \"any\": [\n            \"s2s\",\n            \"cybersource_hosted_checkout\",\n            \"mastercard\",\n            \"visa\"\n        ]\n    },\n    \"country_names\": {\n        \"any\": \"Other\"\n    },\n    \"names\": {\n        \"cybersource_hosted_checkout\": \"Cybersource Hosted Checkout\",\n        \"s2s\": \"Server To Server\",\n        \"visa\": \"Visa\",\n        \"mastercard\": \"Mastercard\"\n    },\n    \"card_methods\": [\n        \"cybersource_hosted_checkout\",\n        \"mastercard\",\n        \"visa\"\n    ]\n}"}],"_postman_id":"22d23f74-8257-4e44-bb1a-4cc7005dee9f"}],"id":"a360b1c7-6715-4741-b4eb-c74fdd20e2fa","_postman_id":"a360b1c7-6715-4741-b4eb-c74fdd20e2fa","description":"","auth":{"type":"noauth","isInherited":true,"source":{"_postman_id":"bf3570e5-b815-4af8-947a-8544aa41d3c2","id":"bf3570e5-b815-4af8-947a-8544aa41d3c2","name":"🌐 Open Banking","type":"folder"}}}],"id":"bf3570e5-b815-4af8-947a-8544aa41d3c2","description":"<h3 id=\"overview\"><strong>Overview</strong></h3>\n<p><strong>Third-Party Net Banking</strong> refers to the integration with local bank transfer systems in specific countries, enabling users to make payments directly from their bank accounts through a secure and trusted interface. This is particularly useful for regions where direct bank transfers are a preferred payment method over cards or other APMs.</p>\n<p>Fundstream leverages third-party net banking to facilitate transactions for different regions, enabling businesses to access localized payment options without the complexity of managing individual bank integrations. Each third-party service is tailored to the specific financial infrastructure of the country or region, ensuring compliance, security, and ease of use.</p>\n<h3 id=\"key-benefits-of-third-party-net-banking\"><strong>Key Benefits of Third-Party Net Banking</strong>:</h3>\n<ul>\n<li><p><strong>Localized Payment Options</strong>: Supports region-specific payment methods, giving customers familiar and trusted ways to pay.</p>\n</li>\n<li><p><strong>Secure Transactions</strong>: Payments are processed directly through the customer’s bank, enhancing trust and security.</p>\n</li>\n<li><p><strong>Real-Time Verification</strong>: Enables real-time confirmation of payments, reducing risks and improving cash flow.</p>\n</li>\n<li><p><strong>Compliance</strong>: Adheres to local and international regulatory standards like PSD2 for Europe, ensuring that payments are secure and compliant.</p>\n</li>\n</ul>\n<p>This setup allows Fundstream to offer a diverse range of bank transfer options to its global clientele, catering to the specific needs of different regions while maintaining a consistent and secure payment experience.</p>\n","auth":{"type":"noauth","isInherited":false},"event":[{"listen":"prerequest","script":{"type":"text/javascript","packages":{},"exec":[""],"id":"8d95dc75-4be8-458b-acff-40e89befb3ff"}},{"listen":"test","script":{"type":"text/javascript","packages":{},"exec":[""],"id":"2f8b4c40-6da3-4899-b370-8820b69b0397"}}],"_postman_id":"bf3570e5-b815-4af8-947a-8544aa41d3c2"},{"name":"🪙 On Ramp","item":[],"id":"d64ae94a-a8cd-4992-8746-2a534559975f","description":"<h2 id=\"overview\">Overview</h2>\n<p>Fundstream provides a user-friendly, direct integration with Quickbit wallet where users can purchase and manage their crypto funds easily. Integrating this interface into your payment process is a straightforward process, requiring just a few simple steps.</p>\n<p>We continuously work on improving the integration flow, and as we roll out updates, both customers and merchants can look forward to an enhanced and improved payment experience.</p>\n<h2 id=\"integration-flow\">Integration Flow</h2>\n<p><strong>Step 1</strong></p>\n<p>The first call to the Fundstream API is POST /purchases initiated by the merchant's backend when they receive a request from the user to make a QuickBit purchase.</p>\n<p>It's essential to ensure that the request body includes:</p>\n<ul>\n<li><p>success_redirect - URL where the user will be redirected from Quickbit after completing the purchase</p>\n</li>\n<li><p>failure_redirect - URL where the user will be redirected from Quickbit if the purchase fails</p>\n</li>\n<li><p>paymentMethod - Payment method requested. It must specify QBPAYFTOPUP.</p>\n</li>\n</ul>\n<blockquote>\n<p>It is important to note that paymentMethod is not a mandatory parameter. If it is not provided, the redirect URL will point to Fundstream Cashier. It must be provided for direct payment with Quickbit. </p>\n</blockquote>\n<p>Here's a sample body of the request:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"client\": {\n        \"email\": \"john.doe@fundstream.net\",\n        \"country\":\"GB\",\n        \"city\":\"London\",\n        \"stateCode\":\"Marleybone\",\n        \"street_address\":\"221B Baker Street\",\n        \"zip_code\":\"NW1 6XE\",\n        \"phone\":\"9999999999\"\n    },\n    \"purchase\": {\n        \"products\": [\n            {\n                \"name\": \"QBit Payment\",\n                \"price\": \"10\"\n            }\n        ]\n    },\n    \"status\": \"created\",\n    \"brand_id\": \"brand_id_from_the_portal\",\n    \"paymentMethod\":\"QBPAYFTOPUP\",\n    \"success_redirect\": \"https://google.com\",\n    \"failure_redirect\": \"https://yahoo.com\"\n}```\nIf the request is successful the response will include a parameter called CheckOutURL. That is the QBit payment URL that should be loaded to the customer to proceed with the payment. Here is an example of what a successful response looks like:\n```{\n    \"purchaseId\": \"657a10b3c0daf365fa98cdf9\",\n    \"client\": {\n        \"bank_account\": \"\",\n        \"bank_code\": \"\",\n        \"email\": \"john.doe@fundstream.net\",\n        \"phone\": \"9999999999\",\n        \"full_name\": \"\",\n        \"date_of_birth\": \"\",\n        \"personal_code\": \"\",\n        \"street_address\": \"221B Baker Street\",\n        \"country\": \"GB\",\n        \"city\": \"London\",\n        \"zip_code\": \"NW1 6XE\",\n        \"shipping_street_address\": \"\",\n        \"shipping_country\": \"\",\n        \"shipping_city\": \"\",\n        \"shipping_zip_code\": \"\",\n        \"cc\": [],\n        \"bcc\": [],\n        \"legal_name\": \"\",\n        \"brand_name\": \"\",\n        \"registration_number\": \"\",\n        \"tax_number\": \"\",\n        \"stateCode\": \"Marleybone\"\n    },\n    \"updated_on\": 1702498483,\n    \"type\": \"purchase\",\n    \"paymentMethod\": \"QBPAYFTOPUP\",\n    \"amountUnit\": \"MINOR\",\n    \"errorMsg\": \"\",\n    \"redirectType\": \"POST\",\n    \"force_recurring\": false,\n    \"created_on\": 1702498483,\n    \"merchantRef\": \"657a10b3c0daf365fa98cdf9\",\n    \"merchantName\": \"merchant002\",\n    \"purchase\": {\n        \"currency\": \"USD\",\n        \"products\": [\n            {\n                \"name\": \"QBit Payment\",\n                \"quantity\": 1.0,\n                \"price\": 1000.0,\n                \"discount\": 0,\n                \"tax_percent\": \"0.00\"\n            }\n        ],\n        \"total\": 10.0,\n        \"language\": \"en\",\n        \"notes\": \"\",\n        \"debt\": 0,\n        \"total_formatted\": 1.0,\n        \"request_client_details\": [],\n        \"email_message\": \"\"\n    },\n    \"issuer_details\": {\n        \"website\": \"\",\n        \"legal_street_address\": \"\",\n        \"legal_country\": \"\",\n        \"legal_city\": \"\",\n        \"legal_zip_code\": \"\",\n        \"bank_accounts\": [\n            {\n                \"bank_account\": \"\",\n                \"bank_code\": \"\"\n            }\n        ],\n        \"legal_name\": \"brand1\",\n        \"brand_name\": \"brand1\",\n        \"registration_number\": \"\",\n        \"tax_number\": \"\"\n    },\n    \"transaction_data\": {\n        \"payment_method\": \"\",\n        \"flow\": \"payform\",\n        \"extra\": {},\n        \"country\": \"\",\n        \"attempts\": []\n    },\n    \"status\": \"CREATED\",\n    \"status_history\": [\n        {\n            \"status\": \"created\",\n            \"timestamp\": 1702498483\n        }\n    ],\n    \"is_test\": false,\n    \"brand_id\": \"brand_id_from_the_portal\",\n    \"send_receipt\": false,\n    \"is_recurring_token\": false,\n    \"skip_capture\": false,\n    \"reference_generated\": \"PS185\",\n    \"issued\": \"2023-12-13\",\n    \"due\": 1702498483,\n    \"refund_upto\": 0,\n    \"cc_descriptor\": \"\",\n    \"refund_availability\": \"NONE\",\n    \"refundable_amount\": 0.0,\n    \"success_redirect\": \"https://google.com\",\n    \"failure_redirect\": \"https://yahoo.com\",\n    \"cancel_redirect\": \"\",\n    \"success_callback\": \"\",\n    \"platform\": \"API\",\n    \"created_from_ip\": \"135.129.121.137\",\n    \"checkout_url\": \"https://api.example.net/payments/657a10b3casd23123122/\",\n    \"merchantIp\": \"10.10.10.10\"\n}\n\n</code></pre>\n<h2 id=\"step-2\">Step 2</h2>\n<p>Once the customer is redirected to the <code>CheckOutURL</code> page they will see will depend on the user's country. For the users in Sweden, the page will look like this:</p>\n<img src=\"https://content.pstmn.io/9e0fe1c4-e8c6-49fd-8bc1-fb048e5f2278/aW1hZ2UucG5n\" width=\"792\" height=\"558\" />\n\n<p>For user's in other countries, the page will look following:</p>\n<img src=\"https://content.pstmn.io/20e4e789-4df1-4dd2-917f-7281db5dc09c/aW1hZ2UucG5n\" width=\"599\" height=\"602\" />\n\n<p>On this page, new users will have to verify their identity and existing users will be prompted to log in.</p>\n<h2 id=\"step-3\">Step 3</h2>\n<p>In the Quickbit app, the user will be requested to provide their payment details:</p>\n<img src=\"https://content.pstmn.io/bc760861-a7af-4cca-a6a4-9c8e6a80db28/aW1hZ2UucG5n\" width=\"1341\" height=\"666\" />\n\n<p>Once the payment goes through, the user has to confirm sending the transaction to complete the process:</p>\n<img src=\"https://content.pstmn.io/ddc57da0-d77d-4819-a059-0eb1def02593/aW1hZ2UucG5n\" width=\"1340\" height=\"662\" />\n\n<h2 id=\"step-4\">Step 4</h2>\n<p>Depending on the outcome of the payment at Quickbit, the customer will be directed to the:</p>\n<ol>\n<li><p>If the payment is successful - the URL specified in <code>success_redirect</code> that was provided in the initial <code>POST /purchases</code> request</p>\n</li>\n<li><p>If the payment is unsuccessful - the URL specified in <code>failure_redirect</code> that was provided in the initial <code>POST /purchases</code> request</p>\n</li>\n</ol>\n","_postman_id":"d64ae94a-a8cd-4992-8746-2a534559975f","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}}},{"name":"3rd Party Cashiers","item":[{"name":"Cashfree","item":[{"name":"Concepts","item":[],"id":"f7cfbfcf-2270-416b-9ae7-645aca6ac3f3","description":"<h2 id=\"concepts\">Concepts</h2>\n<ul>\n<li><p><strong>APM Integration:</strong> Cashfree functions as an APM where merchants integrate its APIs to manage both incoming (pay-ins) and outgoing (payouts) funds.</p>\n</li>\n<li><p><strong>Asynchronous Communication:</strong> Both payin and payout flows use callback URLs and webhooks to confirm transaction statuses, ensuring the merchant system stays updated.</p>\n</li>\n<li><p><strong>UPI Payment Options:</strong> The integration supports UPI-based payments, presenting customers with choices like UPI Dynamic QR and UPI ID payments during the checkout process.</p>\n</li>\n<li><p><strong>Beneficiary Details:</strong> For payouts, essential beneficiary details, including the Virtual Payment Address (VPA), must be provided to correctly route funds.</p>\n</li>\n<li><p><strong>Secure Redirection:</strong> Customers are securely redirected from the merchant site to the Cashfree cashier page for payments and back to the merchant site upon completion.</p>\n</li>\n</ul>\n<hr />\n<h2 id=\"key-steps-in-the-integration-process\">Key Steps in the Integration Process</h2>\n<h3 id=\"payin-flow\">PayIn Flow</h3>\n<ol>\n<li><p><strong>Customer Selection:</strong><br /> The customer selects Cashfree as the payment method on the merchant’s website.</p>\n</li>\n<li><p><strong>API Call to Create Purchase:</strong><br /> The merchant system calls the fundstream <code>createPurchase</code> API to initiate the transaction.</p>\n<ul>\n<li><p><strong>Input:</strong> Transaction details, order ID, amount, etc.</p>\n</li>\n<li><p><strong>Output:</strong> A response containing a checkout URL and an initiated callback URL.</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Redirection to Cashfree Cashier Page:</strong><br /> The customer is redirected to the Cashfree cashier page using the provided checkout URL.</p>\n</li>\n<li><p><strong>Payment Options Display:</strong><br /> On the cashier page, the customer is presented with multiple UPI payment options, such as:</p>\n<ul>\n<li><p>UPI Dynamic QR</p>\n</li>\n<li><p>Pay with UPI ID</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Transaction Execution:</strong><br /> The customer completes the payment using their UPI app.</p>\n</li>\n<li><p><strong>Callback &amp; Confirmation:</strong><br /> Upon a successful payment, Cashfree sends a success callback to the merchant’s designated URL. The customer is then redirected back to the merchant’s checkout page, where they see confirmation of a successful payment and an updated balance.</p>\n</li>\n</ol>\n<h3 id=\"payout-flow\">Payout Flow</h3>\n<ol>\n<li><p><strong>Payout Request Initiation:</strong><br /> The customer initiates a payout request directly on the merchant’s website.</p>\n</li>\n<li><p><strong>Beneficiary Details Entry:</strong><br /> The customer enters the Virtual Payment Address (VPA) where they wish to receive the payout.</p>\n</li>\n<li><p><strong>API Call to Process Payout:</strong><br /> The merchant calls the payout API, which in turn invokes the Cashfree payout API to process the request.</p>\n<ul>\n<li><p><strong>Input:</strong> Payout amount, beneficiary details (including VPA), and other required parameters.</p>\n</li>\n<li><p><strong>Callback:</strong> A callback URL is set up to receive asynchronous updates.</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Payout Execution:</strong><br /> Cashfree processes the payout request by transferring funds to the customer’s specified VPA.</p>\n</li>\n<li><p><strong>Webhook Notification:</strong><br /> A success webhook is triggered upon the successful completion of the payout.</p>\n</li>\n<li><p><strong>Balance Update:</strong><br /> Both the customer’s and merchant’s account balances are updated to reflect the transaction.</p>\n</li>\n</ol>\n","_postman_id":"f7cfbfcf-2270-416b-9ae7-645aca6ac3f3","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}}},{"name":"Payin","item":[{"name":"Create Purchase","id":"8c5846eb-fa7d-4952-9072-c21104da6403","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer Token"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n        \"email\": \"ziangani@outlook.com\",\r\n        \"street_address\": \"Mansarovar, Jaipur\",\r\n        \"city\": \"Jaipur\",\r\n        \"full_name\": \"Adarsh Saini\",\r\n        \"zip_code\": \"101100\",\r\n        \"country\": \"IN\",\r\n        \"date_of_birth\": \"1977-05-10\",\r\n        \"stateCode\": \"NA\",\r\n        \"phone\": \"0964926646\"\r\n    },\r\n    \"purchase\": {\r\n        \"currency\": \"INR\",\r\n        \"products\": [\r\n            {\r\n                \"name\": \"test\",\r\n                \"price\": 1\r\n            }\r\n        ]\r\n    },\r\n    \"paymentMethod\": \"CASHFREE\",\r\n    \"brand_id\": \"{brand_id}\",\r\n    \"success_redirect\": \"https://api.example.net/getResponse.jsp?success=true\",\r\n    \"failure_redirect\": \"https://api.example.net/getResponse.jsp?success=false\",\r\n    \"success_callback\": \"https://api.example.net\",\r\n    \"failure_callback\": \"https://api.example.net\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://app.thefundstream.org/api/v1/purchases/","description":"<p>To Initiate a payment, the very first call to make is <code>/purchases</code> with the required data in the request body.</p>\n<p>To generate a Purchase, you are required to provide the <code>Brand ID</code> (in the request body) and <code>API key</code> (in the header) Both can be located in the Dashboard section of your merchant account login.</p>\n<p>The request body structure is shown on the request body of the example request shown here.</p>\n<p>The following (see table below) are the mandatory parameters that are required to create a purchase request.</p>\n<h3 id=\"mandatory-parameters-in-the-request-body\"><strong>Mandatory parameters in the request body:</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Parameter</strong></th>\n<th><strong>Notes</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>client.email</td>\n<td>An Identifier for a user</td>\n</tr>\n<tr>\n<td>client.city</td>\n<td></td>\n</tr>\n<tr>\n<td>client.country</td>\n<td>ISO-3166 Country Code. It must be upper case.  <br />This should be \"IN\" for India</td>\n</tr>\n<tr>\n<td>client.stateCode</td>\n<td>Example “AL”, “XZ”.. Must be in upper case.</td>\n</tr>\n<tr>\n<td>client.street_address</td>\n<td></td>\n</tr>\n<tr>\n<td>client.zip_code</td>\n<td></td>\n</tr>\n<tr>\n<td>client.full_name</td>\n<td></td>\n</tr>\n<tr>\n<td>purchase.currency</td>\n<td>ISO 4217 code for currency you want to send the transaction in.  <br />This should be 'INR' for Cashfree</td>\n</tr>\n<tr>\n<td>purchase.products.name</td>\n<td></td>\n</tr>\n<tr>\n<td>purchase.products.price</td>\n<td>Price in decimal format.  <br />example 1:  <br />INR 5 , should be sent as 10.00</td>\n</tr>\n<tr>\n<td>brand_id</td>\n<td>Obtain from Dashboard section of your merchant account login.</td>\n</tr>\n<tr>\n<td>success_redirect</td>\n<td>URL to send the user if the transactions is successful</td>\n</tr>\n<tr>\n<td>failure_redirect</td>\n<td>URL to send the user if the transactions is UNSUCCESSFUL</td>\n</tr>\n</tbody>\n</table>\n</div><h2 id=\"optional-parameters\">Optional Parameters</h2>\n<h3 id=\"expireinmin\">expireInMin</h3>\n<p>This parameter, when passed in the PayIn request, sets the time window within which a customer should make the Interac payment through their bank's app. If a customer doesn't complete the payment within the configured time window, the status of the payment will be marked as 'EXPIRED' in Fundstream.</p>\n<p>However, in certain cases, a payment made outside of this window could still be successful i.e. customer's account may be debited which would result in inconsistencies among Fundstream's, merchant's and customer's status of the transaction. To avoid such cases it is advised to set the expiry time limit appropriately and advise the customers to make payment within this window. However, if there is an inconsistency between the status at Fundstream and at customer's Bank, the merchant and Fundstream will reconcile the amounts during the settlement.</p>\n<h3 id=\"merchantref\">merchantRef</h3>\n<p>The <code>merchantRef</code> parameter, although not mandatory, is strongly advised for merchants to specify. Its inclusion offers two significant advantages for the merchant:</p>\n<ol>\n<li><p><strong>Prevention of Duplicate Requests:</strong> When a <code>merchantRef</code> is utilized, it acts as a unique identifier. This means that if a second purchase request is made using the same <code>merchantRef</code> (reference number), the system will recognize it and prevent duplicate transactions from occurring. This prevents unintended or duplicate purchases.</p>\n</li>\n<li><p><strong>Facilitation of Transaction Retrieval:</strong> In situations where the response from the initial purchase request times out or the 'purchaseId' isn't received, having the <code>merchantRef</code> allows the merchant to retrieve detailed transaction information. This ensures they can track and access the specific purchase details related to that reference, even if the immediate response was not received.</p>\n</li>\n</ol>\n<p>However, if the merchant does not specify the 'merchantRef' parameter, the platform will automatically assign and use an internal 'purchaseId' as a reference for that transaction.</p>\n<h3 id=\"paymentmethod\">paymentMethod</h3>\n<p>The <code>paymentMethod</code> parameter identifies which payment solution merchant wants to use to perform a transaction. If parameter is provided, than Fundstream will perform direct payment with the selected payment method instead of loading Fundstream URL.</p>\n<h3 id=\"possible-error-messages\">Possible Error Messages</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Error Messages</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Invalid format of Date_of_Birth[allowed format: yyyy-mm-dd]</td>\n<td></td>\n</tr>\n<tr>\n<td>Enter Valid Email</td>\n<td></td>\n</tr>\n<tr>\n<td>Please submit Valid Alpha2 Country Code Ex:(AF,IN) in \\\"country\\\" parameter</td>\n<td></td>\n</tr>\n<tr>\n<td>Please pass Valid State Code</td>\n<td></td>\n</tr>\n<tr>\n<td>Please pass valid street address in \\\"street_address\\\" parameter</td>\n<td></td>\n</tr>\n<tr>\n<td>Please pass valid city name in \\\"city\\\" parameter</td>\n<td></td>\n</tr>\n<tr>\n<td>Please pass valid postal Code name in \\\"zip_code\\\" parameter</td>\n<td></td>\n</tr>\n<tr>\n<td>You are not Allowed for Live Transaction</td>\n<td></td>\n</tr>\n<tr>\n<td>Minimum amount is not set for this merchant</td>\n<td></td>\n</tr>\n<tr>\n<td>success_redirect/failure_redirect/brand_id is missing</td>\n<td></td>\n</tr>\n<tr>\n<td>brand_id cannot be null</td>\n<td></td>\n</tr>\n<tr>\n<td>success_redirect cannot be null</td>\n<td></td>\n</tr>\n<tr>\n<td>failure_redirect cannot be null</td>\n<td></td>\n</tr>\n<tr>\n<td>Invalid failure_redirect: minimum 10 characters</td>\n<td></td>\n</tr>\n<tr>\n<td>purchase.products.price cannot be null</td>\n<td></td>\n</tr>\n<tr>\n<td>purchase.products[0].name/purchase.products[0].price are missing</td>\n<td></td>\n</tr>\n<tr>\n<td>Your charges setting is incomplete .Plese Contact to Administrator.</td>\n<td></td>\n</tr>\n<tr>\n<td>Currency \"{curr_name}\" is Not Allowed</td>\n<td></td>\n</tr>\n<tr>\n<td>Transaction amount must be equal or greater to minimum trans amount</td>\n<td></td>\n</tr>\n<tr>\n<td>Allowed Limit for this card for particular time period has been consumed</td>\n<td></td>\n</tr>\n</tbody>\n</table>\n</div><p><strong>Note:</strong> For certain use cases, in addition to long format purchase Id, Fundstream also provides a 7 digit unique code for each purchase starting with digit 4, eg 4000001</p>\n<p><em>“purchaseIdShortCode”: “4000013\"</em></p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}},"urlObject":{"path":["purchases",""],"host":["https://app.thefundstream.org/api/v1"],"query":[],"variable":[]}},"response":[],"_postman_id":"8c5846eb-fa7d-4952-9072-c21104da6403"},{"name":"Get Status","id":"19f00ae7-f8a4-4607-9711-8972d8ee84da","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer Token","type":"text"}],"url":"https://app.thefundstream.org/api/v1/purchases/{purchaseId}/","description":"<p>This API tells you about all the details of a purchase (PayIn), including its history</p>\n<p><strong>Note:</strong> With respect to bank transfers, the purchase request is synonymous with the PayIn request.</p>\n<h3 id=\"mandatory\">Mandatory</h3>\n<p>you need to pass the <code>PurchaseID</code> in the API URL</p>\n<h3 id=\"possible-value-of-status\">Possible Value of Status</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Status</strong></th>\n<th><strong>Notes</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>paid</td>\n<td>Transaction Successful</td>\n</tr>\n<tr>\n<td>payment_in_process</td>\n<td>Payment is under Processing</td>\n</tr>\n<tr>\n<td>expired</td>\n<td>Purchase has Expired.</td>\n</tr>\n<tr>\n<td>error</td>\n<td>Transaction has Failed.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"response-examples\">Response Examples</h3>\n<p>In the response examples you can see instances of both <code>Paid</code> and <code>Error</code> Status purchases.</p>\n<h3 id=\"error-details\">Error Details</h3>\n<p>If there are any issues on the Purchase you can get more details from the <code>transaction_data.attempts.error</code> attribute of the response object</p>\n<h3 id=\"errors\">Errors</h3>\n<p>If there are any errors then it'll be in the format of :</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"descriptive error message\",\n    \"code\": \"error_code\"\n}\n\n</code></pre>\n<p>Please see the Status Code section for further details.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}},"urlObject":{"path":["purchases","{purchaseId}",""],"host":["https://app.thefundstream.org/api/v1"],"query":[],"variable":[]}},"response":[{"id":"1f193e84-fd87-4ce5-a6d1-35604b624b45","name":"Purchases-success","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer Token"}],"url":"https://app.thefundstream.org/api/v1/purchases/{purchaseId}/"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"purchaseId\": \"66c4667bb993c970367c288a\",\r\n    \"client\": {\r\n        \"email\": \"deepakdeepaksinghal@gmail.com\",\r\n        \"date_of_birth\": \"1970-07-10\",\r\n        \"street_address\": \"10 New Burlington Street Apt. 214\",\r\n        \"country\": \"IN\",\r\n        \"city\": \"London\",\r\n        \"zip_code\": \"W1S 3BE\",\r\n        \"cc\": [],\r\n        \"bcc\": [],\r\n        \"stateCode\": \"QLD\"\r\n    },\r\n    \"updated_on\": 1724147324,\r\n    \"type\": \"purchase\",\r\n    \"paymentMethod\": \"UPI\",\r\n    \"amountUnit\": \"MAJOR\",\r\n    \"errorMsg\": \"\",\r\n    \"redirectType\": \"POST\",\r\n    \"force_recurring\": false,\r\n    \"created_on\": 1724147324,\r\n    \"merchantRef\": \"66c4667bb993c970367c288a\",\r\n    \"merchantName\": \"merchant002\",\r\n    \"purchase\": {\r\n        \"currency\": \"INR\",\r\n        \"products\": [\r\n            {\r\n                \"name\": \"test\",\r\n                \"quantity\": 1.0,\r\n                \"price\": 10.0,\r\n                \"discount\": 0,\r\n                \"tax_percent\": \"0.00\"\r\n            }\r\n        ],\r\n        \"total\": 10.0,\r\n        \"language\": \"en\",\r\n        \"notes\": \"\",\r\n        \"debt\": 0,\r\n        \"total_formatted\": 1.0,\r\n        \"expireInMin\": \"35\",\r\n        \"request_client_details\": [],\r\n        \"timezone\": \"MIT\",\r\n        \"email_message\": \"\"\r\n    },\r\n    \"payment\": {\r\n        \"is_outgoing\": false,\r\n        \"payment_type\": \"PURCHASE\",\r\n        \"amount\": 10.0,\r\n        \"currency\": \"INR\",\r\n        \"net_amount\": 10.0,\r\n        \"fee_amount\": 0.0,\r\n        \"pending_amount\": 0.0,\r\n        \"pending_unfreeze_on\": null,\r\n        \"description\": \"\",\r\n        \"paid_on\": 1724147324,\r\n        \"remote_paid_on\": 1724147324\r\n    },\r\n    \"issuer_details\": {\r\n        \"website\": \"\",\r\n        \"legal_street_address\": \"\",\r\n        \"legal_country\": \"\",\r\n        \"legal_city\": \"\",\r\n        \"legal_zip_code\": \"\",\r\n        \"bank_accounts\": [\r\n            {}\r\n        ],\r\n        \"legal_name\": \"test6\",\r\n        \"brand_name\": \"test6\",\r\n        \"registration_number\": \"\",\r\n        \"tax_number\": \"\"\r\n    },\r\n    \"transaction_data\": {\r\n        \"payment_method\": \"\",\r\n        \"flow\": \"payform\",\r\n        \"extra\": {\r\n            \"amount\": 10.0,\r\n            \"masked_pan\": \"UPI\"\r\n        },\r\n        \"country\": \"\",\r\n        \"attempts\": [\r\n            {\r\n                \"client_ip\": \"103.59.75.113\",\r\n                \"type\": \"execute\",\r\n                \"payment_method\": \"UPI\",\r\n                \"flow\": \"payform\",\r\n                \"successful\": true,\r\n                \"country\": \"UPI\",\r\n                \"processing_time\": 1724147324,\r\n                \"extra\": {\r\n                    \"amount\": 10.0,\r\n                    \"masked_pan\": \"UPI\"\r\n                }\r\n            }\r\n        ]\r\n    },\r\n    \"status\": \"PAYMENT_IN_PROCESS\",\r\n    \"status_history\": [\r\n        {\r\n            \"status\": \"created\",\r\n            \"timestamp\": 1724147324\r\n        },\r\n        {\r\n            \"status\": \"pending_execute\",\r\n            \"timestamp\": 1724147324\r\n        },\r\n        {\r\n            \"status\": \"payment_in_process\",\r\n            \"timestamp\": 1724147324\r\n        }\r\n    ],\r\n    \"is_test\": false,\r\n    \"brand_id\": \"c4003b2c-22d4-4dc1-ad0c-c6b54f8c9636\",\r\n    \"send_receipt\": false,\r\n    \"is_recurring_token\": false,\r\n    \"skip_capture\": false,\r\n    \"reference_generated\": \"PS10907\",\r\n    \"issued\": \"2024-08-20\",\r\n    \"due\": 1724147324,\r\n    \"refund_upto\": 1725871728,\r\n    \"cc_descriptor\": \"test1\",\r\n    \"fraudScore\": \"NA\",\r\n    \"trustScore\": \"NA\",\r\n    \"payInDetails\": {\r\n        \"qrCode\": \"iVBORw0KGgoAAAANSUhEUgAAAb0AAAG9AQAAAACpVZXpAAAH7UlEQVR4nO1cQY7qSgw0yiJLjpCbJBdDIhIXg5vkCCyzQPi7qtwkM2/zNcsYpIfeQFcvTNtdLtsx/9trtS/wC/wCv8A/AZ9mdnpevb9bt6zj+TWso3Uen17i33nGkgverotN/orP7FoHeHV/AG1nfnoZ+kfYrcdKv8ei/gEMvljxRkQZ4MVi5Ww2nm9LbBF/xnLYd7YVVu3dZ262hPUvA3+CUsCnDesJ39/PHhidtlg5cRFek9+WtSgwPO595ldGI4dTAohX/8ZpG2Hp8MdiQPnjEL7XIWJdEae6BfvgC0SxCGCx2Q2fvf5x5GMDGckRov7X2+8r4NhAvW6O82QrHBBeuGBHHjSHK7rDtDxtv8jD0YERv8PPwAHcRjogbv43/BF/wuZwytgHO9r4serxgbIg7vvzPNALY1GHzXDrwYJji2JgTsvOkY8PxGnDDYeVsPHcYjWoUtx6jF04cjPsa8PmjxWAroMWUbtbdPPHPuGZsOqdX8SfOJXGu26zagVgLILHraTWvOUDjRuuU4jq4a2xj8y9hLd6HaArFcMtD997gVoHJYCRwa8H2HzgWVxBDkoBxR5lraVHxIpgdWXEcjJKHrmw+S2Z071F8gLA+JSGCkwEbISoOFnJHiNtvSAhgc0RpyKmw/BeBqgUFUcJGIPWAZnjY1VXis+bUMdw93McHph0kXedfA/pBfMx5CKLlJCJ9n3+FEkOD1QSiuUyrSWaQfyuc0eS3UElm+m8ZYDNqrCbkQMgMMGWEcCQhdEB6a1Jsps/VgCGybASWTtOFu1Lz8SlD/lsgheepBXFupaUFQEiC4MXzozaRjYQrnhRAksioORDbx8doAAQkfwM3qzrP4MVI3lwRqeEOEgTgc37eyVg5zxFZNAuboR0HlkY5VZdbszbELtk6SpAk/DV44yBB2H5zFSWgR3KPAkSKIHZT3nt6EA4INgPmKJRim/1L1MljKI8zS0NbSwElG5qrX6DwsQkDQh5Kr91prI3V4jfqHUBYKfKH9jPQPbDCpchTkmop/xzgiYi9dULASm2863TQeuxGYuDYVUzmtFOm3tuxaDjA+Fi0AehAZFB0zOpfxikD4Uo7YOw9SFIBYAqkN4UyRnY4ZnNFWnfVlpX7WeTEI8PBGWepDvLZCDPopBZOQVVgj+CCNwaaaoBxP8p/zDloN5jZI/sQABGeYe7ctftyBUAPpmmozqBpAyZ/ArxmXmqfJTqIZVWbLGJJBWAtCXqN8rCqIN1rqh9N0qIs84dGzU2raMAkPEbJjMWt85atJg1fZXZhm7CURyqDvCpWpejnUci4QrxmWSSVQwqRGwT47qdEFQBOPCWpxeCPBulsl55KiyIOM96hiLWw+sAndSQB+1KqQxnjEBmIC+xb2NNjFnJp95RASjimEViKtAiTWoEM1bf1YHK2vKOPR4fiJuLyrIZuk0hNOP6Z9McsxJk8gsJEm44sYEqQHaghvF4fQk9ch+9MXR3aOdRJA9KsJVKDw9k1FbDE1WyiOkUghiwSQlQycmyz5mCRyWgZxAyFU2dJJvxm59RsgerlmS/XXMFgOzfYU3H1OFuSlaRnq288JyuyL5dhLJPB0IBIBa9mbCrOYxaqkqlqPwhlcU1B89Ud/wnklcABjdCmi4dEcoyo1Nrt2yVsDGrGGpqrgNUqY8siQblQXMeOcZv6Ijr1LpYdjWd4wM9h2yYcanE02gRxY3WmSHSxBKP1wFK4NFVz0i0jZUwO2Viz3PHA7nrfD4+8MlRLCRl4NITs42WxPdZxKGQdpXSah/aWQDo5IcJVB2ZhBrHi0UcmjY7eH/8HAWAraaTxMfSAU1ah9E9L8pAVD6tBGQnt/h1bMFGg3fLMdjUwvaMNfMOzCJtR+7wQPWucKBmZjjnV61DjJtxXkJpiO1qOhWAOV/TYhKcUpM2F91rxqGJVrHYdXcXAPIA5dDsIPXwnUZWOxRpgrMjEzORW8GrAnDO4tbE8QnORrCfBeeOMvSk3h/LLR6FgNtIIyui1OglaTAhYXNYamicufGdIx8eqFz9ZTkMYWy8dA1vqRp4Ir/2WcLINlBQAPgkIWQQz0c8OFvlkl8zA5lzGAeHz9+FgO6ii+y9QCRSowHdTtH9xOZTjWBn6asKUK2VvtBaUuFH+R62oAZkObLfKzM71wHCqhyVaFPpIs/emndV+mLfBmtivv85Dg9kAwajE+K3kg8lpq3YA0dlY48GAM+FgDklq7wDoVtUaVT/e/YdJDdiUcPrAHmeFJhemkBKMunZ/y6nZDeYGMKmzB8eCBshHW1T6VhuqdabzmI+P2Tpm1OWAWoei88uSBV+o9G7eimfN4O0f9e/enyg9PgL5Xk9tqDP9OKmKilbCNU0dxL6Wgr4aOlo/yGOagQ7yeZqwYRnXndlxArAnNHfRvbzXlML5ktJmWdij2rgsxAQVlVJMF2xaUCcGuUH6n9SpX3f9XR8IF7qQIiTlUWcznXf5/CRZfflqIGuaxkgDEVqaOyX4+VmnNvic2SyTCi5VRWfdgVUAF5dUVtj6KrpwL545dMX7TNg/LMaeHygnr7YxNM2JcEvVOLJrISKolk9oPpxW7ep+JJodLJqnkpN9Vs1IFxsarqzpLKHsrUXGaW1+vrFfj3w8+BA+iOHA1omrxbCJ9F67IP2oUK04+QFgC2Sq8U7x5CGTyVsaL3LLjIp9ywC/NPrC/wCv8Av8C/A/wCpreUSrYyOqQAAAABJRU5ErkJggg==\",\r\n        \"gpayUri\": \"gpay://upi/pay?ver=01&mode=15&am=5.00&mam=1.00&cu=INR&pa=npstpay@timecosmos&pn=NPST%20PAY&mc=6012&tr=NPST040120220010&tn=QR%20SIT%20testing&mid=NPSTPAY001&msid=NPSTPAY001-001&mtid=NPSTPAY001-001&category=02&url=http://google.com\",\r\n        \"phonepeUri\": \"phonepe://pay?ver=01&mode=15&am=5.00&mam=1.00&cu=INR&pa=npstpay@timecosmos&pn=NPST%20PAY&mc=6012&tr=NPST040120220010&tn=QR%20SIT%20testing&mid=NPSTPAY001&msid=NPSTPAY001-001&mtid=NPSTPAY001-001&category=02&url=http://google.com\",\r\n        \"paytmUri\": \"paytmmp://pay?ver=01&mode=15&am=5.00&mam=1.00&cu=INR&pa=npstpay@timecosmos&pn=NPST%20PAY&mc=6012&tr=NPST040120220010&tn=QR%20SIT%20testing&mid=NPSTPAY001&msid=NPSTPAY001-001&mtid=NPSTPAY001-001&category=02&url=http://google.com\",\r\n        \"generatedLink\": \"https://staging.decf.in/pay/514o5z3m9z\"\r\n    },\r\n    \"refund_availability\": \"NONE\",\r\n    \"refundable_amount\": 10.0,\r\n    \"success_redirect\": \"https://api.example.net/getResponse.jsp?success=true\",\r\n    \"failure_redirect\": \"https://api.example.net/getResponse.jsp?success=false\",\r\n    \"cancel_redirect\": \"\",\r\n    \"success_callback\": \"https://api.example.net\",\r\n    \"failure_callback\": \"https://api.example.net\",\r\n    \"platform\": \"API\",\r\n    \"created_from_ip\": \"103.59.75.113\",\r\n    \"checkout_url\": \"https://api.example.net/payments/66c4667bb993c970367c288a/\",\r\n    \"payoutProcess\": false\r\n}"},{"id":"96346270-4286-4d2e-ae76-2bc769748de2","name":"Purchases","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Authorization","value":"Bearer Token","type":"text"}],"url":"https://app.thefundstream.org/api/v1/purchases/{purchaseId}/"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"message\": \"Error Message\",\r\n    \"code\": \"error_code\"\r\n}\r\n"}],"_postman_id":"19f00ae7-f8a4-4607-9711-8972d8ee84da"}],"id":"20580f87-286b-4fa1-b5e1-ac3e7ba284d8","description":"<h3 id=\"payin-api-flow\">PayIn API Flow</h3>\n<ol>\n<li><p><strong>Customer Action:</strong></p>\n<ul>\n<li>Customer selects Cashfree at checkout.</li>\n</ul>\n</li>\n<li><p><strong>Initiation:</strong></p>\n<ul>\n<li><p>Merchant system calls fundstream <code>createPurchase</code> API.</p>\n</li>\n<li><p><strong>Response:</strong> Returns a checkout URL and initiates a callback URL.</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Redirection:</strong></p>\n<ul>\n<li>Customer is redirected to the Cashfree cashier page.</li>\n</ul>\n</li>\n<li><p><strong>Payment Method Selection:</strong></p>\n<ul>\n<li>Cashfree cashier page displays options such as UPI Dynamic QR and UPI ID.</li>\n</ul>\n</li>\n<li><p><strong>Transaction Processing:</strong></p>\n<ul>\n<li>Customer completes the payment using a UPI app.</li>\n</ul>\n</li>\n<li><p><strong>Success Callback:</strong></p>\n<ul>\n<li>On successful payment, Cashfree triggers a success callback.</li>\n</ul>\n</li>\n<li><p><strong>Finalization:</strong></p>\n<ul>\n<li>Customer is redirected back to the merchant site where the transaction status is displayed and the balance is updated.</li>\n</ul>\n</li>\n</ol>\n","_postman_id":"20580f87-286b-4fa1-b5e1-ac3e7ba284d8","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}}},{"name":"Payout","item":[{"name":"Create PayOut","id":"c9a798c3-e9e9-4afe-bab8-943d0f673780","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Content-Type","value":"application/json"},{"key":"Authorization","value":"Bearer Token"}],"body":{"mode":"raw","raw":"{\r\n    \"client\": {\r\n        \"email\": \"yogesh@gmail.com\",\r\n        \"country\": \"CA\",\r\n        \"phone\": \"766225230591\",\r\n        \"full_name\": \"Test Person-uk\"\r\n    },\r\n    \"beneficiaryDetail\": {\r\n        \"upi\": \"alpha@bravo\"\r\n    },\r\n    \"purpose\": \"test payout\",\r\n    \"currency\": \"INR\",\r\n    \"payoutMethod\": \"PAYOUT-CASHFREE\",\r\n    \"amount\": 10,\r\n    \"success_callback\": \"https://success.com\",\r\n    \"failure_callback\": \"https://failure.com\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://app.thefundstream.org/api/v1/payout/","description":"<p>To Initiate a payment, the very first call to make is/payout/</p>\n<p>with the required data in the request body.</p>\n<p>To generate a Payout, you are required to provide the <code>API key</code> (in the header) can be located in the Dashboard section of your merchant account login.</p>\n<p>The request body structure is shown on the request body of the example request shown here.</p>\n<p>The following (see table below) are the mandatory parameters that are required to create a Payout request.</p>\n<h3 id=\"mandatory-parameters-in-the-request-body\"><strong>Mandatory parameters in the request body:</strong></h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Parameter</strong></th>\n<th><strong>Notes</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>client.email</td>\n<td>An Identifier for a user</td>\n</tr>\n<tr>\n<td>client.phone</td>\n<td>An Identifier for a user</td>\n</tr>\n<tr>\n<td>client.full_name</td>\n<td>An Identifier for a user</td>\n</tr>\n<tr>\n<td>client.country</td>\n<td></td>\n</tr>\n<tr>\n<td>payoutMethod</td>\n<td>PAYOUT-CASHFREE</td>\n</tr>\n<tr>\n<td>beneficiaryDetail.upi</td>\n<td>VPA (UPI ID)</td>\n</tr>\n<tr>\n<td>Currency</td>\n<td>Note this is currency account for which you have balance</td>\n</tr>\n<tr>\n<td>Amount</td>\n<td>Amount in Currency</td>\n</tr>\n<tr>\n<td>Purpose</td>\n<td>Purpose of the payment</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}},"urlObject":{"path":["payout",""],"host":["https://app.thefundstream.org/api/v1"],"query":[{"disabled":true,"key":"","value":""},{"disabled":true,"key":null,"value":""}],"variable":[]}},"response":[],"_postman_id":"c9a798c3-e9e9-4afe-bab8-943d0f673780"},{"name":"Get Status","id":"bd3ae532-ee8f-4863-b18e-d37ae368343f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[],"url":"https://app.thefundstream.org/api/v1/getpayout/{payoutId}/","description":"<p>This API tells you about all the details of a Payout, including its history</p>\n<h3 id=\"mandatory\">Mandatory</h3>\n<p>you need to pass the payoutId in the API URL</p>\n<h3 id=\"possible-value-of-status\">Possible Value of Status</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Status</strong></th>\n<th><strong>Notes</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>paid</td>\n<td>Transaction Successful</td>\n</tr>\n<tr>\n<td>payout_in_process</td>\n<td>payout is under Processing.</td>\n</tr>\n<tr>\n<td>error</td>\n<td>Transaction has Failed.</td>\n</tr>\n</tbody>\n</table>\n</div><p>The webhook will only be triggered for paid transactions or errors.</p>\n<p>Paid: \"success_callback\": \"<a href=\"https://success.com\">https://success.com</a>\",</p>\n<p>Error: \"failure_callback\": “<a href=\"https://failure.com%E2%80%9D\">https://failure.com”</a></p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}},"urlObject":{"path":["getpayout","{payoutId}",""],"host":["https://app.thefundstream.org/api/v1"],"query":[],"variable":[]}},"response":[{"id":"61e44ad3-ee03-476c-aa5c-307508bfe4c3","name":"Get success Status","originalRequest":{"method":"GET","header":[],"url":"https://app.thefundstream.org/api/v1/getpayout/{payoutId}/"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"payoutId\": \"66838ae86d41e41c10a8656d\",\r\n    \"client\": {\r\n        \"email\": \"Yogesh@gmail.com\",\r\n        \"phone\": \"766533230591\",\r\n        \"full_name\": \"Test Person-uk\",\r\n        \"country\": \"CA\"\r\n    },\r\n    \"updated_on\": 1719896808,\r\n    \"payoutMethod\": \"PAYOUT-UPI\",\r\n    \"beneficiaryDetail\": {\r\n        \"upi\": \"charles.babbage@okhdfc\",\r\n        \"transferType\": \"UPI\"\r\n    },\r\n    \"amountUnit\": \"MAJOR\",\r\n    \"amount\": 10.0,\r\n    \"errorMsg\": \"\",\r\n    \"purpose\": \"test payout\",\r\n    \"created_on\": 1719896808,\r\n    \"merchantRef\": \"66838ae86d41e41c10a8656d\",\r\n    \"merchantName\": \"newMerchant777\",\r\n    \"status\": \"PAYOUT_IN_PROCESS\",\r\n    \"status_history\": [\r\n        {\r\n            \"status\": \"created\",\r\n            \"timestamp\": 1719896808\r\n        },\r\n        {\r\n            \"status\": \"payout_in_process\",\r\n            \"timestamp\": 1719896810\r\n        },\r\n        {\r\n            \"status\": \"viewed\",\r\n            \"timestamp\": 1719900796\r\n        }\r\n    ],\r\n    \"viewedOn\": 1719900796,\r\n    \"currency\": \"INR\",\r\n    \"paymentOn\": 0,\r\n    \"success_callback\": \"https://success.com\",\r\n    \"failure_callback\": \"https://failure.com\"\r\n}\r\n"},{"id":"3f9e9ac4-46ab-4155-907f-df6ecb4bf337","name":"Get Error Status","originalRequest":{"method":"GET","header":[],"url":"https://app.thefundstream.org/api/v1/getpayout/{payoutId}/"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"message\": \"Error Message\",\r\n    \"code\": \"error_code\"\r\n}"}],"_postman_id":"bd3ae532-ee8f-4863-b18e-d37ae368343f"}],"id":"e64121f8-488a-4ca2-9061-3491de3aeae3","description":"<h3 id=\"payout-api-flow\">Payout API Flow</h3>\n<ol>\n<li><p><strong>Customer Action:</strong></p>\n<ul>\n<li>Customer initiates a payout request on the merchant site and inputs their VPA.</li>\n</ul>\n</li>\n<li><p><strong>Initiation:</strong></p>\n<ul>\n<li><p>Merchant system calls its payout API, which then calls the Cashfree payout API.</p>\n</li>\n<li><p><strong>Input Data:</strong> Includes payout amount, beneficiary details (with VPA), and callback URL.</p>\n</li>\n</ul>\n</li>\n<li><p><strong>Processing:</strong></p>\n<ul>\n<li>Cashfree processes the payout request.</li>\n</ul>\n</li>\n<li><p><strong>Webhook Notification:</strong></p>\n<ul>\n<li>Upon successful payout, Cashfree sends a success webhook.</li>\n</ul>\n</li>\n<li><p><strong>Finalization:</strong></p>\n<ul>\n<li>Merchant system updates both customer and merchant balances accordingly.</li>\n</ul>\n</li>\n</ol>\n","_postman_id":"e64121f8-488a-4ca2-9061-3491de3aeae3","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}}}],"id":"2ff4b73c-2e5a-4ae9-a770-685b0bd8327f","description":"<p>Cashfree is a versatile payment solution that supports both pay-ins (customer payments) and payouts (customer withdrawals) primarily using UPI-based transactions. This integration enables merchants to provide seamless payment experiences on their platforms, offering multiple UPI payment options such as UPI Dynamic QR and UPI ID payments. The integration leverages asynchronous callbacks and webhooks to ensure real-time transaction status updates and balance synchronization between the merchant’s system and Cashfree.</p>\n","_postman_id":"2ff4b73c-2e5a-4ae9-a770-685b0bd8327f","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}}}],"id":"231b25d0-0ff5-49e2-add7-55fd5a40996e","description":"<p>Cashfree is a versatile payment solution that supports both pay-ins (customer payments) and payouts (customer withdrawals) primarily using UPI-based transactions. This integration enables merchants to provide seamless payment experiences on their platforms, offering multiple UPI payment options such as UPI Dynamic QR and UPI ID payments. The integration leverages asynchronous callbacks and webhooks to ensure real-time transaction status updates and balance synchronization between the merchant’s system and Cashfree.</p>\n","_postman_id":"231b25d0-0ff5-49e2-add7-55fd5a40996e","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}}}],"id":"14c12d0f-721a-4bce-939b-016d7f137fca","_postman_id":"14c12d0f-721a-4bce-939b-016d7f137fca","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}}},{"name":"Trust Score","item":[{"name":"TrustScore Detailed","id":"aea39e32-ada2-4e86-a5fe-db4f8729ace4","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"requiredinput\": {\r\n        \"ip\": \"111.11.11.11\",\r\n        \"email\": \"test@gmail.com\",\r\n        \"url\": \"https://www.asos.com/\"\r\n    },\r\n    \"optionalInput\": {\r\n        \"last_bets\": null,\r\n        \"last_wins\": \"\",\r\n        \"total_bonuses\": \"\",\r\n        \"last_real_bets\": \"\",\r\n        \"last_real_wins\": \"\",\r\n        \"total_deposits\": \"\",\r\n        \"last_bonus_bets\": \"\",\r\n        \"last_bonus_wins\": \"\",\r\n        \"average_real_bet\": \"\",\r\n        \"last_bets_amount\": \"\",\r\n        \"last_wins_amount\": \"\",\r\n        \"average_bonus_bet\": \"\",\r\n        \"bonus_to_deposits\": \"\",\r\n        \"last_deposit_date\": \"\",\r\n        \"total_withdrawals\": \"\",\r\n        \"is_phone_confirmed\": \"\",\r\n        \"money_in_money_out\": \"\",\r\n        \"last_deposit_amount\": \"\",\r\n        \"last_freespins_date\": \"\",\r\n        \"last_freespins_name\": \"\",\r\n        \"last_free_bonus_date\": \"\",\r\n        \"last_free_bonus_name\": \"\",\r\n        \"total_bonuses_amount\": \"\",\r\n        \"last_freespins_amount\": \"\",\r\n        \"last_freespins_status\": \"\",\r\n        \"last_real_bets_amount\": \"\",\r\n        \"last_real_wins_amount\": \"\",\r\n        \"total_deposits_amount\": \"\",\r\n        \"last_bonus_bets_amount\": \"\",\r\n        \"last_bonus_wins_amount\": \"\",\r\n        \"last_free_bonus_amount\": \"\",\r\n        \"last_free_bonus_status\": \"\",\r\n        \"last_deposit_bonus_date\": \"\",\r\n        \"last_deposit_bonus_name\": \"\",\r\n        \"last_freespins_currency\": \"\",\r\n        \"last_freespins_wagering\": \"\",\r\n        \"withdrawals_to_deposits\": \"\",\r\n        \"last_free_bonus_currency\": \"\",\r\n        \"last_free_bonus_wagering\": \"\",\r\n        \"total_withdrawals_amount\": \"\",\r\n        \"withdrawal_ewallet_email\": \"\",\r\n        \"last_deposit_bonus_amount\": \"\",\r\n        \"last_deposit_bonus_status\": \"\",\r\n        \"last_deposit_bonus_currency\": \"\",\r\n        \"last_deposit_bonus_wagering\": \"\",\r\n        \"session\": \"\",\r\n        \"payment_mode\": \"\",\r\n        \"card_fullname\": \"\",\r\n        \"card_bin\": \"\",\r\n        \"card_hash\": \"\",\r\n        \"card_last\": \"\",\r\n        \"card_expire\": \"\",\r\n        \"avs_result\": \"\",\r\n        \"cvv_result\": \"\",\r\n        \"sca_method\": \"\",\r\n        \"user_bank_account\": \"\",\r\n        \"user_bank_name\": \"\",\r\n        \"user_balance\": \"\",\r\n        \"user_verification_level\": \"\",\r\n        \"status_3d\": \"\",\r\n        \"regulation\": \"\",\r\n        \"payment_provider\": \"\",\r\n        \"phone_number\": \"\",\r\n        \"transaction_type\": \"\",\r\n        \"transaction_amount\": \"\",\r\n        \"transaction_currency\": \"\",\r\n        \"merchant_id\": \"\",\r\n        \"details_url\": \"\",\r\n        \"name\": \"\",\r\n        \"person_type\": \"\",\r\n        \"gender\": \"\"\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://app.thefundstream.org/api/v1/trustScore","description":"<h3 id=\"overview\">Overview</h3>\n<p>Fundstream TrustScore's proprietary API combines email, phone number, IP and URL so that you can request and receive a user trust score from our enriched data, rules, and scoring in a single API call.</p>\n<p>Our take on Trust is different from the usual approach to fraud. This API tells you how much you can trust this user. It’s based on 100+ data points to which we have access. We use complex algorithms based on data sanity and customer behaviour in our partner network.</p>\n<p>Also, the additional optional parameter would be used to boost the accuracy of our response. So the more data we get the better we can ascertain the users' trust. So please endeavour to send as much information about the user as possible.</p>\n<h3 id=\"trust-score--usage\"><strong>Trust Score &amp; Usage</strong></h3>\n<p>TrustScore offers two distinct endpoints: <code>General</code> and <code>Detailed</code>.</p>\n<p>The General endpoint provides basic information by indicating whether a transaction is permitted or not. It gives a simple 'yes' or 'no' response regarding whether the transaction can proceed.</p>\n<p>On the other hand, the Detailed endpoint offers a more comprehensive evaluation. It furnishes an in-depth analysis of the transaction's authenticity, providing a detailed assessment beyond a simple allowance or denial, offering nuanced insights and information about the transaction's legitimacy.</p>\n<h3 id=\"detailed-trustscore\">Detailed TrustScore</h3>\n<p>Trust scores range from 0 to 5. A trust score of 0 indicates that we have limited information about the user, and it corresponds to the lowest level of trust. In addition to the TrustScore, we offer eight other flags to help assess the user's overall profile and determine appropriate actions to take. We suggest flagging or blocking users, transactions, or clicks as high risk based on a combination of the following factors: email deliverability, proxy usage, VPN usage, Tor usage, and recent abusive behavior.</p>\n<p>Every company has a unique target audience, so you might achieve better results by only flagging or blocking entities with low trust scores and recent instances of abuse. Keep in mind that mobile IP addresses are frequently misused and recycled by mobile carriers. Therefore, for mobile lookups, we advise giving more weight to the trust score, VPN usage, and Tor usage, as opposed to proxy usage.</p>\n<h3 id=\"permission\"><strong>Permission</strong></h3>\n<p>Access to this API has to be given to you by the admin. So please contact your sales representative at Fundstream to get access to this API, if you get a 401 error of \"You are not allowed to call this API service\".</p>\n<h3 id=\"mandatory-parameters-in-body\">Mandatory Parameters (in body)</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Parameters</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>ip</td>\n<td>IP of the user. Both IP4 and IP6 are valid</td>\n</tr>\n<tr>\n<td>email</td>\n<td>The email id of the user you want to trust score on</td>\n</tr>\n<tr>\n<td>url</td>\n<td>The URL on which the user is trying to purchase or consume a product, service or data.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"other-optional-parameters\">Other optional parameters:</h3>\n<p>The optional parameters are self-explanatory and appropriate values can be given in string format.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Parameters</strong></th>\n<th><strong>Values</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>last_bets</td>\n<td>String</td>\n</tr>\n<tr>\n<td>last_wins</td>\n<td>String</td>\n</tr>\n<tr>\n<td>total_bonuses</td>\n<td>String</td>\n</tr>\n<tr>\n<td>last_real_bets</td>\n<td>String</td>\n</tr>\n<tr>\n<td>last_real_wins</td>\n<td>String</td>\n</tr>\n<tr>\n<td>total_deposits</td>\n<td>String</td>\n</tr>\n<tr>\n<td>last_bonus_bets</td>\n<td>String</td>\n</tr>\n<tr>\n<td>last_bonus_wins</td>\n<td>String</td>\n</tr>\n<tr>\n<td>average_real_bet</td>\n<td>String</td>\n</tr>\n<tr>\n<td>last_bets_amount</td>\n<td>String</td>\n</tr>\n<tr>\n<td>last_wins_amount</td>\n<td>String</td>\n</tr>\n<tr>\n<td>average_bonus_bet</td>\n<td>String</td>\n</tr>\n<tr>\n<td>bonus_to_deposits</td>\n<td>String</td>\n</tr>\n<tr>\n<td>last_deposit_date</td>\n<td>String</td>\n</tr>\n<tr>\n<td>total_withdrawals</td>\n<td>String</td>\n</tr>\n<tr>\n<td>is_phone_confirmed</td>\n<td>String</td>\n</tr>\n<tr>\n<td>money_in_money_out</td>\n<td>String</td>\n</tr>\n<tr>\n<td>last_deposit_amount</td>\n<td>String</td>\n</tr>\n<tr>\n<td>last_freespins_date</td>\n<td>String</td>\n</tr>\n<tr>\n<td>last_freespins_name</td>\n<td>String</td>\n</tr>\n<tr>\n<td>last_free_bonus_date</td>\n<td>String</td>\n</tr>\n<tr>\n<td>last_free_bonus_name</td>\n<td>String</td>\n</tr>\n<tr>\n<td>total_bonuses_amount</td>\n<td>String</td>\n</tr>\n<tr>\n<td>last_freespins_amount</td>\n<td>String</td>\n</tr>\n<tr>\n<td>last_freespins_status</td>\n<td>String</td>\n</tr>\n<tr>\n<td>last_real_bets_amount</td>\n<td>String</td>\n</tr>\n<tr>\n<td>last_real_wins_amount</td>\n<td>String</td>\n</tr>\n<tr>\n<td>total_deposits_amount</td>\n<td>String</td>\n</tr>\n<tr>\n<td>last_bonus_bets_amount</td>\n<td>String</td>\n</tr>\n<tr>\n<td>last_bonus_wins_amount</td>\n<td>String</td>\n</tr>\n<tr>\n<td>last_free_bonus_amount</td>\n<td>String</td>\n</tr>\n<tr>\n<td>last_free_bonus_status</td>\n<td>String</td>\n</tr>\n<tr>\n<td>last_deposit_bonus_date</td>\n<td>String</td>\n</tr>\n<tr>\n<td>last_deposit_bonus_name</td>\n<td>String</td>\n</tr>\n<tr>\n<td>last_freespins_currency</td>\n<td>String</td>\n</tr>\n<tr>\n<td>last_freespins_wagering</td>\n<td>String</td>\n</tr>\n<tr>\n<td>withdrawals_to_deposits</td>\n<td>String</td>\n</tr>\n<tr>\n<td>last_free_bonus_currency</td>\n<td>String</td>\n</tr>\n<tr>\n<td>last_free_bonus_wagering</td>\n<td>String</td>\n</tr>\n<tr>\n<td>total_withdrawals_amount</td>\n<td>String</td>\n</tr>\n<tr>\n<td>withdrawal_ewallet_email</td>\n<td>String</td>\n</tr>\n<tr>\n<td>last_deposit_bonus_amount</td>\n<td>String</td>\n</tr>\n<tr>\n<td>last_deposit_bonus_status</td>\n<td>String</td>\n</tr>\n<tr>\n<td>last_deposit_bonus_currency</td>\n<td>String</td>\n</tr>\n<tr>\n<td>last_deposit_bonus_wagering</td>\n<td>String</td>\n</tr>\n<tr>\n<td>session</td>\n<td>String</td>\n</tr>\n<tr>\n<td>payment_mode</td>\n<td>String</td>\n</tr>\n<tr>\n<td>card_fullname</td>\n<td>String</td>\n</tr>\n<tr>\n<td>card_bin</td>\n<td>String</td>\n</tr>\n<tr>\n<td>card_hash</td>\n<td>String</td>\n</tr>\n<tr>\n<td>card_last</td>\n<td>String</td>\n</tr>\n<tr>\n<td>card_expire</td>\n<td>String</td>\n</tr>\n<tr>\n<td>avs_result</td>\n<td>String</td>\n</tr>\n<tr>\n<td>cvv_result</td>\n<td>String</td>\n</tr>\n<tr>\n<td>sca_method</td>\n<td>String</td>\n</tr>\n<tr>\n<td>user_bank_account</td>\n<td>String</td>\n</tr>\n<tr>\n<td>user_bank_name</td>\n<td>String</td>\n</tr>\n<tr>\n<td>user_balance</td>\n<td>String</td>\n</tr>\n<tr>\n<td>user_verification_level</td>\n<td>String</td>\n</tr>\n<tr>\n<td>status_3d</td>\n<td>String</td>\n</tr>\n<tr>\n<td>regulation</td>\n<td>String</td>\n</tr>\n<tr>\n<td>payment_provider</td>\n<td>String</td>\n</tr>\n<tr>\n<td>phone_number</td>\n<td>String</td>\n</tr>\n<tr>\n<td>transaction_type</td>\n<td>String</td>\n</tr>\n<tr>\n<td>transaction_amount</td>\n<td>String</td>\n</tr>\n<tr>\n<td>transaction_currency</td>\n<td>String</td>\n</tr>\n<tr>\n<td>merchant_id</td>\n<td>String</td>\n</tr>\n<tr>\n<td>details_url</td>\n<td>String</td>\n</tr>\n<tr>\n<td>name</td>\n<td>String</td>\n</tr>\n<tr>\n<td>person_type</td>\n<td>String</td>\n</tr>\n<tr>\n<td>gender</td>\n<td>String</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"response\">Response</h3>\n<p>In the response examples, you can observe both instances of a successful TrustScore response and an unsuccessful one.</p>\n<p>Please note that there are a lot of parameters to determine the trust level and give you some additional details on the email and IP of the user.</p>\n<p>in a successful trust score call the following data would be provided:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Response Item</strong></th>\n<th><strong>Description</strong></th>\n<th><strong>Possible Values</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>trustScore</td>\n<td>The trust score attributed to the user by our algorithms</td>\n<td>Integer 0 to 5</td>\n</tr>\n<tr>\n<td>deliverable</td>\n<td>Whether the email is deliverable, usually false means it wouldn't be a trustable user.</td>\n<td><strong>Boolean</strong></td>\n</tr>\n<tr>\n<td>proxy</td>\n<td>Is this IP address suspected to be a proxy? (SOCKS, Elite, Anonymous, VPN, Tor, etc.)</td>\n<td><strong>Boolean</strong></td>\n</tr>\n<tr>\n<td>vpn</td>\n<td>Is this IP suspected of being a VPN connection? This can include data center ranges which can become active VPNs at any time. The \"proxy\" status will always be true when this value is true.</td>\n<td><strong>Boolean</strong></td>\n</tr>\n<tr>\n<td>tor</td>\n<td>Is this IP suspected of being a TOR connection? This can include previously active TOR nodes and exits which can become active TOR exits at any time. The \"proxy\" status will always be true when this value is true.</td>\n<td><strong>Boolean</strong></td>\n</tr>\n<tr>\n<td>active_vpn</td>\n<td>Identifies active VPN connections used by popular VPN services and private VPN servers.</td>\n<td><strong>Boolean</strong></td>\n</tr>\n<tr>\n<td>active_tor</td>\n<td>Identifies active TOR exits on the TOR network.</td>\n<td><strong>Boolean</strong></td>\n</tr>\n<tr>\n<td>recent_abuse</td>\n<td>This value indicates whether the IP address has been associated with any recently verified abuse on our network, such as a confirmed chargeback, compromised device, or fake app install.</td>\n<td><strong>Boolean</strong></td>\n</tr>\n<tr>\n<td>bot_status</td>\n<td>Shows whether bots or non-human traffic recently used this IP address to engage in automated fraud. This provides strong evidence that the IP address is suspicious.</td>\n<td><strong>Boolean</strong></td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"errors\">Errors</h3>\n<p>If there are any errors then it'll be in the format of :</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"descriptive error message\",\n    \"code\": \"error_code\"\n}\n\n</code></pre>\n<h3 id=\"possible-error-messages\">Possible Error Messages</h3>\n<p>the possible error codes one can get on calling this APIs are:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Code</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>400, 404, 401, 415, 405</td>\n</tr>\n</tbody>\n</table>\n</div><p>for example:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Code</strong></th>\n<th><strong>Error Messages</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>401</td>\n<td>Incorrect secret_key</td>\n</tr>\n<tr>\n<td>401</td>\n<td>You are not Allowed to call this API service</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}},"urlObject":{"path":["trustScore"],"host":["https://app.thefundstream.org/api/v1"],"query":[],"variable":[]}},"response":[{"id":"f0a18858-5761-4e7e-a145-7a5e7fe17cf3","name":"TrustScoreExists","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"requiredinput\": {\r\n        \"ip\": \"2001:8004:cc2:fadb:9958:4523:6c42:e3f2\",\r\n        \"email\": \"test@gmail.com\",\r\n        \"url\": \"http://test.com\"\r\n    },\r\n    \"optionalInput\": {\r\n        \"last_bets\": null,\r\n        \"last_wins\": \"\",\r\n        \"total_bonuses\": \"\",\r\n        \"last_real_bets\": \"\",\r\n        \"last_real_wins\": \"\",\r\n        \"total_deposits\": \"\",\r\n        \"last_bonus_bets\": \"\",\r\n        \"last_bonus_wins\": \"\",\r\n        \"average_real_bet\": \"\",\r\n        \"last_bets_amount\": \"\",\r\n        \"last_wins_amount\": \"\",\r\n        \"average_bonus_bet\": \"\",\r\n        \"bonus_to_deposits\": \"\",\r\n        \"last_deposit_date\": \"\",\r\n        \"total_withdrawals\": \"\",\r\n        \"is_phone_confirmed\": \"\",\r\n        \"money_in_money_out\": \"\",\r\n        \"last_deposit_amount\": \"\",\r\n        \"last_freespins_date\": \"\",\r\n        \"last_freespins_name\": \"\",\r\n        \"last_free_bonus_date\": \"\",\r\n        \"last_free_bonus_name\": \"\",\r\n        \"total_bonuses_amount\": \"\",\r\n        \"last_freespins_amount\": \"\",\r\n        \"last_freespins_status\": \"\",\r\n        \"last_real_bets_amount\": \"\",\r\n        \"last_real_wins_amount\": \"\",\r\n        \"total_deposits_amount\": \"\",\r\n        \"last_bonus_bets_amount\": \"\",\r\n        \"last_bonus_wins_amount\": \"\",\r\n        \"last_free_bonus_amount\": \"\",\r\n        \"last_free_bonus_status\": \"\",\r\n        \"last_deposit_bonus_date\": \"\",\r\n        \"last_deposit_bonus_name\": \"\",\r\n        \"last_freespins_currency\": \"\",\r\n        \"last_freespins_wagering\": \"\",\r\n        \"withdrawals_to_deposits\": \"\",\r\n        \"last_free_bonus_currency\": \"\",\r\n        \"last_free_bonus_wagering\": \"\",\r\n        \"total_withdrawals_amount\": \"\",\r\n        \"withdrawal_ewallet_email\": \"\",\r\n        \"last_deposit_bonus_amount\": \"\",\r\n        \"last_deposit_bonus_status\": \"\",\r\n        \"last_deposit_bonus_currency\": \"\",\r\n        \"last_deposit_bonus_wagering\": \"\",\r\n        \"session\": \"\",\r\n        \"payment_mode\": \"\",\r\n        \"card_fullname\": \"\",\r\n        \"card_bin\": \"\",\r\n        \"card_hash\": \"\",\r\n        \"card_last\": \"\",\r\n        \"card_expire\": \"\",\r\n        \"avs_result\": \"\",\r\n        \"cvv_result\": \"\",\r\n        \"sca_method\": \"\",\r\n        \"user_bank_account\": \"\",\r\n        \"user_bank_name\": \"\",\r\n        \"user_balance\": \"\",\r\n        \"user_verification_level\": \"\",\r\n        \"status_3d\": \"\",\r\n        \"regulation\": \"\",\r\n        \"payment_provider\": \"\",\r\n        \"phone_number\": \"\",\r\n        \"transaction_type\": \"\",\r\n        \"transaction_amount\": \"\",\r\n        \"transaction_currency\": \"\",\r\n        \"merchant_id\": \"\",\r\n        \"details_url\": \"\",\r\n        \"name\": \"\",\r\n        \"person_type\": \"\",\r\n        \"gender\": \"\"\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://app.thefundstream.org/api/v1/trustScore"},"status":"Accepted","code":202,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sun, 29 Oct 2023 09:21:22 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"Cache-Control","value":"no-cache, no-store, max-age=0, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Expires","value":"0"},{"key":"X-Frame-Options","value":"DENY"},{"key":"CF-Cache-Status","value":"DYNAMIC"},{"key":"Report-To","value":"{\"endpoints\":[{\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v3?s=r2%2FuLwSilxdD1lpiI1VqpgF0Tu9etiNhupySeBHl0zcU8XV1z8kwR%2FJ00ti4xpMdrTXW%2BkqZkLGrkkaUnMWFsaYlg%2FfA9UC4wIKwmc9LHUwna491EmnC3b3vlabzhUJ11CMpnVmicUE%3D\"}],\"group\":\"cf-nel\",\"max_age\":604800}"},{"key":"NEL","value":"{\"success_fraction\":0,\"report_to\":\"cf-nel\",\"max_age\":604800}"},{"key":"Server","value":"cloudflare"},{"key":"CF-RAY","value":"81da590e8d4345a0-LHR"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"trustScore\": 0,\n    \"deliverable\": \"false\",\n    \"proxy\": \"false\",\n    \"vpn\": \"false\",\n    \"tor\": \"false\",\n    \"active_vpn\": \"false\",\n    \"active_tor\": \"false\",\n    \"recent_abuse\": \"false\",\n    \"bot_status\": \"false\"\n}"},{"id":"5b4667bb-2635-42e1-b048-76982d03a80e","name":"TrustScoreError","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"requiredinput\": {\r\n        \"ip\": \"2001:8004:cc2:fadb:9958:4523:6c42:e3f2\",\r\n        \"email\": \"test@gmail.com\",\r\n        \"url\": \"http://test.com\"\r\n    },\r\n    \"optionalInput\": {\r\n        \"last_bets\": null,\r\n        \"last_wins\": \"\",\r\n        \"total_bonuses\": \"\",\r\n        \"last_real_bets\": \"\",\r\n        \"last_real_wins\": \"\",\r\n        \"total_deposits\": \"\",\r\n        \"last_bonus_bets\": \"\",\r\n        \"last_bonus_wins\": \"\",\r\n        \"average_real_bet\": \"\",\r\n        \"last_bets_amount\": \"\",\r\n        \"last_wins_amount\": \"\",\r\n        \"average_bonus_bet\": \"\",\r\n        \"bonus_to_deposits\": \"\",\r\n        \"last_deposit_date\": \"\",\r\n        \"total_withdrawals\": \"\",\r\n        \"is_phone_confirmed\": \"\",\r\n        \"money_in_money_out\": \"\",\r\n        \"last_deposit_amount\": \"\",\r\n        \"last_freespins_date\": \"\",\r\n        \"last_freespins_name\": \"\",\r\n        \"last_free_bonus_date\": \"\",\r\n        \"last_free_bonus_name\": \"\",\r\n        \"total_bonuses_amount\": \"\",\r\n        \"last_freespins_amount\": \"\",\r\n        \"last_freespins_status\": \"\",\r\n        \"last_real_bets_amount\": \"\",\r\n        \"last_real_wins_amount\": \"\",\r\n        \"total_deposits_amount\": \"\",\r\n        \"last_bonus_bets_amount\": \"\",\r\n        \"last_bonus_wins_amount\": \"\",\r\n        \"last_free_bonus_amount\": \"\",\r\n        \"last_free_bonus_status\": \"\",\r\n        \"last_deposit_bonus_date\": \"\",\r\n        \"last_deposit_bonus_name\": \"\",\r\n        \"last_freespins_currency\": \"\",\r\n        \"last_freespins_wagering\": \"\",\r\n        \"withdrawals_to_deposits\": \"\",\r\n        \"last_free_bonus_currency\": \"\",\r\n        \"last_free_bonus_wagering\": \"\",\r\n        \"total_withdrawals_amount\": \"\",\r\n        \"withdrawal_ewallet_email\": \"\",\r\n        \"last_deposit_bonus_amount\": \"\",\r\n        \"last_deposit_bonus_status\": \"\",\r\n        \"last_deposit_bonus_currency\": \"\",\r\n        \"last_deposit_bonus_wagering\": \"\",\r\n        \"session\": \"\",\r\n        \"payment_mode\": \"\",\r\n        \"card_fullname\": \"\",\r\n        \"card_bin\": \"\",\r\n        \"card_hash\": \"\",\r\n        \"card_last\": \"\",\r\n        \"card_expire\": \"\",\r\n        \"avs_result\": \"\",\r\n        \"cvv_result\": \"\",\r\n        \"sca_method\": \"\",\r\n        \"user_bank_account\": \"\",\r\n        \"user_bank_name\": \"\",\r\n        \"user_balance\": \"\",\r\n        \"user_verification_level\": \"\",\r\n        \"status_3d\": \"\",\r\n        \"regulation\": \"\",\r\n        \"payment_provider\": \"\",\r\n        \"phone_number\": \"\",\r\n        \"transaction_type\": \"\",\r\n        \"transaction_amount\": \"\",\r\n        \"transaction_currency\": \"\",\r\n        \"merchant_id\": \"\",\r\n        \"details_url\": \"\",\r\n        \"name\": \"\",\r\n        \"person_type\": \"\",\r\n        \"gender\": \"\"\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":"example/trustScore"},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sun, 29 Oct 2023 09:28:33 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"Cache-Control","value":"no-cache, no-store, max-age=0, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Expires","value":"0"},{"key":"X-Frame-Options","value":"DENY"},{"key":"CF-Cache-Status","value":"DYNAMIC"},{"key":"Report-To","value":"{\"endpoints\":[{\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v3?s=herXY1o%2BFZa%2F3qNFjvh4ANgP%2FD0DdAVVFm0vUZDAst2rFkieItm%2Fu0VN24DYrdp7MHMHFKWLvrsBYVIxjDPDaLgJjeGBvlTP2iZoB5EnG1hPPHUVXRNP%2FGMmOTh%2Fp7gsyj0vihW1kMk%3D\"}],\"group\":\"cf-nel\",\"max_age\":604800}"},{"key":"NEL","value":"{\"success_fraction\":0,\"report_to\":\"cf-nel\",\"max_age\":604800}"},{"key":"Server","value":"cloudflare"},{"key":"CF-RAY","value":"81da6398ab144913-LHR"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Incorrect secret_key\",\n    \"code\": \"authentication_failed\"\n}"}],"_postman_id":"aea39e32-ada2-4e86-a5fe-db4f8729ace4"},{"name":"checkTransactionAllowed","id":"7dadd5ad-9e95-4e62-93ef-b0c91fe5ae9c","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"requiredinput\": {\r\n        \"ip\": \"111.11.11.11\",\r\n        \"email\": \"test@gmail.com\",\r\n        \"url\": \"https://www.asos.com/\"\r\n    },\r\n    \"optionalInput\": {\r\n        \"last_bets\": null,\r\n        \"last_wins\": \"\",\r\n        \"total_bonuses\": \"\",\r\n        \"last_real_bets\": \"\",\r\n        \"last_real_wins\": \"\",\r\n        \"total_deposits\": \"\",\r\n        \"last_bonus_bets\": \"\",\r\n        \"last_bonus_wins\": \"\",\r\n        \"average_real_bet\": \"\",\r\n        \"last_bets_amount\": \"\",\r\n        \"last_wins_amount\": \"\",\r\n        \"average_bonus_bet\": \"\",\r\n        \"bonus_to_deposits\": \"\",\r\n        \"last_deposit_date\": \"\",\r\n        \"total_withdrawals\": \"\",\r\n        \"is_phone_confirmed\": \"\",\r\n        \"money_in_money_out\": \"\",\r\n        \"last_deposit_amount\": \"\",\r\n        \"last_freespins_date\": \"\",\r\n        \"last_freespins_name\": \"\",\r\n        \"last_free_bonus_date\": \"\",\r\n        \"last_free_bonus_name\": \"\",\r\n        \"total_bonuses_amount\": \"\",\r\n        \"last_freespins_amount\": \"\",\r\n        \"last_freespins_status\": \"\",\r\n        \"last_real_bets_amount\": \"\",\r\n        \"last_real_wins_amount\": \"\",\r\n        \"total_deposits_amount\": \"\",\r\n        \"last_bonus_bets_amount\": \"\",\r\n        \"last_bonus_wins_amount\": \"\",\r\n        \"last_free_bonus_amount\": \"\",\r\n        \"last_free_bonus_status\": \"\",\r\n        \"last_deposit_bonus_date\": \"\",\r\n        \"last_deposit_bonus_name\": \"\",\r\n        \"last_freespins_currency\": \"\",\r\n        \"last_freespins_wagering\": \"\",\r\n        \"withdrawals_to_deposits\": \"\",\r\n        \"last_free_bonus_currency\": \"\",\r\n        \"last_free_bonus_wagering\": \"\",\r\n        \"total_withdrawals_amount\": \"\",\r\n        \"withdrawal_ewallet_email\": \"\",\r\n        \"last_deposit_bonus_amount\": \"\",\r\n        \"last_deposit_bonus_status\": \"\",\r\n        \"last_deposit_bonus_currency\": \"\",\r\n        \"last_deposit_bonus_wagering\": \"\",\r\n        \"session\": \"\",\r\n        \"payment_mode\": \"\",\r\n        \"card_fullname\": \"\",\r\n        \"card_bin\": \"\",\r\n        \"card_hash\": \"\",\r\n        \"card_last\": \"\",\r\n        \"card_expire\": \"\",\r\n        \"avs_result\": \"\",\r\n        \"cvv_result\": \"\",\r\n        \"sca_method\": \"\",\r\n        \"user_bank_account\": \"\",\r\n        \"user_bank_name\": \"\",\r\n        \"user_balance\": \"\",\r\n        \"user_verification_level\": \"\",\r\n        \"status_3d\": \"\",\r\n        \"regulation\": \"\",\r\n        \"payment_provider\": \"\",\r\n        \"phone_number\": \"\",\r\n        \"transaction_type\": \"\",\r\n        \"transaction_amount\": \"\",\r\n        \"transaction_currency\": \"\",\r\n        \"merchant_id\": \"\",\r\n        \"details_url\": \"\",\r\n        \"name\": \"\",\r\n        \"person_type\": \"\",\r\n        \"gender\": \"\"\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://app.thefundstream.org/api/v1/checkTransAllowed","description":"<h3 id=\"general-trustscore\">General TrustScore</h3>\n<p>Request for the checkTransactionAllowed endpoint is identical to the TrustScore API. Only thing different is the response. Instead of detailed score, this endpoint only returns <code>transactionAllowed</code> parameter that can have either <code>YES</code> or <code>NO</code> value.</p>\n<h3 id=\"permission\"><strong>Permission</strong></h3>\n<p>Access to this API has to be given to you by the admin. So please contact your sales representative at Fundstream to get access to this API, if you get a 401 error of \"You are not allowed to call this API service\".</p>\n<h3 id=\"mandatory-parameters-in-body\">Mandatory Parameters (in body)</h3>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Parameters</strong></th>\n<th><strong>Description</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>ip</td>\n<td>IP of the user. Both IP4 and IP6 are valid</td>\n</tr>\n<tr>\n<td>email</td>\n<td>The email id of the user you want to trust score on</td>\n</tr>\n<tr>\n<td>url</td>\n<td>The URL on which the user is trying to purchase or consume a product, service or data.</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"other-optional-paramters\">Other optional paramters:</h3>\n<p>The optional parameters are self-explanatory and appropriate values can be given in string format.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Parameters</strong></th>\n<th><strong>Values</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>last_bets</td>\n<td>String</td>\n</tr>\n<tr>\n<td>last_wins</td>\n<td>String</td>\n</tr>\n<tr>\n<td>total_bonuses</td>\n<td>String</td>\n</tr>\n<tr>\n<td>last_real_bets</td>\n<td>String</td>\n</tr>\n<tr>\n<td>last_real_wins</td>\n<td>String</td>\n</tr>\n<tr>\n<td>total_deposits</td>\n<td>String</td>\n</tr>\n<tr>\n<td>last_bonus_bets</td>\n<td>String</td>\n</tr>\n<tr>\n<td>last_bonus_wins</td>\n<td>String</td>\n</tr>\n<tr>\n<td>average_real_bet</td>\n<td>String</td>\n</tr>\n<tr>\n<td>last_bets_amount</td>\n<td>String</td>\n</tr>\n<tr>\n<td>last_wins_amount</td>\n<td>String</td>\n</tr>\n<tr>\n<td>average_bonus_bet</td>\n<td>String</td>\n</tr>\n<tr>\n<td>bonus_to_deposits</td>\n<td>String</td>\n</tr>\n<tr>\n<td>last_deposit_date</td>\n<td>String</td>\n</tr>\n<tr>\n<td>total_withdrawals</td>\n<td>String</td>\n</tr>\n<tr>\n<td>is_phone_confirmed</td>\n<td>String</td>\n</tr>\n<tr>\n<td>money_in_money_out</td>\n<td>String</td>\n</tr>\n<tr>\n<td>last_deposit_amount</td>\n<td>String</td>\n</tr>\n<tr>\n<td>last_freespins_date</td>\n<td>String</td>\n</tr>\n<tr>\n<td>last_freespins_name</td>\n<td>String</td>\n</tr>\n<tr>\n<td>last_free_bonus_date</td>\n<td>String</td>\n</tr>\n<tr>\n<td>last_free_bonus_name</td>\n<td>String</td>\n</tr>\n<tr>\n<td>total_bonuses_amount</td>\n<td>String</td>\n</tr>\n<tr>\n<td>last_freespins_amount</td>\n<td>String</td>\n</tr>\n<tr>\n<td>last_freespins_status</td>\n<td>String</td>\n</tr>\n<tr>\n<td>last_real_bets_amount</td>\n<td>String</td>\n</tr>\n<tr>\n<td>last_real_wins_amount</td>\n<td>String</td>\n</tr>\n<tr>\n<td>total_deposits_amount</td>\n<td>String</td>\n</tr>\n<tr>\n<td>last_bonus_bets_amount</td>\n<td>String</td>\n</tr>\n<tr>\n<td>last_bonus_wins_amount</td>\n<td>String</td>\n</tr>\n<tr>\n<td>last_free_bonus_amount</td>\n<td>String</td>\n</tr>\n<tr>\n<td>last_free_bonus_status</td>\n<td>String</td>\n</tr>\n<tr>\n<td>last_deposit_bonus_date</td>\n<td>String</td>\n</tr>\n<tr>\n<td>last_deposit_bonus_name</td>\n<td>String</td>\n</tr>\n<tr>\n<td>last_freespins_currency</td>\n<td>String</td>\n</tr>\n<tr>\n<td>last_freespins_wagering</td>\n<td>String</td>\n</tr>\n<tr>\n<td>withdrawals_to_deposits</td>\n<td>String</td>\n</tr>\n<tr>\n<td>last_free_bonus_currency</td>\n<td>String</td>\n</tr>\n<tr>\n<td>last_free_bonus_wagering</td>\n<td>String</td>\n</tr>\n<tr>\n<td>total_withdrawals_amount</td>\n<td>String</td>\n</tr>\n<tr>\n<td>withdrawal_ewallet_email</td>\n<td>String</td>\n</tr>\n<tr>\n<td>last_deposit_bonus_amount</td>\n<td>String</td>\n</tr>\n<tr>\n<td>last_deposit_bonus_status</td>\n<td>String</td>\n</tr>\n<tr>\n<td>last_deposit_bonus_currency</td>\n<td>String</td>\n</tr>\n<tr>\n<td>last_deposit_bonus_wagering</td>\n<td>String</td>\n</tr>\n<tr>\n<td>session</td>\n<td>String</td>\n</tr>\n<tr>\n<td>payment_mode</td>\n<td>String</td>\n</tr>\n<tr>\n<td>card_fullname</td>\n<td>String</td>\n</tr>\n<tr>\n<td>card_bin</td>\n<td>String</td>\n</tr>\n<tr>\n<td>card_hash</td>\n<td>String</td>\n</tr>\n<tr>\n<td>card_last</td>\n<td>String</td>\n</tr>\n<tr>\n<td>card_expire</td>\n<td>String</td>\n</tr>\n<tr>\n<td>avs_result</td>\n<td>String</td>\n</tr>\n<tr>\n<td>cvv_result</td>\n<td>String</td>\n</tr>\n<tr>\n<td>sca_method</td>\n<td>String</td>\n</tr>\n<tr>\n<td>user_bank_account</td>\n<td>String</td>\n</tr>\n<tr>\n<td>user_bank_name</td>\n<td>String</td>\n</tr>\n<tr>\n<td>user_balance</td>\n<td>String</td>\n</tr>\n<tr>\n<td>user_verification_level</td>\n<td>String</td>\n</tr>\n<tr>\n<td>status_3d</td>\n<td>String</td>\n</tr>\n<tr>\n<td>regulation</td>\n<td>String</td>\n</tr>\n<tr>\n<td>payment_provider</td>\n<td>String</td>\n</tr>\n<tr>\n<td>phone_number</td>\n<td>String</td>\n</tr>\n<tr>\n<td>transaction_type</td>\n<td>String</td>\n</tr>\n<tr>\n<td>transaction_amount</td>\n<td>String</td>\n</tr>\n<tr>\n<td>transaction_currency</td>\n<td>String</td>\n</tr>\n<tr>\n<td>merchant_id</td>\n<td>String</td>\n</tr>\n<tr>\n<td>details_url</td>\n<td>String</td>\n</tr>\n<tr>\n<td>name</td>\n<td>String</td>\n</tr>\n<tr>\n<td>person_type</td>\n<td>String</td>\n</tr>\n<tr>\n<td>gender</td>\n<td>String</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"response\">Response</h3>\n<p>Response contains a single parameter: <code>transactionAllowed</code> which can either be <code>YES</code> or <code>NO</code> .</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n\"transactionAllowed\" : \"YES\"\n}\n\n</code></pre>\n<p>If there are any errors then it'll be in the format of :</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"message\": \"descriptive error message\",\n    \"code\": \"error_code\"\n}\n\n</code></pre>\n<h3 id=\"possible-error-messages\">Possible Error Messages</h3>\n<p>the possible error codes one can get on calling this APIs are:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Code</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>400, 404, 401, 415, 405</td>\n</tr>\n</tbody>\n</table>\n</div><p>for example:</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th><strong>Code</strong></th>\n<th><strong>Error Messages</strong></th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>401</td>\n<td>Incorrect secret_key</td>\n</tr>\n<tr>\n<td>401</td>\n<td>You are not Allowed to call this API service</td>\n</tr>\n</tbody>\n</table>\n</div>","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}},"urlObject":{"path":["checkTransAllowed"],"host":["https://app.thefundstream.org/api/v1"],"query":[],"variable":[]}},"response":[{"id":"acca5fb3-72a9-45af-a48f-7ab484b4d1c7","name":"TrustScoreExists","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"requiredinput\": {\r\n        \"ip\": \"2001:8004:cc2:fadb:9958:4523:6c42:e3f2\",\r\n        \"email\": \"test@gmail.com\",\r\n        \"url\": \"http://test.com\"\r\n    },\r\n    \"optionalInput\": {\r\n        \"last_bets\": null,\r\n        \"last_wins\": \"\",\r\n        \"total_bonuses\": \"\",\r\n        \"last_real_bets\": \"\",\r\n        \"last_real_wins\": \"\",\r\n        \"total_deposits\": \"\",\r\n        \"last_bonus_bets\": \"\",\r\n        \"last_bonus_wins\": \"\",\r\n        \"average_real_bet\": \"\",\r\n        \"last_bets_amount\": \"\",\r\n        \"last_wins_amount\": \"\",\r\n        \"average_bonus_bet\": \"\",\r\n        \"bonus_to_deposits\": \"\",\r\n        \"last_deposit_date\": \"\",\r\n        \"total_withdrawals\": \"\",\r\n        \"is_phone_confirmed\": \"\",\r\n        \"money_in_money_out\": \"\",\r\n        \"last_deposit_amount\": \"\",\r\n        \"last_freespins_date\": \"\",\r\n        \"last_freespins_name\": \"\",\r\n        \"last_free_bonus_date\": \"\",\r\n        \"last_free_bonus_name\": \"\",\r\n        \"total_bonuses_amount\": \"\",\r\n        \"last_freespins_amount\": \"\",\r\n        \"last_freespins_status\": \"\",\r\n        \"last_real_bets_amount\": \"\",\r\n        \"last_real_wins_amount\": \"\",\r\n        \"total_deposits_amount\": \"\",\r\n        \"last_bonus_bets_amount\": \"\",\r\n        \"last_bonus_wins_amount\": \"\",\r\n        \"last_free_bonus_amount\": \"\",\r\n        \"last_free_bonus_status\": \"\",\r\n        \"last_deposit_bonus_date\": \"\",\r\n        \"last_deposit_bonus_name\": \"\",\r\n        \"last_freespins_currency\": \"\",\r\n        \"last_freespins_wagering\": \"\",\r\n        \"withdrawals_to_deposits\": \"\",\r\n        \"last_free_bonus_currency\": \"\",\r\n        \"last_free_bonus_wagering\": \"\",\r\n        \"total_withdrawals_amount\": \"\",\r\n        \"withdrawal_ewallet_email\": \"\",\r\n        \"last_deposit_bonus_amount\": \"\",\r\n        \"last_deposit_bonus_status\": \"\",\r\n        \"last_deposit_bonus_currency\": \"\",\r\n        \"last_deposit_bonus_wagering\": \"\",\r\n        \"session\": \"\",\r\n        \"payment_mode\": \"\",\r\n        \"card_fullname\": \"\",\r\n        \"card_bin\": \"\",\r\n        \"card_hash\": \"\",\r\n        \"card_last\": \"\",\r\n        \"card_expire\": \"\",\r\n        \"avs_result\": \"\",\r\n        \"cvv_result\": \"\",\r\n        \"sca_method\": \"\",\r\n        \"user_bank_account\": \"\",\r\n        \"user_bank_name\": \"\",\r\n        \"user_balance\": \"\",\r\n        \"user_verification_level\": \"\",\r\n        \"status_3d\": \"\",\r\n        \"regulation\": \"\",\r\n        \"payment_provider\": \"\",\r\n        \"phone_number\": \"\",\r\n        \"transaction_type\": \"\",\r\n        \"transaction_amount\": \"\",\r\n        \"transaction_currency\": \"\",\r\n        \"merchant_id\": \"\",\r\n        \"details_url\": \"\",\r\n        \"name\": \"\",\r\n        \"person_type\": \"\",\r\n        \"gender\": \"\"\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.example.net/api/v1/checkTransAllowed"},"status":"Accepted","code":202,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sun, 29 Oct 2023 09:21:22 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"Cache-Control","value":"no-cache, no-store, max-age=0, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Expires","value":"0"},{"key":"X-Frame-Options","value":"DENY"},{"key":"CF-Cache-Status","value":"DYNAMIC"},{"key":"Report-To","value":"{\"endpoints\":[{\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v3?s=r2%2FuLwSilxdD1lpiI1VqpgF0Tu9etiNhupySeBHl0zcU8XV1z8kwR%2FJ00ti4xpMdrTXW%2BkqZkLGrkkaUnMWFsaYlg%2FfA9UC4wIKwmc9LHUwna491EmnC3b3vlabzhUJ11CMpnVmicUE%3D\"}],\"group\":\"cf-nel\",\"max_age\":604800}"},{"key":"NEL","value":"{\"success_fraction\":0,\"report_to\":\"cf-nel\",\"max_age\":604800}"},{"key":"Server","value":"cloudflare"},{"key":"CF-RAY","value":"81da590e8d4345a0-LHR"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"transactionAllowed\": \"YES\"\n}"},{"id":"5dd375c2-3864-446f-8cf2-705417ce4d29","name":"TrustScoreError","originalRequest":{"method":"POST","header":[],"body":{"mode":"raw","raw":"{\r\n    \"requiredinput\": {\r\n        \"ip\": \"2001:8004:cc2:fadb:9958:4523:6c42:e3f2\",\r\n        \"email\": \"test@gmail.com\",\r\n        \"url\": \"http://test.com\"\r\n    },\r\n    \"optionalInput\": {\r\n        \"last_bets\": null,\r\n        \"last_wins\": \"\",\r\n        \"total_bonuses\": \"\",\r\n        \"last_real_bets\": \"\",\r\n        \"last_real_wins\": \"\",\r\n        \"total_deposits\": \"\",\r\n        \"last_bonus_bets\": \"\",\r\n        \"last_bonus_wins\": \"\",\r\n        \"average_real_bet\": \"\",\r\n        \"last_bets_amount\": \"\",\r\n        \"last_wins_amount\": \"\",\r\n        \"average_bonus_bet\": \"\",\r\n        \"bonus_to_deposits\": \"\",\r\n        \"last_deposit_date\": \"\",\r\n        \"total_withdrawals\": \"\",\r\n        \"is_phone_confirmed\": \"\",\r\n        \"money_in_money_out\": \"\",\r\n        \"last_deposit_amount\": \"\",\r\n        \"last_freespins_date\": \"\",\r\n        \"last_freespins_name\": \"\",\r\n        \"last_free_bonus_date\": \"\",\r\n        \"last_free_bonus_name\": \"\",\r\n        \"total_bonuses_amount\": \"\",\r\n        \"last_freespins_amount\": \"\",\r\n        \"last_freespins_status\": \"\",\r\n        \"last_real_bets_amount\": \"\",\r\n        \"last_real_wins_amount\": \"\",\r\n        \"total_deposits_amount\": \"\",\r\n        \"last_bonus_bets_amount\": \"\",\r\n        \"last_bonus_wins_amount\": \"\",\r\n        \"last_free_bonus_amount\": \"\",\r\n        \"last_free_bonus_status\": \"\",\r\n        \"last_deposit_bonus_date\": \"\",\r\n        \"last_deposit_bonus_name\": \"\",\r\n        \"last_freespins_currency\": \"\",\r\n        \"last_freespins_wagering\": \"\",\r\n        \"withdrawals_to_deposits\": \"\",\r\n        \"last_free_bonus_currency\": \"\",\r\n        \"last_free_bonus_wagering\": \"\",\r\n        \"total_withdrawals_amount\": \"\",\r\n        \"withdrawal_ewallet_email\": \"\",\r\n        \"last_deposit_bonus_amount\": \"\",\r\n        \"last_deposit_bonus_status\": \"\",\r\n        \"last_deposit_bonus_currency\": \"\",\r\n        \"last_deposit_bonus_wagering\": \"\",\r\n        \"session\": \"\",\r\n        \"payment_mode\": \"\",\r\n        \"card_fullname\": \"\",\r\n        \"card_bin\": \"\",\r\n        \"card_hash\": \"\",\r\n        \"card_last\": \"\",\r\n        \"card_expire\": \"\",\r\n        \"avs_result\": \"\",\r\n        \"cvv_result\": \"\",\r\n        \"sca_method\": \"\",\r\n        \"user_bank_account\": \"\",\r\n        \"user_bank_name\": \"\",\r\n        \"user_balance\": \"\",\r\n        \"user_verification_level\": \"\",\r\n        \"status_3d\": \"\",\r\n        \"regulation\": \"\",\r\n        \"payment_provider\": \"\",\r\n        \"phone_number\": \"\",\r\n        \"transaction_type\": \"\",\r\n        \"transaction_amount\": \"\",\r\n        \"transaction_currency\": \"\",\r\n        \"merchant_id\": \"\",\r\n        \"details_url\": \"\",\r\n        \"name\": \"\",\r\n        \"person_type\": \"\",\r\n        \"gender\": \"\"\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://app.thefundstream.org/api/v1/checkTransAllowed"},"status":"Unauthorized","code":401,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Sun, 29 Oct 2023 09:28:33 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-XSS-Protection","value":"1; mode=block"},{"key":"Cache-Control","value":"no-cache, no-store, max-age=0, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Expires","value":"0"},{"key":"X-Frame-Options","value":"DENY"},{"key":"CF-Cache-Status","value":"DYNAMIC"},{"key":"Report-To","value":"{\"endpoints\":[{\"url\":\"https:\\/\\/a.nel.cloudflare.com\\/report\\/v3?s=herXY1o%2BFZa%2F3qNFjvh4ANgP%2FD0DdAVVFm0vUZDAst2rFkieItm%2Fu0VN24DYrdp7MHMHFKWLvrsBYVIxjDPDaLgJjeGBvlTP2iZoB5EnG1hPPHUVXRNP%2FGMmOTh%2Fp7gsyj0vihW1kMk%3D\"}],\"group\":\"cf-nel\",\"max_age\":604800}"},{"key":"NEL","value":"{\"success_fraction\":0,\"report_to\":\"cf-nel\",\"max_age\":604800}"},{"key":"Server","value":"cloudflare"},{"key":"CF-RAY","value":"81da6398ab144913-LHR"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Incorrect secret_key\",\n    \"code\": \"authentication_failed\"\n}"}],"_postman_id":"7dadd5ad-9e95-4e62-93ef-b0c91fe5ae9c"}],"id":"66e29974-e620-45c7-9836-e76251f15cf7","_postman_id":"66e29974-e620-45c7-9836-e76251f15cf7","description":"","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}}},{"name":"Cashier APIs","item":[{"name":"Customer","id":"6df14867-fc8b-4062-8aa1-4d6044233cb3","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer Token","type":"text"},{"key":"BrandId","value":"brand_id_value","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"merchantCustomerId\": \"Merchant to provide\", //mandatory\r\n    \"fullName\": \"Akshaya Singhal\",\r\n    \"emailId\": \"akshayas@example.net\",\r\n    \"dateOfBirth\": \"1995-11-27\",\r\n    \"phoneNo\": \"7976390821\",\r\n    \"city\": \"jaipur\",\r\n    \"stateCode\": \"ra\",\r\n    \"zipCode\": \"202020\",\r\n    \"address\": \"Mansarovar Jaipur\",\r\n    \"country\": \"IN\",\r\n    \"custRegDate\": \"Merchant to provide\", //non-mandatory - customer registration date on merchant site\r\n    \"successTxn\": \"Merchant to provide\", //non-mandatory - total successful customer orders on merchant site\r\n    \"extraParam\": {\r\n        \"param1\": \"value1\",\r\n        \"param2\": \"value2\",\r\n        \"param3\": \"value3\",\r\n        \"param4\": \"value4\"\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://app.thefundstream.org/api/v1/customer","description":"<p><strong>OVERIEW</strong></p>\n<p>The <strong>createCustomer API</strong> allows merchants to create a customer profile on Fundstream when a user visits their website, facilitating a seamless payment experience by pre-filling the customer's details, on the Fundstream Cashier. The API takes in customer information and returns a unique customerID that can be passed in purchase payload, eliminating the need for customers to manually enter their details during transactions.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Description</th>\n<th>Example</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>merchantCustomerId</td>\n<td>String</td>\n<td>unique customer ID provided by merchant</td>\n<td>This can be email, mobile or an alphanumeric string</td>\n</tr>\n<tr>\n<td>fullName</td>\n<td>String</td>\n<td>Full name of the customer.</td>\n<td>Test User</td>\n</tr>\n<tr>\n<td>emailId</td>\n<td>String</td>\n<td>Email address of the customer.</td>\n<td>\"<a href=\"mailto:test3@example.net\">test3@example.net</a>\"</td>\n</tr>\n<tr>\n<td>dateOfBirth</td>\n<td>String</td>\n<td>Customer's date of birth in YYYY-MM-DD format.</td>\n<td>\"1995-38-27\"</td>\n</tr>\n<tr>\n<td>phoneNo</td>\n<td>String</td>\n<td>Customer's phone number.</td>\n<td>\"797639082\"</td>\n</tr>\n<tr>\n<td>city</td>\n<td>String</td>\n<td>City of the customer.</td>\n<td>\"jaipur\"</td>\n</tr>\n<tr>\n<td>stateCode</td>\n<td>String</td>\n<td>State code of the customer.</td>\n<td>\"ra\"</td>\n</tr>\n<tr>\n<td>zipCode</td>\n<td>String</td>\n<td>Postal code of the customer's location.</td>\n<td>\"202020\"</td>\n</tr>\n<tr>\n<td>address</td>\n<td>String</td>\n<td>Full address of the customer.</td>\n<td>\"Jaipur\"</td>\n</tr>\n<tr>\n<td>country</td>\n<td>String</td>\n<td>Country code (ISO 3166-1 alpha-2).</td>\n<td>\"IN\"</td>\n</tr>\n<tr>\n<td>custRegDate</td>\n<td>Sting</td>\n<td>Customer registration date on merchant site</td>\n<td>\"2023-38-27\"</td>\n</tr>\n<tr>\n<td>successTxn</td>\n<td>String</td>\n<td>number of successful transactions customer has carried on merchant site</td>\n<td>\"32\"</td>\n</tr>\n</tbody>\n</table>\n</div><blockquote>\n<p><code>Mercahnt can add upto 20 additional parameters in this request.</code> </p>\n</blockquote>\n<h3 id=\"user-flow\"><strong>User Flow</strong></h3>\n<ol>\n<li><p><strong>Customer visits merchant's website</strong>: The customer selects the product or service and proceeds to checkout page.</p>\n</li>\n<li><p><strong>Merchant calls the</strong> <strong><code>createCustomer</code></strong> <strong>API</strong>: The merchant sends a <code>POST</code> request to the Fundstream API with the customer's details.</p>\n</li>\n<li><p><strong>Customer ID generation</strong>: Fundstream processes the request and generates a unique <code>customerId</code> which is returned in the response.</p>\n</li>\n<li><p><strong>Payment Process</strong>: The merchant uses the <code>customerId</code> for subsequent transactions, ensuring the customer doesn’t need to re-enter their details for future payments.</p>\n</li>\n</ol>\n<hr />\n<h3 id=\"benefits\"><strong>Benefits</strong></h3>\n<ul>\n<li><p><strong>Seamless user experience</strong>: The customer does not have to enter their details manually for every purchase.</p>\n</li>\n<li><p><strong>Faster Checkout</strong>: The merchant can use the <code>customerId</code> for faster payment processing.</p>\n</li>\n<li><p><strong>Data Security</strong>: Customer details are stored securely and can be reused across transactions, reducing the chances of errors.</p>\n</li>\n</ul>\n<h3 id=\"implementing-createcustomer-on-merchant-site\">Implementing createCustomer on merchant site:</h3>\n<p>The <code>createCustomer</code> can be implemented on merchant site in one of two ways, depending on merchant’s integration flow:</p>\n<p><strong>At Checkout:</strong></p>\n<p>When a customer initiates the checkout process, your system should invoke the <code>createCustomer</code> API, before actually starting the session.</p>\n<ul>\n<li><p><strong>Call</strong> <strong><code>createCustomer</code>****:</strong> This API call generates a unique customer ID.</p>\n</li>\n<li><p><strong>Use of Customer ID:</strong> Pass the returned customer ID in Session API, when creating a payment session.</p>\n</li>\n</ul>\n<p><strong>Upon Customer Login:</strong></p>\n<p>Alternatively, merchants may choose to call <code>createCustomer</code> at the time of customer login on their site.</p>\n<ul>\n<li><p><strong>Persistent Customer Profiles:</strong> This approach can help build or maintain a persistent customer profile, ensuring the customer ID is available for any subsequent payment sessions without needing to call <code>createCustomer</code> again.</p>\n</li>\n<li><p><strong>Integration Flexibility:</strong> This is useful for merchants who want to initialize customer data early in the customer journey rather than during checkout.</p>\n</li>\n</ul>\n<blockquote>\n<p>This method is not advised for white-label merchants who want to manage different customerIDs for each brand. </p>\n</blockquote>\n<p>The method you choose depends on your business requirements and how your system is architected. Regardless of when you call it, the resulting customer ID must be passed to the <code>createSession</code> API to initiate a payment session.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}},"urlObject":{"path":["customer"],"host":["https://app.thefundstream.org/api/v1"],"query":[],"variable":[]}},"response":[{"id":"96720fcb-04ec-4a98-a0ba-96917e63b9bc","name":"Success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"*/*","type":"text"},{"key":"BrandId","value":"brand_id_value","description":"If this parameter is passed in the header, a unique customer will be created under that particular Brand Name. else, the customer will be created under the main merchant (irrespective of the brands)","type":"text"},{"key":"Authorization","value":"Bearer Token","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"merchantCustomerId\": \"testuser@gmail.com\",\r\n  \"fullName\": \"Akshaya Singhal\",\r\n  \"emailId\": \"testuser@gmail.com\",\r\n  \"dateOfBirth\": \"1995-11-27\",\r\n  \"phoneNo\": \"2222222222\",\r\n  \"city\": \"jaipur\",\r\n  \"stateCode\": \"ra\",\r\n  \"zipCode\": \"202020\",\r\n  \"address\": \"Mansarovar Jaipur\",\r\n  \"country\": \"IN\",\r\n  \"custRegDate\": \"2024-11-27\",\r\n  \"successTxn\": \"32\"\r\n  //   \"extraParam\":\r\n//     {\r\n//         \"param1\":\"value1\",\r\n//         \"param2\":\"value2\",\r\n//         \"param3\":\"value3\",\r\n//         \"param4\":\"value4\"\r\n//     }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.example.net/api/v1/customer"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"customerId\": \"67c54bff81fd9953719186ff\",\r\n    \"merchantCustomerId\": \"testuser@gmail.com\",\r\n    \"fullName\": \"Akshaya Singhal\",\r\n    \"emailId\": \"testuser@gmail.com\",\r\n    \"dateOfBirth\": \"1995-11-27\",\r\n    \"phoneNo\": \"2222222222\",\r\n    \"brandID\": \"db8414b4-e527-4be6-b2bf-df5cb7a646c7\",\r\n    \"city\": \"jaipur\",\r\n    \"zipCode\": \"202020\",\r\n    \"address\": \"Mansarovar Jaipur\",\r\n    \"country\": \"IN\",\r\n    \"stateCode\": \"ra\",\r\n    \"custRegDate\": \"2024-11-27\",\r\n    \"successTrans\": 32\r\n}"},{"id":"747d2081-4fbb-46be-9207-9799e17e34cd","name":"Failure","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"*/*","type":"text"},{"key":"BrandId","value":"brand_id_value","description":"If this parameter is passed in the header, a unique customer will be created under that particular Brand Name. else, the customer will be created under the main merchant (irrespective of the brands)","type":"text"},{"key":"Authorization","value":"Bearer Token","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"merchantCustomerId\": \"testuser@gmail.com\",\r\n  \"fullName\": \"Akshaya Singhal\",\r\n  \"emailId\": \"testusergmail.com\",\r\n  \"dateOfBirth\": \"1995-11-27\",\r\n  \"phoneNo\": \"2222222222\",\r\n  \"city\": \"jaipur\",\r\n  \"stateCode\": \"ra\",\r\n  \"zipCode\": \"202020\",\r\n  \"address\": \"Mansarovar Jaipur\",\r\n  \"country\": \"IN\",\r\n  \"custRegDate\": \"2024-11-27\",\r\n  \"successTxn\": \"32\"\r\n//   \"extraParam\":\r\n//     {\r\n//         \"param1\":\"value1\",\r\n//         \"param2\":\"value2\",\r\n//         \"param3\":\"value3\",\r\n//         \"param4\":\"value4\"\r\n//     }\r\n}\r\n","options":{"raw":{"language":"json"}}},"url":"https://api.example.net/api/v1/customer"},"status":"Bad Request","code":400,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"message\": \"Invalid Email Format\",\r\n    \"code\": \"invalid_email\"\r\n}"},{"id":"91444ff5-a81b-4b7c-a5d7-167485856437","name":"Existing Customer","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"*/*","type":"text"},{"key":"BrandId","value":"brand_id_value","description":"If this parameter is passed in the header, a unique customer will be created under that particular Brand Name. else, the customer will be created under the main merchant (irrespective of the brands)","type":"text"},{"key":"Authorization","value":"Bearer Token","type":"text"}],"body":{"mode":"raw","raw":"{\r\n  \"merchantCustomerId\": \"testuser@gmail.com\",\r\n  \"fullName\": \"Akshaya Singhal\",\r\n  \"emailId\": \"testuser@gmail.com\",\r\n  \"dateOfBirth\": \"1995-11-27\",\r\n  \"phoneNo\": \"2222222222\",\r\n  \"city\": \"jaipur\",\r\n  \"stateCode\": \"ra\",\r\n  \"zipCode\": \"202020\",\r\n  \"address\": \"Mansarovar Jaipur\",\r\n  \"country\": \"IN\",\r\n  \"custRegDate\": \"2024-11-27\",\r\n  \"successTxn\": \"32\"\r\n//   \"extraParam\":\r\n//     {\r\n//         \"param1\":\"value1\",\r\n//         \"param2\":\"value2\",\r\n//         \"param3\":\"value3\",\r\n//         \"param4\":\"value4\"\r\n//     }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.example.net/api/v1/customer"},"status":"Unauthorized","code":401,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"message\": \"Customer already exists with this information\",\r\n    \"code\": \"customer_already_exists\"\r\n}"},{"id":"2cf7400e-42db-467b-9212-0f6d305c073a","name":"Customer","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer Token","type":"text"},{"key":"BrandId","value":"cac5b505-eb49-49da-8f67-1ced8a4199da","type":"text"}],"body":{"mode":"raw","raw":"{\r\n    \"merchantCustomerId\": \"1\", //mandatory\r\n    \"fullName\": \"unnati\",\r\n    \"emailId\": \"unnati124@example.com\",\r\n    \"dateOfBirth\": \"2000-06-02\",\r\n    \"phoneNo\": \"7652378989\",\r\n    \"city\": \"jaipur\",\r\n    \"stateCode\": \"ra\",\r\n    \"zipCode\": \"22222\",\r\n    \"address\": \"Mansarovar, Jaipur\",\r\n    \"country\": \"IN\",\r\n    \"custRegDate\": \"2025-03-28\", //non-mandatory - customer registration date on merchant site\r\n    \"successTxn\": \"5\", //non-mandatory - total successful customer orders on merchant site\r\n    \"extraParam\": {\r\n        \"param1\": \"value1\",\r\n        \"param2\": \"value2\",\r\n        \"param3\": \"value3\",\r\n        \"param4\": \"value4\"\r\n    }\r\n}","options":{"raw":{"language":"json"}}},"url":"https://app.thefundstream.org/api/v1/customer"},"status":"Accepted","code":202,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Tue, 29 Apr 2025 06:59:38 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"Referrer-Policy","value":"no-referrer"},{"key":"Vary","value":"Origin"},{"key":"Vary","value":"Access-Control-Request-Method"},{"key":"Vary","value":"Access-Control-Request-Headers"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Xss-Protection","value":"1; mode=block"},{"key":"Cache-Control","value":"no-cache, no-store, max-age=0, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Expires","value":"0"},{"key":"Strict-Transport-Security","value":"max-age=31536000 ; includeSubDomains"},{"key":"X-Cache","value":"Miss from cloudfront"},{"key":"Via","value":"1.1 39822233cebedff08fa65fb77a756de4.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"MAA51-P1"},{"key":"X-Amz-Cf-Id","value":"H_PhaSiWvUfgzLgHLwffSWagodRujK0v9CGp-0Fvu3mFEQH8hYk0iQ=="},{"key":"Cf-Cache-Status","value":"DYNAMIC"},{"key":"Server","value":"cloudflare"},{"key":"CF-RAY","value":"937ceaeffda2b2a9-MAA"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"customerId\": \"681078dad94adf1cf6b8a13a\",\n    \"merchantCustomerId\": \"1\",\n    \"fullName\": \"unnati\",\n    \"emailId\": \"unnati124@example.com\",\n    \"dateOfBirth\": \"2000-06-02\",\n    \"phoneNo\": \"7652378989\",\n    \"brandID\": \"cac5b505-eb49-49da-8f67-1ced8a4199da\",\n    \"city\": \"jaipur\",\n    \"zipCode\": \"22222\",\n    \"address\": \"Mansarovar, Jaipur\",\n    \"country\": \"IN\",\n    \"stateCode\": \"RA\",\n    \"custRegDate\": \"2025-03-28\",\n    \"successTrans\": 0,\n    \"createdOn\": 1745909978,\n    \"lastUpdated\": 0,\n    \"lastActivity\": 1745909978,\n    \"extraParam\": {\n        \"param1\": \"value1\",\n        \"param2\": \"value2\",\n        \"param3\": \"value3\",\n        \"param4\": \"value4\"\n    }\n}"}],"_postman_id":"6df14867-fc8b-4062-8aa1-4d6044233cb3"},{"name":"Customer","id":"8f8fb879-c5f5-4b00-90ab-fc43739eea1f","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"GET","header":[{"key":"Authorization","value":"Bearer Token","type":"text"},{"key":"BrandId","value":"brand_id_value","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"merchantCustomerId\": \"merchantCustomerId\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app.thefundstream.org/api/v1/customer","description":"<p>This endpoint makes an HTTP GET request to retrieve customer information from the Fundstream API.</p>\n<h3 id=\"request\">Request</h3>\n<p>The request does not include any query parameters, but it uses a raw request body with the following payload:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n  \"merchantCustomerId\": \"merchantCustomerId\"\n}\n\n</code></pre>\n<h3 id=\"response\">Response</h3>\n<p>The response of this request can be documented as a JSON schema.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}},"urlObject":{"path":["customer"],"host":["https://app.thefundstream.org/api/v1"],"query":[],"variable":[]}},"response":[{"id":"0e062cbf-0dd7-4b25-b09b-862a2fe89777","name":"Success","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"*/*","type":"text"},{"key":"BrandId","value":"brand_id_value","type":"text"},{"key":"Authorization","value":"Bearer Token","type":"text"}],"url":"https://api.example.net/api/v1/customer"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"customerId\": \"67c54bff81fd9953719186ff\",\n    \"merchantCustomerId\": \"testuser@gmail.com\",\n    \"fullName\": \"Akshaya Singhal\",\n    \"emailId\": \"testuser@gmail.com\",\n    \"dateOfBirth\": \"1995-11-27\",\n    \"phoneNo\": \"2222222222\",\n    \"brandID\": \"db8414b4-e527-4be6-b2bf-df5cb7a646c7\",\n    \"city\": \"jaipur\",\n    \"zipCode\": \"202020\",\n    \"address\": \"Mansarovar Jaipur\",\n    \"country\": \"IN\",\n    \"stateCode\": \"ra\",\n    \"custRegDate\": \"2024-11-27\",\n    \"successTrans\": 32\n}"},{"id":"4fd08c6f-81f4-4a32-939b-d33066ca9d49","name":"Invalid Customer","originalRequest":{"method":"GET","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"*/*","type":"text"},{"key":"BrandId","value":"brand_id_value","type":"text"},{"key":"Authorization","value":"Bearer Token","type":"text"}],"url":"https://api.example.net/api/v1/customer"},"status":"Bad Request","code":400,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"message\": \"Customer with this information does not exist\",\n    \"code\": \"customer_does_not_exist\"\n}"}],"_postman_id":"8f8fb879-c5f5-4b00-90ab-fc43739eea1f"},{"name":"Customer","event":[{"listen":"test","script":{"exec":["var template = `","<style type=\"text/css\">","    .tftable {font-size:14px;color:#333333;width:100%;border-width: 1px;border-color: #87ceeb;border-collapse: collapse;}","    .tftable th {font-size:18px;background-color:#87ceeb;border-width: 1px;padding: 8px;border-style: solid;border-color: #87ceeb;text-align:left;}","    .tftable tr {background-color:#ffffff;}","    .tftable td {font-size:14px;border-width: 1px;padding: 8px;border-style: solid;border-color: #87ceeb;}","    .tftable tr:hover {background-color:#e0ffff;}","</style>","","<table class=\"tftable\" border=\"1\">","    <tr>","        <th>Customer ID</th>","        <th>First Name</th>","        <th>Last Name</th>","        <th>Email</th>","        <th>Phone</th>","    </tr>","    ","    <tr>","        <td>{{response.customerId}}</td>","        <td>{{response.firstName}}</td>","        <td>{{response.lastName}}</td>","        <td>{{response.email}}</td>","        <td>{{response.phone}}</td>","    </tr>","</table>","`;","","function constructVisualizerPayload() {","    return {response: pm.response.json()}","}","","pm.visualizer.set(template, constructVisualizerPayload());"],"type":"text/javascript","packages":{},"id":"20ee964d-64b6-46ff-bd79-7aeca9bb3655"}}],"id":"5abee2dc-1e0c-404c-99a2-73cd6ef86274","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"PATCH","header":[{"key":"Authorization","value":"Bearer Token","type":"text"},{"key":"BrandId","value":"brand_id_value","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"fullName\": \"Gouri Shankar3\",\n  \"emailId\": \"gouri@example.com\",\n  \"dateOfBirth\": \"1990-11-27\",\n  \"phoneNo\": \"9413666514\",\n  \"city\": \"Dausa\",\n  \"stateCode\": \"Raj\",\n  \"zipCode\": \"202021\",\n  \"address\": \"Somnath Nagar\",\n  \"country\": \"IN\",\n  \"CustRegDate\": \"Merchant to provide\",\n  \"SuccessTxn\": \"Merchant to provide\"\n}","options":{"raw":{"language":"json"}}},"url":"https://app.thefundstream.org/api/v1/{customerId}/patchCustomer","description":"<p>Whenever a customer or the merchant updates customer details on the merchant site, a PATCH request must be made to synchronize these changes with Fundstream.</p>\n<p>This API endpoint allows you to update the customer details using an HTTP PATCH request. The request should be sent to <a href=\"https://app.example.org/api/v1/%7BcustomerId%7D/patchCustomer\">https://app.example.org/api/v1/{customerId}/patchCustomer</a>.</p>\n<h3 id=\"request-body\">Request Body</h3>\n<p>The request body should be in raw format and include the following parameters:</p>\n<ul>\n<li><p><code>fullName</code> (string): The full name of the customer.</p>\n</li>\n<li><p><code>emailId</code> (string): The email address of the customer.</p>\n</li>\n<li><p><code>dateOfBirth</code> (string): The date of birth of the customer.</p>\n</li>\n<li><p><code>phoneNo</code> (string): The phone number of the customer.</p>\n</li>\n<li><p><code>city</code> (string): The city of the customer.</p>\n</li>\n<li><p><code>stateCode</code> (string): The state code of the customer.</p>\n</li>\n<li><p><code>zipCode</code> (string): The zip code of the customer.</p>\n</li>\n<li><p><code>address</code> (string): The address of the customer.</p>\n</li>\n<li><p><code>country</code> (string): The country of the customer.</p>\n</li>\n<li><p><code>createdOn</code> (string): Time when the customer was created.</p>\n</li>\n<li><p><code>custRegDate</code> (string): Customer registration date (Non-Mandatory).</p>\n</li>\n<li><p><code>successTxn</code> (string): Success transaction details (Non-Mandatory).</p>\n</li>\n<li><p><code>lastActivity</code> (string): Time of the last activity.</p>\n</li>\n<li><p><code>lastUpdated</code> (string): Time when the last patch was called.</p>\n</li>\n<li><p><code>extraParam</code> (object): Additional parameters including <code>param1</code>, <code>param2</code>, <code>param3</code>, <code>param4</code> with their respective values.</p>\n</li>\n</ul>\n<h3 id=\"response\">Response</h3>\n<p>The response will contain the updated customer details or a success message upon successful update.</p>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}},"urlObject":{"path":["{customerId}","patchCustomer"],"host":["https://app.thefundstream.org/api/v1"],"query":[],"variable":[]}},"response":[{"id":"9bb7d14c-9d4a-47f3-9023-3075964913a7","name":"Success","originalRequest":{"method":"PATCH","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"*/*","type":"text"},{"key":"BrandId","value":"brand_id_value","type":"text"},{"key":"Authorisation","value":"Bearer Token","type":"text"}],"body":{"mode":"raw","raw":"{\n  \"fullName\": \"Akshaya Singhal\",\n  \"emailId\": \"testuserabcd@gmail.com\",\n  \"dateOfBirth\": \"1995-11-27\",\n  \"phoneNo\": \"2222222222\",\n  \"city\": \"jaipur\",\n  \"stateCode\": \"ra\",\n  \"zipCode\": \"202020\",\n  \"address\": \"Mansarovar Jaipur\",\n  \"country\": \"IN\",\n  \"custRegDate\": \"2024-11-27\",\n  \"successTxn\": \"32\"\n  //   \"extraParam\":\n//     {\n//         \"param1\":\"value1\",\n//         \"param2\":\"value2\",\n//         \"param3\":\"value3\",\n//         \"param4\":\"value4\"\n//     }\n}","options":{"raw":{"language":"json"}}},"url":"https://api.example.net/api/v1/{customerId}/patchCustomer"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\n  \"customerId\": \"customerId\",\n  \"merchatCustomerID\": \"merchantProvidedCustomerId\",\n  \"brandId\": \"brandId\",\n  \"fullName\": \"Akshaya Singhal\",\n  \"emailId\": \"testuserabcd@gmail.com\",\n  \"dateOfBirth\": \"1995-11-27\",\n  \"phoneNo\": \"2222222222\",\n  \"city\": \"jaipur\",\n  \"stateCode\": \"ra\",\n  \"zipCode\": \"202020\",\n  \"address\": \"Mansarovar Jaipur\",\n  \"country\": \"IN\",\n  \"createdOn\": \"2025-02-27\",\n  \"custRegDate\": \"2024-11-27\",\n  \"successTrans\": 32\n  \"lastActivity\": \"\",\n  \"lastUpdated\": \"\"\n}"}],"_postman_id":"5abee2dc-1e0c-404c-99a2-73cd6ef86274"},{"name":"createSession","id":"cf799a8e-fd08-42eb-bb8d-da271116d1dd","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[{"key":"Authorization","value":"Bearer Token","type":"text"},{"key":"BrandId","value":"brand_id_value","type":"text"}],"body":{"mode":"raw","raw":"{\r\n\t\"customerId\": \"67c54bff81fd9953719186ff\",\r\n    \"currency\" : \"USD\",\r\n    \"products\": [\r\n        {\r\n            \"name\": \"Product1\",\r\n            \"price\": \"10\"\r\n        },\r\n        {\r\n            \"name\": \"Product2\",\r\n            \"price\": \"10\"\r\n        }\r\n    ],\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"failure_redirect\": \"https://your.failure.redirect.com\",\r\n    \"success_callback\": \"https://your.success.callback.com\",\r\n\t\"failure_callback\": \"https://your.failure.callback.com\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://app.thefundstream.org/api/v1/createSession","description":"<p><strong>OVERIEW</strong></p>\n<p>The <code>createSession</code> API is designed to initiate a payment session for a customer after their profile has been created via the <strong>createCustomer</strong> API. The session is automatically generated at the backend on the merchant’s checkout URL. This session allows the customer to continue with their transaction without having to manually interact with the session URL, and ensures the session remains active until the payment is completed or the session expires.</p>\n<p>This API improves the user experience by reducing transaction failures and enhancing the overall payment process, thus reducing transaction churn rates.</p>\n<div class=\"click-to-expand-wrapper is-table-wrapper\"><table>\n<thead>\n<tr>\n<th>Parameter</th>\n<th>Type</th>\n<th>Description</th>\n<th>Example</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>customerId</td>\n<td>String</td>\n<td>The unique ID of the customer (generated from createCustomer).</td>\n<td>\"6731a609b6bb5a43ad66c4a6\"</td>\n</tr>\n<tr>\n<td>brandId</td>\n<td>String</td>\n<td>The unique ID of the merchant's brand.</td>\n<td>\"88cb97c5-ac56-4d7f-b8db-77430c5b3cb1\"</td>\n</tr>\n</tbody>\n</table>\n</div><h3 id=\"usage-flow\"><strong>Usage Flow</strong></h3>\n<ol>\n<li><p><strong>Customer completes the</strong> <strong><code>createCustomer</code></strong> <strong>API</strong>: Once the customer is created via the <code>createCustomer</code> API, the merchant proceeds to call the <code>createSession</code> API to generate a session.</p>\n</li>\n<li><p><strong>Merchant sends</strong> <strong><code>createSession</code></strong> <strong>request</strong>: The merchant sends a <code>POST</code> request to the <code>createSession</code> API with the customer’s <code>customerId</code> and the merchant’s <code>brandId</code>.</p>\n</li>\n<li><p><strong>Session created automatically on the checkout URL</strong>: Fundstream creates the session and associates it with the merchant’s checkout page. This session remains active on the backend, allowing the customer to continue the payment process without interruption.</p>\n</li>\n<li><p><strong>Customer proceeds to checkout</strong>: The customer is redirected to the checkout page as part of the merchant's payment flow, where the session is automatically validated. The session remains active for a set period, allowing the customer to complete the payment without needing to manually interact with the session URL.</p>\n</li>\n<li><p><strong>Session Expiry</strong>: The session expires after the set expiration time (<code>expiryOn</code>), ensuring the payment process is completed within the defined window.</p>\n</li>\n</ol>\n<hr />\n<h3 id=\"benefits\"><strong>Benefits</strong></h3>\n<ul>\n<li><p><strong>Seamless Checkout</strong>: The session URL is automatically generated and active at the backend, ensuring a smoother and uninterrupted customer experience.</p>\n</li>\n<li><p><strong>Reduced Transaction Failures</strong>: By ensuring the session remains active during the payment process, the chances of transaction failures due to session timeouts are minimized.</p>\n</li>\n<li><p><strong>Improved User Experience</strong>: The customer does not need to click on a session URL or navigate away from the page, leading to faster and more secure payment processing.</p>\n</li>\n</ul>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}},"urlObject":{"path":["createSession"],"host":["https://app.thefundstream.org/api/v1"],"query":[],"variable":[]}},"response":[{"id":"6728cc0f-ce9d-4f10-99d9-b28e108be382","name":"Success","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"*/*","type":"text"},{"key":"BrandId","value":"brand_id_value","description":"it is mandatory to pass the BrandId in header for each createSession request. ","type":"text"},{"key":"Authorization","value":"Bearer Token","type":"text"}],"body":{"mode":"raw","raw":"{\r\n\t\"customerId\": \"67c54bff81fd9953719186ff\",\r\n    \"currency\" : \"USD\",\r\n    \"products\": [\r\n        {\r\n            \"name\": \"Product1\",\r\n            \"price\": \"10\"\r\n        },\r\n        {\r\n            \"name\": \"Product2\",\r\n            \"price\": \"10\"\r\n        }\r\n    ],\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"failure_redirect\": \"https://your.failure.redirect.com\",\r\n    \"success_callback\": \"https://your.success.callback.com\",\r\n\t\"failure_callback\": \"https://your.failure.callback.com\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://api.example.org/api/v1/createSession"},"status":"OK","code":200,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"sessionUrl\": \"https://api.example.net/session/67c553cc8dbb596aa20df944/\",\r\n    \"brandId\": \"db8414b4-e527-4be6-b2bf-df5cb7a646c7\",\r\n    \"customerId\": \"67c54bff81fd9953719186ff\",\r\n    \"sessionId\": \"67c553cc8dbb596aa20df944\",\r\n    \"expiryOn\": 1740986192,\r\n    \"createdOn\": 1740985292\r\n}"},{"id":"ec856932-37e6-47e4-ba1d-d5bdb137e0d4","name":"Invalid Sesison","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"},{"key":"Accept","value":"*/*","type":"text"},{"key":"BrandId","value":"brand_id_value","description":"it is mandatory to pass the BrandId in header for each createSession request. ","type":"text"},{"key":"Authorization","value":"Bearer Token","type":"text"}],"body":{"mode":"raw","raw":"{\r\n\t\"customerId\": \"67c54bff81fd9953719186\",\r\n    \"currency\" : \"USD\",\r\n    \"products\": [\r\n        {\r\n            \"name\": \"Product1\",\r\n            \"price\": \"10\"\r\n        },\r\n        {\r\n            \"name\": \"Product2\",\r\n            \"price\": \"10\"\r\n        }\r\n    ],\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"failure_redirect\": \"https://your.failure.redirect.com\",\r\n    \"success_callback\": \"https://your.success.callback.com\",\r\n\t\"failure_callback\": \"https://your.failure.callback.com\"\r\n}'","options":{"raw":{"language":"json"}}},"url":"https://api.fundstream.net/api/v1/createSession"},"status":"Bad Request","code":400,"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\r\n    \"message\": \"Customer does not exist with this Customer Id\",\r\n    \"code\": \"Customer Id is invalid\"\r\n}"},{"id":"f0a8bdcd-9d1f-4665-8179-6759216a870f","name":"createSession","originalRequest":{"method":"POST","header":[{"key":"Authorization","value":"Bearer Token","type":"text"},{"key":"BrandId","value":"cac5b505-eb49-49da-8f67-1ced8a4199da","type":"text"}],"body":{"mode":"raw","raw":"{\r\n\t\"customerId\": \"681078dad94adf1cf6b8a13a\",\r\n    \"currency\" : \"USD\",\r\n    \"products\": [\r\n        {\r\n            \"name\": \"Product1\",\r\n            \"price\": \"10\"\r\n        },\r\n        {\r\n            \"name\": \"Product2\",\r\n            \"price\": \"10\"\r\n        }\r\n    ],\r\n    \"success_redirect\": \"https://your.success.redirect.com\",\r\n    \"failure_redirect\": \"https://your.failure.redirect.com\",\r\n    \"success_callback\": \"https://your.success.callback.com\",\r\n\t\"failure_callback\": \"https://your.failure.callback.com\"\r\n}","options":{"raw":{"language":"json"}}},"url":"https://app.thefundstream.org/api/v1/createSession"},"status":"OK","code":200,"_postman_previewlanguage":"json","header":[{"key":"Date","value":"Tue, 29 Apr 2025 07:12:11 GMT"},{"key":"Content-Type","value":"application/json"},{"key":"Transfer-Encoding","value":"chunked"},{"key":"Connection","value":"keep-alive"},{"key":"X-Frame-Options","value":"SAMEORIGIN"},{"key":"Referrer-Policy","value":"no-referrer"},{"key":"X-Content-Type-Options","value":"nosniff"},{"key":"X-Xss-Protection","value":"1; mode=block"},{"key":"Cache-Control","value":"no-cache, no-store, max-age=0, must-revalidate"},{"key":"Pragma","value":"no-cache"},{"key":"Expires","value":"0"},{"key":"Strict-Transport-Security","value":"max-age=31536000 ; includeSubDomains"},{"key":"X-Cache","value":"Miss from cloudfront"},{"key":"Via","value":"1.1 c4acc760356ea7c6beb4a9af299dbda2.cloudfront.net (CloudFront)"},{"key":"X-Amz-Cf-Pop","value":"MRS52-P1"},{"key":"X-Amz-Cf-Id","value":"7SGCK68pSCT2IFpDGha7NAVITEvXt3ErexRc4_MTmLpyFkMvbu-_Og=="},{"key":"Cf-Cache-Status","value":"DYNAMIC"},{"key":"Content-Encoding","value":"br"},{"key":"Server","value":"cloudflare"},{"key":"CF-RAY","value":"937cfd545dca078b-MRS"},{"key":"alt-svc","value":"h3=\":443\"; ma=86400"}],"cookie":[],"responseTime":null,"body":"{\n    \"sessionUrl\": \"https://api.choicepay.ca/session/68107bcb45e1c008000eeaa7/\",\n    \"brandId\": \"cac5b505-eb49-49da-8f67-1ced8a4199da\",\n    \"customerId\": \"681078dad94adf1cf6b8a13a\",\n    \"sessionId\": \"68107bcb45e1c008000eeaa7\",\n    \"expiryOn\": 1745911631,\n    \"createdOn\": 1745910731\n}"}],"_postman_id":"cf799a8e-fd08-42eb-bb8d-da271116d1dd"},{"name":"createPurchase","id":"1f67536a-34d5-4183-855e-47024cbcdbdc","protocolProfileBehavior":{"disableBodyPruning":true},"request":{"method":"POST","header":[],"body":{"mode":"raw","raw":"","options":{"raw":{"language":"json"}}},"url":"https://app.thefundstream.org/api/v1/purchases/","description":"<p>The <code>CreatePurchase</code> API is a core feature of the Fundstream Cashier System, enabling merchants to initiate payments by creating a purchase session. This API streamlines the payment process by allowing customization based on customer details, purchase information, and payment methods.</p>\n<h3 id=\"overview\">Overview</h3>\n<p>The <code>CreatePurchase</code> API initiates the payment process by generating a unique session for a transaction. Depending on the passed <code>paymentMethod</code> and pre-configured routing rules, the API directs the transaction through the appropriate payment channel. Additionally, success and failure callbacks are used to provide real-time updates on transaction status.</p>\n<h3 id=\"key-features\">Key Features</h3>\n<ul>\n<li><p><strong>Dynamic Payment Routing:</strong> Routes transactions to specific payment methods based on the merchant's configuration.</p>\n</li>\n<li><p><strong>Customizable Callbacks:</strong> Configure URLs for success and failure redirects as well as server-to-server callbacks for real-time updates.</p>\n</li>\n<li><p><strong>Receipt and Capture Options:</strong> Optionally send customer receipts or skip the capture step for certain use cases.</p>\n</li>\n<li><p><strong>Timeout Configuration:</strong> Define an expiration period (<code>expireInMin</code>) for the purchase session.</p>\n</li>\n</ul>\n<hr />\n<h3 id=\"api-endpoint\">API Endpoint</h3>\n<p><strong>URL:</strong><br /><code>POST /api/v1/createPurchase</code></p>\n<hr />\n<h3 id=\"request-payload\">Request Payload</h3>\n<p>Below is the sample payload for initiating a purchase session:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"client\": {\n        \"full_name\": \"Test User\",\n        \"email\": \"testuser@email.com\",\n        \"country\": \"GB\",\n        \"city\": \"sdf\",\n        \"stateCode\": \"ca\",\n        \"street_address\": \"test street\",\n        \"zip_code\": \"234567\",\n        \"phone\": \"9999999999\",\n        \"tax_number\": \"34946395822\"\n    },\n    \"purchase\": {\n        \"currency\": \"GBP\",\n        \"expireInMin\": \"40\",\n        \"products\": [\n            {\n                \"name\": \"testProduct\",\n                \"price\": \"10\"\n            }\n        ]\n    },\n    \"paymentMethod\": \"\",\n    \"brand_id\": \"c4003b2c-22d4-4dc1-ad0c-c6b54f8c9636\",\n    \"merchantRef\": \"\",\n    \"send_receipt\": \"\",\n    \"skip_capture\": \"\",\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"failure_redirect\": \"https://your.failure.redirect.com\",\n    \"success_callback\": \"https://your.success.callback.com\",\n    \"failure_callback\": \"https://your.failure.callback.com\"\n}\n\n</code></pre>\n<h3 id=\"parameters\">Parameters</h3>\n<h4 id=\"client-information\">Client Information</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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>full_name</code></td>\n<td>String</td>\n<td>Customer's full name.</td>\n</tr>\n<tr>\n<td><code>email</code></td>\n<td>String</td>\n<td>Customer's email address.</td>\n</tr>\n<tr>\n<td><code>country</code></td>\n<td>String</td>\n<td>Country code (ISO 3166-1 alpha-2).</td>\n</tr>\n<tr>\n<td><code>city</code></td>\n<td>String</td>\n<td>Customer's city.</td>\n</tr>\n<tr>\n<td><code>stateCode</code></td>\n<td>String</td>\n<td>State code.</td>\n</tr>\n<tr>\n<td><code>street_address</code></td>\n<td>String</td>\n<td>Street address.</td>\n</tr>\n<tr>\n<td><code>zip_code</code></td>\n<td>String</td>\n<td>Postal/ZIP code.</td>\n</tr>\n<tr>\n<td><code>phone</code></td>\n<td>String</td>\n<td>Customer's phone number.</td>\n</tr>\n<tr>\n<td><code>tax_number</code></td>\n<td>String</td>\n<td>Tax identification number.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"purchase-information\">Purchase Information</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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>currency</code></td>\n<td>String</td>\n<td>Currency code for the transaction.</td>\n</tr>\n<tr>\n<td><code>expireInMin</code></td>\n<td>String</td>\n<td>Session expiration time in minutes.</td>\n</tr>\n<tr>\n<td><code>products</code></td>\n<td>Array</td>\n<td>List of products with <code>name</code> and <code>price</code> details.</td>\n</tr>\n</tbody>\n</table>\n</div><h4 id=\"additional-parameters\">Additional Parameters</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>Description</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>paymentMethod</code></td>\n<td>String</td>\n<td>Payment method to be used (e.g., <code>PIX</code>, <code>UPI</code>).</td>\n</tr>\n<tr>\n<td><code>brand_id</code></td>\n<td>String</td>\n<td>Merchant's unique identifier.</td>\n</tr>\n<tr>\n<td><code>merchantRef</code></td>\n<td>String</td>\n<td>Custom merchant reference for tracking.</td>\n</tr>\n<tr>\n<td><code>send_receipt</code></td>\n<td>String</td>\n<td>Flag to send customer receipt (<code>true</code> or <code>false</code>).</td>\n</tr>\n<tr>\n<td><code>skip_capture</code></td>\n<td>String</td>\n<td>Skip payment capture (<code>true</code> or <code>false</code>).</td>\n</tr>\n<tr>\n<td><code>success_redirect</code></td>\n<td>String</td>\n<td>URL to redirect customers on successful payment.</td>\n</tr>\n<tr>\n<td><code>failure_redirect</code></td>\n<td>String</td>\n<td>URL to redirect customers on payment failure.</td>\n</tr>\n<tr>\n<td><code>success_callback</code></td>\n<td>String</td>\n<td>Callback URL for server-to-server success events.</td>\n</tr>\n<tr>\n<td><code>failure_callback</code></td>\n<td>String</td>\n<td>Callback URL for server-to-server failure events.</td>\n</tr>\n</tbody>\n</table>\n</div><hr />\n<h3 id=\"payment-flow\">Payment Flow</h3>\n<ol>\n<li><p><strong>Initiate Payment:</strong> Use the <code>CreatePurchase</code> API to create a payment session by passing the required details in the payload.</p>\n</li>\n<li><p><strong>Dynamic Routing:</strong> The <code>paymentMethod</code> parameter determines the channel for processing the payment based on pre-configured rules.</p>\n</li>\n<li><p><strong>Callback Notification:</strong> Once the payment is completed, the system triggers the configured <code>success_callback</code> or <code>failure_callback</code> URL with transaction details.</p>\n</li>\n<li><p><strong>Redirects:</strong> After processing, the customer is redirected to the configured <code>success_redirect</code> or <code>failure_redirect</code> page.</p>\n</li>\n</ol>\n<hr />\n<h3 id=\"sample-response\">Sample Response</h3>\n<p>When the <code>CreatePurchase</code> API is successfully called, it generates a detailed response containing essential information about the transaction. Below is a sample response structure:</p>\n<pre class=\"click-to-expand-wrapper is-snippet-wrapper\"><code class=\"language-json\">{\n    \"purchaseId\": \"675bd05011ba785cc1356c32\",\n    \"client\": {\n        \"customerId\": \"NA\",\n        \"email\": \"akshaya@gmail.com\",\n        \"phone\": \"9999999999\",\n        \"full_name\": \"akshaya singhal\",\n        \"street_address\": \"test test\",\n        \"country\": \"GB\",\n        \"city\": \"sdf\",\n        \"zip_code\": \"234567\",\n        \"cc\": [],\n        \"bcc\": [],\n        \"tax_number\": \"34946395822\",\n        \"stateCode\": \"ca\"\n    },\n    \"updated_on\": 1734070352,\n    \"type\": \"purchase\",\n    \"paymentMethod\": \"SPEI-CLABE,SPEI-CARD,SPEI-MOBILE,eNaira,BANKTRANSFER,KoraPayMobileMoney,PIX,MASTER,VISA,THIRDPARTY-NETBANKING,INTERAC,INTERAC-E-TRANSFER,QBPAYFTOPUP,MOBILEWALLET,UZCARD,HUMO,AMEX,KLARNA,JCB,FawryPay,DISCOVER,QBPAY\",\n    \"amountUnit\": \"MAJOR\",\n    \"errorMsg\": \"\",\n    \"redirectType\": \"POST\",\n    \"force_recurring\": false,\n    \"created_on\": 1734070352,\n    \"merchantRef\": \"675bd05011ba785cc1356c32\",\n    \"merchantName\": \"merchant002\",\n    \"purchase\": {\n        \"currency\": \"GBP\",\n        \"products\": [\n            {\n                \"name\": \"he2938h\",\n                \"quantity\": 1.0,\n                \"price\": 1.0,\n                \"discount\": 0,\n                \"tax_percent\": \"0.00\"\n            }\n        ],\n        \"total\": 1.0,\n        \"language\": \"en\",\n        \"notes\": \"\",\n        \"debt\": 0,\n        \"total_formatted\": 1.0,\n        \"expireInMin\": \"40\",\n        \"request_client_details\": [],\n        \"timezone\": \"MIT\",\n        \"email_message\": \"\"\n    },\n    \"issuer_details\": {\n        \"website\": \"\",\n        \"legal_street_address\": \"\",\n        \"legal_country\": \"\",\n        \"legal_city\": \"\",\n        \"legal_zip_code\": \"\",\n        \"bank_accounts\": [\n            {}\n        ],\n        \"legal_name\": \"test6\",\n        \"brand_name\": \"test6\",\n        \"registration_number\": \"\",\n        \"tax_number\": \"\"\n    },\n    \"transaction_data\": {\n        \"payment_method\": \"\",\n        \"flow\": \"payform\",\n        \"extra\": {},\n        \"country\": \"\",\n        \"attempts\": []\n    },\n    \"status\": \"CREATED\",\n    \"status_history\": [\n        {\n            \"status\": \"created\",\n            \"timestamp\": 1734070352\n        }\n    ],\n    \"is_test\": false,\n    \"brand_id\": \"c4003b2c-22d4-4dc1-ad0c-c6b54f8c9636\",\n    \"is_recurring_token\": false,\n    \"reference_generated\": \"PS12952\",\n    \"issued\": \"2024-12-13\",\n    \"due\": 1734070352,\n    \"refund_upto\": 0,\n    \"cc_descriptor\": \"\",\n    \"fraudScore\": \"NA\",\n    \"trustScore\": \"NA\",\n    \"paidOn\": 0,\n    \"refund_availability\": \"NONE\",\n    \"refundable_amount\": 0.0,\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"failure_redirect\": \"https://your.failure.redirect.com\",\n    \"cancel_redirect\": \"\",\n    \"success_callback\": \"https://your.success.callback.com\",\n    \"failure_callback\": \"https://your.failure.callback.com\",\n    \"platform\": \"API\",\n    \"created_from_ip\": \"49.36.232.165\",\n    \"checkout_url\": \"https://app.example.org//payments/675bd05011ba785cc1356c32/\",\n    \"direct_post_url\": \"https://app.example.org/api/v1/p/675bd05011ba785cc1356c32/\",\n    \"payoutProcess\": false\n}\n\n</code></pre>\n","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}},"urlObject":{"path":["purchases",""],"host":["https://app.thefundstream.org/api/v1"],"query":[],"variable":[]}},"response":[{"id":"6d3f4094-ffe9-443b-acf5-d9c3f825fe8f","name":"createPurchase","originalRequest":{"method":"POST","header":[{"key":"Content-Type","value":"application/json","type":"text"}],"body":{"mode":"raw","raw":"{\n    \"client\": {\n        \"full_name\": \"test user\",\n        \"email\": \"testuser@email.com\",\n        \"country\":\"GB\",\n        \"city\":\"testcity\",\n        \"stateCode\":\"ca\",\n        \"street_address\":\"test street\",\n        \"zip_code\":\"234567\",\n        \"phone\":\"9999999999\",\n        \"tax_number\": \"34946395822\"\n    },\n    \"purchase\": {\n         \"currency\" : \"GBP\",\n         \"expireInMin\" : \"40\",\n        \"products\": [\n            {\n                \"name\": \"testproduct\",\n                \"price\": \"10\"\n            }\n        ]\n    },\n    \"paymentMethod\": \"\",\n    \"brand_id\": \"c4003b2c-22d4-4dc1-ad0c-c6b54f8c9636\",\n    \"merchantRef\": \"\",\n\n    \"send_receipt\": \"\" ,\n    \"skip_capture\": \"\" ,\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"failure_redirect\": \"https://your.failure.redirect.com\",\n    \"success_callback\": \"https://your.success.callback.com\",\n   \"failure_callback\": \"https://your.failure.callback.com\"\n}","options":{"raw":{"language":"json"}}},"url":"https://api.example.net/api/v1/purchases/"},"_postman_previewlanguage":"Text","header":[],"cookie":[],"responseTime":null,"body":"{\n    \"purchaseId\": \"675c3e1acc720c3a49bb2985\",\n    \"client\": {\n        \"customerId\": \"NA\",\n        \"email\": \"testuser@email.com\",\n        \"phone\": \"9999999999\",\n        \"full_name\": \"test user\",\n        \"street_address\": \"test street\",\n        \"country\": \"GB\",\n        \"city\": \"testcity\",\n        \"zip_code\": \"234567\",\n        \"cc\": [],\n        \"bcc\": [],\n        \"tax_number\": \"34946395822\",\n        \"stateCode\": \"ca\"\n    },\n    \"updated_on\": 1734098458,\n    \"type\": \"purchase\",\n    \"paymentMethod\": \"SPEI-CLABE,SPEI-CARD,SPEI-MOBILE,eNaira,BANKTRANSFER,KoraPayMobileMoney,PIX,MASTER,VISA,THIRDPARTY-NETBANKING,INTERAC,INTERAC-E-TRANSFER,QBPAYFTOPUP,MOBILEWALLET,UZCARD,HUMO,AMEX,KLARNA,JCB,FawryPay,DISCOVER,QBPAY\",\n    \"amountUnit\": \"MAJOR\",\n    \"errorMsg\": \"\",\n    \"redirectType\": \"POST\",\n    \"force_recurring\": false,\n    \"created_on\": 1734098458,\n    \"merchantRef\": \"675c3e1acc720c3a49bb2985\",\n    \"merchantName\": \"merchant002\",\n    \"purchase\": {\n        \"currency\": \"GBP\",\n        \"products\": [\n            {\n                \"name\": \"testproduct\",\n                \"quantity\": 1.0,\n                \"price\": 10.0,\n                \"discount\": 0,\n                \"tax_percent\": \"0.00\"\n            }\n        ],\n        \"total\": 10.0,\n        \"language\": \"en\",\n        \"notes\": \"\",\n        \"debt\": 0,\n        \"total_formatted\": 1.0,\n        \"expireInMin\": \"40\",\n        \"request_client_details\": [],\n        \"timezone\": \"MIT\",\n        \"email_message\": \"\"\n    },\n    \"issuer_details\": {\n        \"website\": \"\",\n        \"legal_street_address\": \"\",\n        \"legal_country\": \"\",\n        \"legal_city\": \"\",\n        \"legal_zip_code\": \"\",\n        \"bank_accounts\": [\n            {}\n        ],\n        \"legal_name\": \"test6\",\n        \"brand_name\": \"test6\",\n        \"registration_number\": \"\",\n        \"tax_number\": \"\"\n    },\n    \"transaction_data\": {\n        \"payment_method\": \"\",\n        \"flow\": \"payform\",\n        \"extra\": {},\n        \"country\": \"\",\n        \"attempts\": []\n    },\n    \"status\": \"CREATED\",\n    \"status_history\": [\n        {\n            \"status\": \"created\",\n            \"timestamp\": 1734098458\n        }\n    ],\n    \"is_test\": false,\n    \"brand_id\": \"c4003b2c-22d4-4dc1-ad0c-c6b54f8c9636\",\n    \"is_recurring_token\": false,\n    \"reference_generated\": \"PS12972\",\n    \"issued\": \"2024-12-13\",\n    \"due\": 1734098458,\n    \"refund_upto\": 0,\n    \"cc_descriptor\": \"\",\n    \"fraudScore\": \"NA\",\n    \"trustScore\": \"NA\",\n    \"paidOn\": 0,\n    \"refund_availability\": \"NONE\",\n    \"refundable_amount\": 0.0,\n    \"success_redirect\": \"https://your.success.redirect.com\",\n    \"failure_redirect\": \"https://your.failure.redirect.com\",\n    \"cancel_redirect\": \"\",\n    \"success_callback\": \"https://your.success.callback.com\",\n    \"failure_callback\": \"https://your.failure.callback.com\",\n    \"platform\": \"API\",\n    \"created_from_ip\": \"49.36.232.165\",\n    \"checkout_url\": \"https://api.example.net/payments/675c3e1acc720c3a49bb2985/\",\n    \"direct_post_url\": \"https://api.example.net/api/v1/p/675c3e1acc720c3a49bb2985/\",\n    \"payoutProcess\": false\n}"}],"_postman_id":"1f67536a-34d5-4183-855e-47024cbcdbdc"}],"id":"342db195-d530-4a12-b29d-a5405f04fd7a","description":"<p>Fundstream Cashier is a unified payment management solution that connects with leading PSP and acquirers, offering merchants one convenient access point to simplify transaction processing and enhance efficiency.</p>\n<p>To start the cashier system, a <strong>payment session</strong> is initiated—a secure, temporary environment generated by our payment gateway. This session encapsulates all transaction details and state information before the cashier loads, overseeing the complete lifecycle of a payment attempt—from initial setup to final completion—ensuring every necessary detail is managed safely and consistently.</p>\n","_postman_id":"342db195-d530-4a12-b29d-a5405f04fd7a","auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]},"isInherited":true,"source":{"_postman_id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","id":"0c8c27a0-0c1b-4c90-a68e-15a831edeb50","name":"Fundstream API Documentation","type":"collection"}}}],"auth":{"type":"bearer","bearer":{"basicConfig":[{"key":"token","value":"{{vault:authorization-secret}}"}]}},"event":[{"listen":"prerequest","script":{"type":"text/javascript","exec":[""],"id":"49e62c8b-5e3c-4646-bbcf-810081a8162c"}},{"listen":"test","script":{"type":"text/javascript","exec":[""],"id":"0d4f6db1-d0c8-4f42-969c-35c973b7cf26"}}],"variable":[{"key":"BaseURL","value":"https://app.thefundstream.org/api/v1"},{"key":"StagingAPIKey","value":""},{"key":"StagingBaseURL","value":"https://app.thefundstream.org/api/v1"}]}